/* Theme base styles */

/* generic */
*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}


/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


.row-fluid .span1,
.row-fluid .span2,
.row-fluid .span3,
.row-fluid .span4,
.row-fluid .span5,
.row-fluid .span6,
.row-fluid .span7,
.row-fluid .span8,
.row-fluid .span9,
.row-fluid .span10,
.row-fluid .span11,
.row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
  .row-fluid .span1 {
    width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span2 {
    width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span3 {
    width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span4 {
    width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span5 {
    width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span6 {
    width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span7 {
    width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span8 {
    width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span9 {
    width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span10 {
    width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span11 {
    width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
  }
  
}

/* Form styles */

form ul {
  list-style: none;
}

form input[type=email].invalid, 
form input[type=tel].invalid, 
form input[type=text].invalid {
  border-color: red;
}

form input[type=email]::placeholder, 
form input[type=tel]::placeholder, 
form input[type=text]::placeholder {
  color: #00000075;
}

form .legal-consent-container .hs-form-booleancheckbox-display input {
  display: none;
}

form .legal-consent-container .hs-form-booleancheckbox-display p {
  display: block;
  margin: 0.25rem 0;
}

form .legal-consent-container .hs-form-booleancheckbox-display input + span {
  position: relative;
}

form .legal-consent-container .hs-form-booleancheckbox-display input + span::before,
form .legal-consent-container .hs-form-booleancheckbox-display input + span::after {
  content: '';
  position: absolute;
  top: -0.125rem;;
  left: -1.42rem;
  width: 0.92rem;
  height: 0.92rem;
  border: 1px solid #425b76;
  border-radius: 6px;
}

form .legal-consent-container .hs-form-booleancheckbox-display input + span::before {
  background-color: #ffffff;
}

form .legal-consent-container .hs-form-booleancheckbox-display input:checked + span::before {
  background-color: #425b76;
}

form .legal-consent-container .hs-form-booleancheckbox-display input:checked + span::after {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml,<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.7319 0.295798C13.639 0.20207 13.5284 0.127675 13.4065 0.0769067C13.2846 0.026138 13.1539 0 13.0219 0C12.8899 0 12.7592 0.026138 12.6373 0.0769067C12.5155 0.127675 12.4049 0.20207 12.3119 0.295798L4.86192 7.7558L1.73192 4.6158C1.6354 4.52256 1.52146 4.44925 1.3966 4.40004C1.27175 4.35084 1.13843 4.32671 1.00424 4.32903C0.870064 4.33135 0.737655 4.36008 0.614576 4.41357C0.491498 4.46706 0.380161 4.54428 0.286922 4.6408C0.193684 4.73732 0.12037 4.85126 0.0711659 4.97612C0.0219619 5.10097 -0.00216855 5.2343 0.000152918 5.36848C0.00247438 5.50266 0.0312022 5.63507 0.0846957 5.75814C0.138189 5.88122 0.215401 5.99256 0.311922 6.0858L4.15192 9.9258C4.24489 10.0195 4.35549 10.0939 4.47735 10.1447C4.59921 10.1955 4.72991 10.2216 4.86192 10.2216C4.99393 10.2216 5.12464 10.1955 5.2465 10.1447C5.36836 10.0939 5.47896 10.0195 5.57192 9.9258L13.7319 1.7658C13.8334 1.67216 13.9144 1.5585 13.9698 1.432C14.0252 1.30551 14.0539 1.1689 14.0539 1.0308C14.0539 0.892697 14.0252 0.756091 13.9698 0.629592C13.9144 0.503092 13.8334 0.389441 13.7319 0.295798Z" fill="#ffffff"/></svg>');
}

form .legal-consent-container .hs-form-booleancheckbox-display>span {
  font-size: 0.67rem;
  color: #0000008f;
  margin-left: 1.42rem;
}

form .legal-consent-container .hs-form-booleancheckbox-display>span a {
  text-decoration: underline;
}

form .legal-consent-container .field.hs-form-field {
  margin-bottom: 0;
}

form .hs_submit.hs-submit input {
  opacity: 1;
  font-size: 1rem;
  margin-top: 0.833rem;
  border: none;
  width: 100%;
  text-align: center;
  cursor: pointer;
  color: #ffffff;
  padding: .833rem 1.33rem;
}

form ul.hs-error-msgs {
  margin-bottom: .625rem;
  text-align: center;
  font-size: 0.70rem;
}

form .hs-error-msgs label {
  color: red;
  font-size: 0.70rem;
}

.hs_error_rollup {
  display: none;
}

form select,
form textarea {
  width: 100%;
}
html {
  font-size: calc(24px * 0.833);  
}

@media (min-width: 768px) {
  html {
    font-size: calc(24px * 0.9);  
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 24px;
  }
}

h1 {
  font-family: Lora, Arial, Helvetica, sans-serif;
  font-size: 2.15rem;
  line-height: 2.3rem;
  font-weight: 400;
}

h2 {
  font-family: Lora, Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 2.15rem;
  line-height: 1;
  letter-spacing: -0.8px;
}

h3 {
  font-family: Lora, Arial, Helvetica, sans-serif;
  font-weight: 400;
}

h4 {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: 400;
}

h5 {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: 400;
}

h6 {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: 400;
}

.custom h2,
.custom h3,
.custom h4 {
  font-family: Poppins, Arial, Helvetica, sans-serif;
}

a {
  color: #000000;
  text-decoration: none;
}

a:hover {
  color: #425b76;
}

p {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 1em;
}

form {
  background-color: #ffffff;
  border-color: #fff;
  border-width: 0px;
  border-style: solid;
} 

form label {
  color: #fff;
}

form input,
form select, 
form textarea {
  border-color: #fff;
}

form .hs_submit.hs-submit input {
  color: #fff;
  background-color: #000000;
}

form .hs_submit.hs-submit input:hover {
  color: #fff;
  opacity:  0.80;
}

button {
  background-color: #1C75BC;
  color: #fff;
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: ;
}

button:hover {
  background-color: #1C75BCc9;
}

@media(min-width: 768px) {
  h1 {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }

  h2 {
    font-size: 1.67rem;
    line-height: 1.67rem;
  }
}

@media(min-width: 1200px) {
  h1 {
    font-size: 3.125rem;
    line-height: 3.125rem;
  }

  h2 {
    font-size: 2.42rem;
    line-height: 2.42rem;
  }
}

/* partials */
.header {
  padding: 0.67rem 0;
  background-color: #ffffff;
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: ;
  position: relative;
  z-index: 1;
}

.header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.2rem;
}

.header .logo {
  flex: 1;
}

.header .logo.logo--center {
  text-align: center;
}

.header .logo img {
  vertical-align: middle;
}

.nav-mobile,
.header .nav,
.header__cta--desktop {
  display: none;
}

.nav-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2rem 5% 1em 5%;
  background-color: #ffffff;
  z-index: 99;
}

.nav-mobile ul.hs-menu-children-wrapper {
  margin-top: 0.83rem;
}

.nav-mobile ul.hs-menu-children-wrapper a {
  color: #425b76;
}

.nav-mobile ul li {
  margin-bottom: 0.83rem;
  list-style: none;
}

.nav-mobile.active {
  display: block;
}

.mobile-nav {
  z-index: 100;
  border-radius: 0.42rem;
  background: white;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .5s ease;
}

.mobile-nav.active {
  background: rgb(56 56 56);
}

.mobile-nav-strip {
  transition: all .5s ease;
}

.strip div {
  height: 0.125rem;
  border-radius: 0.083rem;
  background: rgb(56 56 56);
  margin: 0.42rem 0;
  transition: all .55s cubic-bezier(0.075, 0.82, 0.165, 1);
  width: 1.67rem;
}

.mobile-nav.active .strip div {
  background: white;
}

.mobile-nav.active .mobile-nav-strip-2 div:first-child {
  transform: translateY(13px) rotate(45deg);
}

.mobile-nav.active .mobile-nav-strip-2 div:nth-child(2) {
  opacity: 0;
}

.mobile-nav.active .mobile-nav-strip-2 div:last-child {
  transform: translateY(-10px) rotate(-45deg);
}

@media(min-width: 768px) {
  .header .container {
    gap: 0.5rem;
  }

  .mobile-nav.active .mobile-nav-strip-2 div:last-child {
    transform: translateY(-11px) rotate(-45deg);
  }
}

@media (min-width: 1024px) {
  .header {
    padding: 0.83rem 0;
  }

  .header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  }
  
  .header.fixed .logo img {
    max-height: 2.375rem;
  }

  .header .container {
    gap: 0.7rem;
  }

  .header__cta--mobile {
    display: none;
  }

  .header__cta--desktop {
    display: block;
  }

  .header .nav {
    display: block;
  }

  .header .mobile-nav {
    display: none;
  }

  .header .nav ul {
    display: flex;
    align-items: center;
    list-style: none;
    gap: 0.5rem;
    font-size: 0.75rem;
  }

  .header .nav ul li a {
    transition: all 0.3s ease;
  }

  .header .nav ul li a:hover {
    color: #425b76;
  }

  .header .nav ul .hs-item-has-children {
    position: relative;
    padding: 1em 0;
  }

  .header .nav ul .hs-item-has-children ul {
    display: none;
    position: absolute;
    top: 3em;
    left: -1em;
    background-color: #ffffff;
    padding: 0.25em 1em 0.75em 1em;
    transition: all 0.5s;
    width: calc(125% + 2em);
    max-width: calc(125% + 2em);
  }

  .header .nav ul .hs-item-has-children:hover ul {
    display: block;
  }

  .header .nav ul .hs-item-has-children ul li {
    padding: 0.5em 0;
    border-top: 1px solid #425b76;
    width: 100%;
  }

  .header .nav ul .hs-item-has-children ul li a {
    color: #000000;
    display: block;
    width: 100%;
  }

  .header .nav ul .hs-item-has-children:hover ul li a:hover {
    color: #425b76;
  }
}

@media (min-width: 1320px) {
  .header .container {
    gap: 1.2rem;
  }

  .header .nav ul {
    gap: 1.25rem;
  }
}
.footer {
  color: #ffffff;
  background-color: #000000;
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-weight: ;
  padding: 1.375rem 0 1.25rem 0;
  font-size: 0.75rem;
}

.footer .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.833rem;
}

.footer__links {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.footer__links a {
  color: #ffffff;
  opacity: .5;
  transition: all 0.5s;
}

.footer__links a:hover {
  opacity: 1;
}

.footer__socials {
  display: flex;
  gap: 0.833rem;
  align-items: center;
}

.footer__copy {
  opacity: 0.5;
}

.footer__social-links {
  display: flex;
  gap: 0.625rem;
}

.footer__social-links img {
  max-height: 1rem;
}

@media(min-width: 768px) {
  .footer__links {
    justify-content: center;
    flex-wrap: nowrap;
  }
}

/* modules */
.hero.gradient {
  background: linear-gradient(222deg, #425b76 0%, #ffffffbf 25%, #ffffff 100%);
}

.hero__line {
  background-image: url('data:image/svg+xml,<svg width="2164" height="1973" viewBox="0 0 2164 1973" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke-width="6" d="M2161.58 1272.45L1622.11 1603.19C816.159 2210.31 -193.895 1968.24 36.99 1558.74C267.875 1149.24 891.687 1302.03 915.348 849.788C939.009 397.548 568.158 130.306 1105.66 81.8805L1882.59 3.361" stroke="#1C75BC" /></svg>');
    background-position-x: -15%;
    background-position-y: -7%;
    background-repeat: no-repeat;
    background-size: 300%;
    }

.hero__default {
  margin-top: -1rem;
  margin-bottom: -3rem;
}

.hero__default svg {
  max-width: 100%;
}

.hero__default svg path.browser {
  fill: #425b76;
}

.hero__default svg path.light {
  fill: #1C75BC;
}

.hero__default svg path.eye {
  fill: #000000;
}

.hero__img {
  padding: 1.9167rem 0 1px 0;
}

.hero .img-main {
  max-height: 14.3rem;
  border-radius: 0.83rem;
  border: 4px solid #1C75BC;
  margin: 0 auto 1.25rem auto;
  display: block;
}

.hero__info {
  text-align: center;
}

.hero .infos {
  margin-top: 1.85rem;
  letter-spacing: -0.8px;
}

.hero .infos.infos--top {
  margin-bottom: 2rem;
}

.hero .infos.infos--bottom {
  display: none;
}

.hero .infos .info {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-bottom: 1.5rem;
}

.hero .infos .info svg {
  width: 35px;
  height: auto;
  margin: 5px 12px 0 0;
}

.hero .infos .info svg path {
  fill: #000000
}

.hero .infos .info p {
  text-align: left;
}

.hero__btn-top {
  text-align: center;
  margin-bottom: 3.625rem;
}

.btn--bottom {
  display: none;
}

.hero__form {
  padding: 2.5rem 0 4.5rem 0;
}

.hero__form h2 {
  margin-bottom: 0.92rem;
}

.hero__form .text {
  font-size: 1.083rem;
  line-height: 1.25rem;
  letter-spacing: -0.8px;
  margin-bottom: 1.67rem;
}

.hero__form .text p {
  font-size: 1.3rem;
  line-height: 1.8rem;
  margin-bottom: 1.8rem;
}

.hero__form .text p:first-child {
  color: #425b76;
}

.hero__form .text p:last-child {
  margin-bottom: 0;
}

.hero__form .form {
  border-radius: 0.83rem;
  background: #1C75BC;
  padding: 1.46rem 1.1rem 1.67rem 1.1rem;
  position: relative;
}

.hero__form .form form {
  background-color: transparent;
}

.hero__form .form input[type=submit]:hover {
  border: 0;
  color: #fff;
}

.hero__form .form .hs-form-field {
  margin-bottom: 0.7083rem;
}

.hero__form .form select,
.hero__form .form textarea,
.hero__form .form input {
  font-size: 0.75rem;
  padding: 0.833rem 1.33rem;
  border-radius: 2.08rem;
  color: #000000;
  border: 2px solid #1C75BC;
  background-color: #ffffff75;
  width: 100%;
  transition: all 0.3s ease;
}

.hero__form .form select {
  padding: 0.7rem 1.33rem;
}

.hero__form .form select:hover,
.hero__form .form select:focus,
.hero__form .form textarea:hover,
.hero__form .form textarea:focus,
.hero__form .form input:hover, 
.hero__form .form input:focus {
  opacity: 1;
  color: #000000;
  border: 2px solid #425b76;
  background-color: #ffffff;
  cursor: pointer;
  outline: none;
}

.hero__form .form .hs-error-msgs {
  margin-top: .625rem;
}

.target {
  display: none;
}

@media(min-width: 480px) {
  .hero .infos {
    display: flex;
    align-items: flex-start;
    gap: 3.125rem;
    margin-top: 3.75rem;
    line-height: 1.33;
    flex-direction: row;
    justify-content: center;
  }

  .hero .infos.infos--bottom {
    display: flex;
  }

  .hero .infos.infos--top {
    display: none;
  }

  .hero .infos .info {
    margin-bottom: 0;
    flex-direction: column;
    align-items: center;
  }

  .hero .infos .info svg {
    margin: 0;
  }

  .hero .infos .info p {
    margin-top: 1rem;
    text-align: center;
  }

  .hero__btn-top {
    display: none;
  }

  .btn--bottom {
    display: inline-block;
  }
}

@media (min-width: 768px) {
  .hero.gradient {
    background: radial-gradient(at top right, #425b76 0%, #ffffff 38%);
  }

  .hero__line {
    background-position-x: 30%;
    background-position-y: 0;
    background-size: initial;
  }

  .target {
    display: block;
    position: absolute;
    left: -3rem;
    top: 28%;
    max-width: 4.92rem;
    z-index: 0;
  }

  .target path {
    fill: #1C75BC;
  }

  .hero .infos .info {
    flex-direction: row;
    align-items: flex-start;
  }

  .hero .infos .info svg {
    margin: 5px 12px 0 0;
  }

  .hero .infos .info p {
    margin-top: 0;
    text-align: left;
  }

  .hero__form .text p {
    font-size: 1.46rem;
    line-height: 1.875rem;
  }
}

@media(min-width: 965px) {
  .hero {
    padding-top: 2.7rem;
  }

  .hero__img {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .hero__default {
    margin-top: initial;
    margin-bottom: initial;
  }

  .hero__default svg {
    max-width: 500px;
  }

  .hero .img-main {
    border: 4px solid #1C75BC;
  }

  .hero .infos {
    margin-top: 0;
    justify-content: initial;
  }

  .hero__info {
    text-align: initial;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.83rem;
  }

  .hero__info .info {
    max-width: 11.875rem;
  }

  .hero__info .info:before {
    left: 0;
    top: 0;
    transform: none;
  }

  .hero__form {
    display: flex;
    justify-content: space-between;
    padding: 6rem 0;
    font-size: 1.4583rem;
  }

  .hero__form .form {
    width: 43%;
    padding: 1.46rem 2.125rem 1.67rem;
  }

  .hero__form .text {
    width: 53%;
    position: relative;
    top: 0.83rem;
    margin-bottom: 0;
    font-size: 1.458rem;
    line-height: 1.875rem;
  }
}

@media(min-width: 1200px) {
  .hero__info {
    flex-wrap: nowrap;
  }

  .hero__img {
    gap: 4.167rem;
  }

  .hero .img-main {
    width: 42%;
    position: relative;
    left: -2.92rem;
    margin: 0;
  }

  .hero .img-main.rotate {
    transform: rotate(-4deg);
  }

  .hero__line {
    background-position-x: calc(50% + 600px);
    background-position-y: -10%;
  }
}

@media (min-width: 1440px) {
  .hero__default svg {
    max-width: initial;
  }
}
.reviews-block.reviews--gradient {
  background: linear-gradient(360deg, #1C75BC 50%, transparent 70%);
}

.reviews {
  margin: 0 auto 5.42rem auto;
}

.reviews__title {
  margin-bottom: 2.33rem;
}

.review {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  padding-bottom: 1.33rem;
}

.review__img {
  text-align: center;
  margin-bottom: 0.8rem;
}

.review__img img {
  border-radius: 50%;
}

.review__img svg path {
  fill: #425b76;
}

.review__txt {
  margin: 0 auto 1.46rem auto;
  position: relative;
  max-width: 1000px;
}

.review__txt::after {
  content: '';
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 1px;
  background-color: #425b76;
}

.review__name {
  color: #425b76;
  font-size: 1rem;
  line-height: 1.33;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/*slider styles*/
.reviews--slider{
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
}

.sliderWrap .review {
  width: 100%;
  height: auto;
  position: absolute;
  transition: all 1s;
}

.icon-arrow {
  position: absolute;
  top: 50%;
  cursor: pointer;
}

.icon-arrow svg {
  width:100%;
  fill: #00000026;
  transition: all 0.5s;
}

.icon-arrow:hover svg {
  fill: #1C75BC;
}

.icon-arrow--prev {left: 0;}
.icon-arrow--next {right: 0;}

/*form styles*/
.large-form {
  position: relative;
  padding-bottom: 2rem;
}

.large-form__content {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
  padding: 1.4rem;
}

.large-form__content.container {
  width: 100%;
}

.large-form__bckg {
  position: absolute;
  bottom: 0;
  background-color: #000000;
  height: 8rem;
  width: 100%;
  z-index: 0;
}

.large-form__txt {
  margin-bottom: 1rem;
}

.large-form__txt h2 {
  line-height: 2.625rem;
}

.large-form__txt p {
  margin-top: 2.1rem;
  font-size: 1.46rem;
}

.large-form form select,
.large-form form textarea,
.large-form form input[type="text"],
.large-form form input[type="email"],
.large-form form input[type="tel"] {
  margin-bottom: 0.625rem;
  padding: 0.83rem 1.25rem;
  font-weight: 500;
  border: 1px solid #0000004a;
  border-radius: 2.08rem;
  width: 100%;
  font-size: 0.75rem;
  color: #000000;
  outline: none;
  max-height: 2.6rem;
}

.large-form form textarea:placeholder,
.large-form form input[type="text"]:placeholder,
.large-form form input[type="email"]:placeholder,
.large-form form input[type="tel"]:placeholder {
  font-weight: 5400;
}

.large-form form select,
.large-form form textarea {
  max-height: initial;
}

.large-form form select {
  padding: .7rem 1.25rem;
}

.large-form form input[type="text"]:active,
.large-form form input[type="text"]:focus,
.large-form form input[type="email"]:active,
.large-form form input[type="email"]:focus,
.large-form form input[type="tel"]:active,
.large-form form input[type="tel"]:focus {
  border-color: #425b76;
  border-width: 2px;
  background-color: #0000000a;
}

.large-form form input[type="submit"] {
  background-color: #425b76;
}

.large-form form input[type="submit"]:hover {
  background-color: #425b76cc;
}

@media (min-width: 768px) {
  .large-form__content.container {
    width: 90%;
  }
}

@media (min-width: 1200px) {
  .large-form__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.8rem 3.2rem;
  }

  .large-form__txt {
    margin-bottom: 0;
  }

  .large-form__txt h2 {
    max-width: 24rem;
  }

  .large-form form {
    max-width: 17rem;
    width: 17rem;
  }
}
.line {
  background-color: #425b76;
  font-size: 1.46rem;
  color: #ffffff;
  padding: 0.833rem;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
}

.line.anim p {
  animation: line 15s linear infinite;
  flex-shrink: 0;
}
.topics {
  background-color: #1C75BC;
  position: relative;
  overflow-x: hidden;
}

.topics--gradient {
  background-color: #ffffff;
  background: linear-gradient(180deg, #1C75BC 40%, #ffffff 60%);
}

.topics__line {
  position: relative;
  z-index: 1;

}

.topics__line svg.topics__line-svg {
  position: absolute;
  z-index: -1;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
}

.topics__line svg.topics__line-svg path {
  stroke: #425b76;
}

.topics .container {
  padding-top: 1.667em;
  padding-bottom: 4.5rem;
}

.topics__title {
  margin-bottom: 2.29rem;
  color: #000000;
}

.cards {
  margin-bottom: 3.125rem;
}

.cards .card {
  background-color: #ffffff;
  border-radius: 0.833rem;
  padding: 1.25rem 1.46rem;
  margin-bottom: 0.833rem;
  color: #000000;
}

.cards .card img {
  margin-bottom: 0.4167rem;
  max-width: 2.625rem;
}

.cards .card .text {
  padding-top: 0.4167rem;
  border-top: 1px solid #425b76;
  line-height: 1.25;
}

.cards .card .text ul li {
  margin-left: 0.9rem;
}

/* gift styles */
.gift {
  background-color: #000000;
  color: #ffffff;
  padding: 1.25rem 2.7rem 1.875rem 2.7rem;
  border-radius: 0.833rem;
  margin: 0 auto;
  margin-bottom: 6rem;
  letter-spacing: -0.8px;
}

.gift__label {
  position: absolute;
  display: inline-block;
  right: 0;
  bottom: initial;
  font-size: 2.20rem;
  font-family: Lora, Arial, Helvetica, sans-serif;
}

.gift__label svg path {
  fill: #425b76;
}

.gift__label p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* speaker styles */
.speakers__title {
  margin-bottom: 1.5rem;
}

.speakers__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.speaker {
  width: 11.75rem;
}

.speaker__grad {
  background: radial-gradient(at top right, #425b7680 0, transparent 45%);
  height: 100%;
  width: 100%;
}

.speaker__img {
  margin-bottom: 0.71rem;
  width: 11.75rem;
  height: 10.46rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.speaker__name {
  color: #425b76;
  margin-bottom: 0.21rem;
}

.speaker__description {
  color: #000000;
  font-size: 0.75rem;
  line-height: 1rem;
}


@media(min-width: 768px) {
  .topics .container {
    padding-top: 4.1em;
    padding-bottom: 5.42rem;
  }

  .cards {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .cards .card {
    width: calc((100% / 3) - ((2 / 3) * 1rem));
    margin-bottom: 0;
  }

  .gift {
    transform: rotate(-4deg);
    width: 57%;
    position: relative;
    left: -1.667rem;
    font-size: 1.458rem; 
    line-height: 1.875rem;
  }

  .gift__label {
    right: -4.167rem;
    bottom: -1.25rem;
  }

  .speakers__wrap {
    flex-direction: row;
    align-items: flex-start;
  }
}
.upcoming__title {
  text-align: center;
  margin-bottom: 1.5rem;
}

.upcoming__wrap {
  margin-bottom: 80px;
}

.upcoming__item {
  margin-bottom: 2rem;
}

.upcoming__img {
  height: 250px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: .83rem;
}

.upcoming__card-grad {
  background: radial-gradient(at top right, #425b7680 0, transparent 45%);
  width: 100%;
  height: 100%;
  border-radius: .83rem;
}

.upcoming__date {
  font-size: 0.75rem;
  line-height: 1rem;
  margin: 1.33rem 0 0.7rem 0; 
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.upcoming__date svg path {
  fill: #000000;
}

.upcoming__name {
  font-size: 1rem;
  line-height: 1.33rem;
  font-weight: 500;
  margin-bottom: 1.4rem;
}

.upcoming__name a {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  color: #425b76;
}

.upcoming__link {
  font-size: 0.75rem;
  line-height: 1;
  border: 1px solid #000000;
  padding: 0.5rem 1.25rem;
  border-radius: 1.3rem;
  transition: all 0.5s;
}

.upcoming__link:hover {
  color: #425b76;
  border-color: #425b76;
}

@media (min-width: 480px) {
  .upcoming__img {
    height: 300px;
  }
}

@media (min-width: 768px) {
  .upcoming__wrap {
    display: flex;
    justify-content: center;
    gap: 2.75%;
  }

  .upcoming__wrap {
    margin-bottom: 146px;
  }

  .upcoming__item {
    max-width: 31.5%;
    margin-bottom: 0;
  }

  .upcoming__img {
    height: 200px;
  }
}

@media (min-width: 1024px) {
  .upcoming__img {
    height: 250px;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  font-size: 1rem;
  color: #000000;
  background-color: #ffffff;
  overflow-x: hidden;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.title-center {
  text-align: center;
}

img {
  max-width: 100%;
} 

.btn {
  border-radius: 1.56rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 0;
}

.btn--main {
  font-size: 1.2rem;
  padding: 0.75rem 1.7rem;
  white-space: nowrap;
}

.btn--main:hover {
  background-color: #425b76c9;
}

.btn--outline {
  color: #000000;
  border: 1px solid #000000;
  padding: 0.625rem 1.125rem;
  font-size: 0.75rem;
}

.btn--outline:hover {
  color: #425b76;
  border: 1px solid #425b76;
}

@media(min-width: 768px) {
  .btn--main {
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
    padding: 0.625rem 1.375rem;
  }
}

@media(min-width: 965px) {
  .container--thin {
    max-width: calc(1200px * 0.85);
  } 
}

/*richtext minor fixes*/
.hs_cos_wrapper_type_rich_text h3,
.hs_cos_wrapper_type_rich_text ul,
.hs_cos_wrapper_type_rich_text li,
.hs_cos_wrapper_type_rich_text p {
  margin-bottom: 0.5rem
}

.hs_cos_wrapper_type_rich_text h1,
.hs_cos_wrapper_type_rich_text h2 {
  margin-bottom: 1rem
}

.hs_cos_wrapper_type_rich_text li {
  margin-left: 24px;
}