/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro.eot');
  src: url('../fonts/CeraPro.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro.woff2') format('woff2'),
      url('../fonts/CeraPro.woff') format('woff'),
      url('../fonts/CeraPro.ttf') format('truetype'),
      url('../fonts/CeraPro.svg#CeraPro') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro-Italic.eot');
  src: url('../fonts/CeraPro-Italic.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro-Italic.woff2') format('woff2'),
      url('../fonts/CeraPro-Italic.woff') format('woff'),
      url('../fonts/CeraPro-Italic.ttf') format('truetype'),
      url('../fonts/CeraPro-Italic.svg#CeraPro-Italic') format('svg');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro-Medium.eot');
  src: url('../fonts/CeraPro-Medium.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro-Medium.woff2') format('woff2'),
      url('../fonts/CeraPro-Medium.woff') format('woff'),
      url('../fonts/CeraPro-Medium.ttf') format('truetype'),
      url('../fonts/CeraPro-Medium.svg#CeraPro-Medium') format('svg');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro-MediumItalic.eot');
  src: url('../fonts/CeraPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro-MediumItalic.woff2') format('woff2'),
      url('../fonts/CeraPro-MediumItalic.woff') format('woff'),
      url('../fonts/CeraPro-MediumItalic.ttf') format('truetype'),
      url('../fonts/CeraPro-MediumItalic.svg#CeraPro-MediumItalic') format('svg');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro-Bold.eot');
  src: url('../fonts/CeraPro-Bold.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro-Bold.woff2') format('woff2'),
      url('../fonts/CeraPro-Bold.woff') format('woff'),
      url('../fonts/CeraPro-Bold.ttf') format('truetype'),
      url('../fonts/CeraPro-Bold.svg#CeraPro-Bold') format('svg');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cera Pro';
  src: url('../fonts/CeraPro-BoldItalic.eot');
  src: url('../fonts/CeraPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
      url('../fonts/CeraPro-BoldItalic.woff2') format('woff2'),
      url('../fonts/CeraPro-BoldItalic.woff') format('woff'),
      url('../fonts/CeraPro-BoldItalic.ttf') format('truetype'),
      url('../fonts/CeraPro-BoldItalic.svg#CeraPro-BoldItalic') format('svg');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

*, *:before, *:after { box-sizing: border-box; }
html, body { font-family: 'Cera Pro', sans-serif; color: #002639; }
img { max-width: 100%; height: auto; }
.container { max-width: 1130px; padding: 0 15px; margin: 0 auto; }
.phone-num { font-variant-numeric: lining-nums; -moz-font-feature-settings:"lnum" 1;  -moz-font-feature-settings:"lnum=1";  -ms-font-feature-settings:"lnum" 1;  -o-font-feature-settings:"lnum" 1;  -webkit-font-feature-settings:"lnum" 1;  font-feature-settings:"lnum" 1; }

.section-padding { padding: 80px 0; }

.cta-btn { color: #fff; height: 60px; width: 230px; display: inline-flex; align-items: center; justify-content: center; background: #ef4650; border-radius: 5px; font-size: 24px; cursor: pointer; transition: ease all .3s; text-decoration: none; font-weight: bold; }
.cta-btn:hover { background-color: #fa6c74; }

.main-form { margin: 0 auto; max-width: 550px; }
.main-form .main-form__row { display: flex; flex-wrap: wrap; justify-content: flex-end; margin-right: -10px; }
.main-form .main-form__col { flex: 1; padding-right: 10px; margin-bottom: 10px; text-align: left; }
.main-form .main-form__submit-col { width: 230px; flex: none; }
.main-form input, .main-form select, .main-form button.next { width: 100%; height: 60px; border: 0; border-radius: 5px; }
.main-form input:not([type="submit"]), .main-form select { font-size: 18px; color: #002639; outline: 0; padding: 0 15px; border: 1px solid transparent; box-shadow: 0px 2px 16.02px 1.98px rgba(0, 0, 0, 0.06); }
.main-form select { -webkit-appearance: none; background: #fff url('../images/select-arrow.svg') center right 15px no-repeat; padding-right: 30px; }
.main-form input:not([type="submit"]):focus { border-color: #002639; }
.main-form input:not([type="submit"])::placeholder { color: #727272; font-size: 14px; }
.main-form input[type="submit"], .main-form button.next { background: #ef4650; color: #fff; font-size: 24px; font-weight: bold; transition: ease all .3s; cursor: pointer; }
.main-form input[type="submit"]:hover, .main-form button.next:hover { background: #fa6c74; }
.main-form label { font-size: 14px; font-weight: bold; margin-bottom: 10px; display: block; }
.main-form label.error { color: #c12932; font-size: 14px; margin-top: 5px; font-weight: normal; }
.main-form .main-form__step:not(:first-child) { display: none; padding: 10px 20px; background: rgba(0,38,57,.8); color: #fff; }

@media (max-width: 990px) {

    .section-padding { padding: 50px 0; }

    .main-form .main-form__submit-col { width: 100px; }
    .main-form input, .main-form button.next, .main-form select { height: 40px; }
    .main-form input[type="text"], .main-form select { font-size: 14px; }
    .main-form input[type="submit"], .main-form button.next { font-size: 14px; }

}

@media (max-width: 768px) {

    .section-padding { padding: 40px 0; }
    #knowledge .knowledge__content { padding-left: 15px; }

}

#page { overflow: hidden; }

#main-header { padding: 25px 0; background-color: #fff; box-shadow: 0px 0px 15px 0px rgba(192, 192, 192, 0.36); }
#main-header .main-header__row { display: flex; align-items: center; justify-content: space-between; }
#site-branding { margin: 0; line-height: 1; }
#main-header .main-header__right { text-align: right; }
#main-header .main-header__right p { margin: 0; font-size: 21px; line-height: 1; }
#main-header .main-header__right p a { font-weight: bold; font-size: 34px; color: #ef4650; text-decoration: none; }
#main-header .main-header__right p small { font-size: 16px; }

@media (max-width: 990px) {
  #site-branding img { width: 175px; height: auto; }
  #main-header .main-header__right p { font-size: 14px; }
  #main-header .main-header__right p a { font-size: 18px; }
}

@media (max-width: 768px) {
  #main-header .main-header__row { flex-direction: column; }
  #main-header .main-header__right { text-align: center; margin-top: 15px; }
}

#hero-section { background: #f4f9fc; position: relative; overflow: hidden; padding: 50px 0; }
#hero-section .hero-section__img { width: 50%; padding-left: 45px; position: absolute; right: 0; top: 0; height: 100%; }
#hero-section .hero-section__img .mp { display: none; }
#hero-section .hero-section__img img { width: 100%; }
#hero-section .hero-section__content { display: flex; align-items: center; padding: 100px 0 60px; position: relative; }
#hero-section .hero-section__content > * { width: 100%; }
#hero-section .hero-section__text { max-width: 50%; }
#hero-section h2 { font-size: 58px; line-height: 1; margin: 0 0 20px; }
#hero-section p { font-size: 20px; }
#hero-section .main-form p { font-size: 14px; }
#hero-section .main-form p a { font-size: 14px; color: #fff; text-decoration: underline; }
#hero-section a { font-size: 24px; color: #002639; font-weight: bold; text-decoration: none; }
#hero-section .hero-section__partners { margin-top: 80px; }
#hero-section .hero-section__partner-images img { margin-right: 20px; }

@media (max-width: 1920px) {
  #hero-section .hero-section__img img { height: 100%; width: auto; max-width: none; width: 100%; height: auto; }
}

@media (max-width: 1175px) {
  #hero-section h2 { font-size: 32px; }
  #hero-section p, #hero-section a { font-size: 16px; }
  #hero-section .hero-section__content { padding: 50px 0; }
  #hero-section .hero-section__partners { margin-top: 20px; max-width: 50%; }
  #hero-section .hero-section__partner-images img { max-width: 80px; margin-right: 10px; }
}

@media (max-width: 768px) {
  #hero-section { display: flex; flex-direction: column-reverse; }
  #hero-section .hero-section__img { position: static; right: auto; top: auto; height: auto; width: 100%; padding: 0 30px; }
  #hero-section .hero-section__img > img { display: none; }
  #hero-section .hero-section__img .mp { display: block; }
  #hero-section .hero-section__img img { width: 100%; height: auto; }
  #hero-section .hero-section__content { text-align: center; padding: 40px 0; }
  #hero-section .hero-section__text { max-width: none; }
  #hero-section .hero-section__partners { max-width: none; }
  #hero-section a { display: block; }
}

#services { background: #fff; }
#services .services__title { text-align: center; }
#services .services__title h2 { font-size: 34px; margin-top: 0; margin-bottom: 20px; }
#services .services__title p { font-size: 20px; }
#services .services__items { display: flex; flex-wrap: wrap; margin-top: 40px; }
#services .services__item { flex: 1; text-align: center; padding: 0 30px; width: 100%; max-width: 33.33333%; }
#services .services__item h3 { font-size: 24px; margin-bottom: 0; }
#services .services__item p { font-size: 16px; }

@media (max-width: 990px) {

    #services .services__title h2 { font-size: 26px; }
    #services .services__title p { font-size: 16px; }
    #services .services__title p br { display: none; }
    #services .services__item { padding: 0 15px; }
    #services .services__item h3 { font-size: 16px; }

}

@media (max-width: 768px) {

  #services .services__items { flex-direction: column; align-items: center; }
  #services .services__item { max-width: 320px; }
  #services .services__item img { max-width: 80%; }

}

#knowledge { background: url('../images/knowledge-bg.jpg') center no-repeat; background-size: cover; }
#knowledge .knowledge__row { display: flex; flex-wrap: wrap; align-items: center; }
#knowledge .knowledge__col { flex: 1; }
#knowledge .knowledge__info { padding-right: 100px; }
#knowledge .knowledge__info p { margin-bottom: 35px; font-size: 18px; }
#knowledge h2 { font-size: 44px; color: #fff; margin-top: 0; }
#knowledge p { color: #fff; }
#knowledge .knowledge__item { display: flex; flex-wrap: wrap; }
#knowledge .knowledge__item:not(:last-child) { margin-bottom: 25px; }
#knowledge .knowledge__icon { width: 90px; height: 90px; border-radius: 20px; background: #fff; display: flex; align-items: center; justify-content: center; }
#knowledge .knowledge__icon svg { fill: #0099ff; }
#knowledge .knowledge__content { flex: 1; padding-left: 30px; }
#knowledge .knowledge__content h3 { color: #fff; margin-top: 0; margin-bottom: 5px; font-size: 22px; }
#knowledge .knowledge__content p { font-size: 16px; margin: 0; }

@media (max-width: 990px) {

    #knowledge h2 { font-size: 36px; }

}

@media (max-width: 768px) {

    #knowledge { background: #0c233d; padding-bottom: 0; }
    #knowledge .knowledge__info { padding-right: 0; margin-bottom: 50px; text-align: center; }
    #knowledge .knowledge__row { flex-direction: column; }
    #knowledge .knowledge__items { background: url('../images/knowledge-bg-mobile.jpg') top right no-repeat; background-size: cover; margin-left: -15px; margin-right: -15px; padding: 80px 15px 30px; }
    #knowledge .knowledge__content { padding-left: 15px; }

}

#testimonials h2 { font-size: 44px; text-align: center; margin-top: 0; }
#testimonials-slider { position: relative; }
#testimonials-slider .testimonial-item { text-align: center; }
#testimonials-slider .testimonial-item h3 { font-size: 22px; margin-bottom: 5px; }
#testimonials-slider .testimonial-item p { font-size: 20px; }
#testimonials-slider .testimonial-item img { width: auto; display: inline-block; }
#testimonials-slider .owl-nav { display: flex; justify-content: space-between; position: absolute; top: calc(50% - 30px); width: 100%; pointer-events: none; }
#testimonials-slider .owl-nav button { width: 36px; height: 60px; text-indent: -99999px; display: block; background: url('../images/testimonials-arrow.svg') center no-repeat; position: relative; margin-left: -70px; margin-right: -70px; outline: none; pointer-events: initial; }
#testimonials-slider .owl-nav button.owl-next { -webkit-transform: scaleX(-1); transform: scaleX(-1); }

@media (max-width: 768px) {

    #testimonials h2 svg { width: 30px; }
    #testimonials h2 { font-size: 24px; }
    #testimonials-slider .testimonial-item p { font-size: 14px; }

}

#footer-divider { padding: 165px 0; background: url('../images/footer-divider-bg.jpg') center no-repeat; background-size: cover; color: #fff; font-size: 18px; }
#footer-divider .footer-divider__content { width: 50%; }
#footer-divider .footer-divider__content p { font-size: 20px; }
#footer-divider h2 { font-size: 58px; line-height: 1.2; margin: 0 0 15px; }
#footer-divider .footer-divider__call { margin-top: 40px; }
#footer-divider .footer-divider__call a { font-weight: bold; font-size: 34px; color: #fff; text-decoration: none; }
#footer-divider .main-form p { font-size: 14px; }
#footer-divider .main-form p a { color: #fff; text-decoration: underline; }

@media (max-width: 990px) {

    #footer-divider { padding: 60px 0; }
    #footer-divider h2 { font-size: 32px; }
    #footer-divider .footer-divider__call a { font-size: 18px; }

}

@media (max-width: 768px) {

    #footer-divider { background-position: right -140px center; }

}

@media (max-width: 560px) {
  
    #footer-divider { position: relative; z-index: 1; padding: 40px 0; text-align: center; }
    #footer-divider h2 { font-size: 24px; padding: 0 50px; }
    #footer-divider:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(39,37,57,.7); content: ''; display: block; z-index: -1; }
    #footer-divider .footer-divider__content { width: 100%; }

}

#footer-top { padding: 50px 0; background: #fff; text-align: center; }
#footer-top .footer-top__menu { list-style: none; display: flex; align-items: center; justify-content: center; padding: 0; margin: 25px 0; }
#footer-top .footer-top__menu li { margin: 0 10px; font-size: 18px; }
#footer-top .footer-top__menu li a { color: #002639; text-decoration: none; }
#footer-top p { font-size: 16px; margin: 0; }

#footer-disclaimer { padding: 60px 0; background: #f4f9fc; text-align: center; font-size: 12px; }

@media (max-width: 768px) {

  #footer-top { padding: 30px 0; }
  #footer-disclaimer { padding: 40px 0; }

}

#partners-list {  }
#partners-list ul { margin: 0; padding: 0; list-style: none; }
#partners-list ul li { line-height: 1.2; border-bottom: 1px solid #000; padding: 5px 0; }

/* Inner Page */
#inner-page { padding: 50px 0; background: #f4f9fc; }
#inner-page p { font-size: 18px; }