/**
 * CSS Lock
 * @param  float     $min-size:  1            Lowest value for the lock
 * @param  float     $max-size:  1.4          Highest value for the lock
 * @param  integer   $min-width: 20           Smallest width for lock
 * @param  integer   $max-width: 100          Largest width for lock
 * @param  string    $property:  font-size    Property to apply the lock on
 * @param  string    $unit:      px           Unit of the property to apply
 */
/**
 * Fonts
 **/
@font-face {
  font-family: 'Outfit';
  src: url("../fonts/Outfit-Light.eot");
  src: url("../fonts/Outfit-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Outfit-Light.woff2") format("woff2"), url("../fonts/Outfit-Light.woff") format("woff"), url("../fonts/Outfit-Light.ttf") format("truetype"), url("../fonts/Outfit-Light.svg#Outfit-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

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

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

/**
 * Colours
 **/
/**
 * Font
 **/
/**
 * CSS
 **/
/**
 * LAYOUT
 **/
/**
 * Breakpoints
 **/
*, *::before, *::after { box-sizing: border-box; }

:root {
  --blue: #2E4AFE;
  --white: #ffffff;
  --black: #000000;
  --light-bg: #F4F6FF;
  --border: #E2E8FD;
}



h1, h2, h3, h4, h5, h6 {
  color: #000;
  font-family: "P22 Mackinac", serif;
  font-weight: 400;
}

ul, ol, li {
  font-family: "Outfit", verdana, Arial, courier;
  font-weight: normal;
}

p {
  color: #000;
  font-family: "Outfit", verdana, Arial, courier;
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.75;
  margin-bottom: 1rem;
  margin-top: 0;
}

a {
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  text-decoration: none;
}

a:hover {
  /*color: rgba(255, 255, 255, 0.7);*/
  -webkit-transition: linear 250ms;
  transition: linear 250ms;
}

/**
 * Font sizes
 **/
h1,
h2 {
  margin: .5em 0;
  line-height: 1.25;
}

h3,
h4 {
  margin: .5em 0 .25em;
  line-height: 1.5;
}

h1 {
  font-size: calc(34px + (64 - 34) * ((100vw - 320px) / (1920 - 320)));
}

@media (max-width: 320px) {
  h1 {
    font-size: 34px;
  }
}

@media (min-width: 1920px) {
  h1 {
    font-size: 64px;
  }
}

h2 {
  font-size: calc(30px + (40 - 36) * ((100vw - 320px) / (1920 - 320)));
}

@media (max-width: 320px) {
  h2 {
    font-size: 30px;
  }
}

@media (min-width: 1920px) {
  h2 {
    font-size: 40px;
  }
}

h3 {
  font-size: calc(20px + (28 - 20) * ((100vw - 320px) / (1920 - 320)));
}

@media (max-width: 320px) {
  h3 {
    font-size: 20px;
  }
}

@media (min-width: 1920px) {
  h3 {
    font-size: 28px;
  }
}

h4 {
  font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1920 - 320)));
}

@media (max-width: 320px) {
  h4 {
    font-size: 18px;
  }
}

@media (min-width: 1920px) {
  h4 {
    font-size: 20px;
  }
}

body {
  margin: 0;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 768px) {
  .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 768px) {
  .row__container {
    padding: 1rem !important;
  }
}

.row img {
  display: block;
  width: 100%;
  height: auto;
}

.row-blue {
  background: #2E4AFE;
}

.row-blue * {
  color: #ffffff;
}

.wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.col-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.col-12 .container {
  padding: 3rem 1.25rem;
}

@media (min-width: 960px) {
  .col-12 .container {
    padding: 3rem .5rem;
  }
}

.col-12 .container h1 {
  color: #ffffff;
}

.col-11 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
}

.col-10 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
}

.col-9 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
}

.col-8 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
}

.col-7 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
}

.col-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

.col-5 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
}

.col-4 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
}

.col-3 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
}

.col-2 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
}

.col-1 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
}

.col-auto {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.align-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.align-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.align-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.align-space-evenly {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
}

.align-space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.align-space-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.valign-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.valign-top {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.valign-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.valign-bottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.padding {
  padding: 1rem;
}

@media (min-width: 768px) {
  .padding {
    padding: 3rem;
  }
}

@media (min-width: 960px) {
  .padding {
    padding: 5rem;
  }
}

.padding-extra {
  margin-top: 4rem;
}

@media (min-width: 960px) {
  .padding-extra {
    margin-top: 5rem;
  }
}

.extra-top-padding {
  margin-top: 1rem !important;
}

.col-bg {
  background: #2E4AFE;
}

.col-bg * {
  color: #ffffff;
}

button {
  cursor: pointer;
  background: #2E4AFE;
  border: 2px solid #ffffff;
  border-radius: 25px;
  color: #ffffff;
  font-family: "Outfit", verdana, Arial, courier;
  font-size: 1.125rem;
  padding: .75rem 1.5rem;
  -webkit-transition: background 150ms linear;
  transition: background 150ms linear;
}

button:hover {
  background: #ffffff;
  border: 2px solid #ffffff;
  color: blue;
}

button.filled {
  background: #ffffff;
  color: #2E4AFE;
}

button.filled:hover {
  background: #2E4AFE;
  color: #ffffff;
}

form {
  margin: 0 auto;
}

form input,
form textarea,
form select,
form option {
  background: transparent;
  border: none;
  border-bottom: 1px solid #2E4AFE;
  color: #000;
  font-family: "Outfit", verdana, Arial, courier;
  font-weight: 300;
  font-size: 1.125rem !important;
  outline: 0;
  padding: 1rem 0 0.75rem !important;
}

form input::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder,
form select::-webkit-input-placeholder,
form option::-webkit-input-placeholder {
  color: #000;
}

form input:-ms-input-placeholder,
form textarea:-ms-input-placeholder,
form select:-ms-input-placeholder,
form option:-ms-input-placeholder {
  color: #000;
}

form input::-ms-input-placeholder,
form textarea::-ms-input-placeholder,
form select::-ms-input-placeholder,
form option::-ms-input-placeholder {
  color: #000;
}

form input::placeholder,
form textarea::placeholder,
form select::placeholder,
form option::placeholder {
  color: #000;
}

form textarea {
  height: 200px !important;
}

form input[type=submit] {
  background: #2E4AFE;
  border: none;
  border-radius: 50px;
  color: #ffffff;
  cursor: pointer;
  font-size: 1rem;
  font-family: "Outfit", verdana, Arial, courier;
  padding: 0.75rem 2.5rem !important;
  text-transform: uppercase;
  margin: 0 auto;
  -webkit-transition: background 150ms linear;
  transition: background 150ms linear;
}

form input[type=submit]:hover {
  background: #2E4AFE;
}

form label,
form legend {
  font-family: "Outfit", verdana, Arial, courier;
  font-weight: 400 !important;
}

form input:where([type="checkbox"], [type="radio"]) {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 22px;
  height: 22px;
  margin: calc(0.75em - 11px) 0.25rem 0 0;
  padding: 0 !important;
  vertical-align: top;
  border: 1px solid #2E4AFE;
  border-radius: 25px;
  background: #fff no-repeat center center;
}

form input[type="radio"] {
  border-radius: 50%;
}

form input:where([type="checkbox"], [type="radio"]):where(:active:not(:disabled), :focus) {
  border-color: #2E4AFE;
  outline: none;
}

form input:where([type="checkbox"], [type="radio"]):disabled {
  background: #eee;
}

form input[type="checkbox"]:checked {
  background-image: url("../img/checkbox.svg");
}

form input[type="radio"]:checked {
  background-image: url("../img/checkbox.svg");
}

form h3 {
  margin-bottom: 0 !important;
}

.g-form {
  padding: 5%;
}

.g-form .heading {
  text-align: left;
}

@media (min-width: 768px) {
  .g-form .heading {
    padding-bottom: 2rem;
    text-align: center;
  }
}

.g-form .container {
  padding: 0;
}

.gform_wrapper.gravity-theme .ginput_container_date,
.gform_wrapper.gravity-theme .ginput_container_date input {
  width: 100% !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
  text-align: center;
}

.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
  background: transparent !important;
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  font-family: "Outfit", verdana, Arial, courier !important;
  padding: 0 !important;
  text-align: left;
}

.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border: none !important;
  border-bottom: 2px solid #c02b0a !important;
}

.gfield_radio,
.gfield_checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ginput_container_fileupload {
  position: relative;
}

.gfield--type-fileupload {
  margin: 1rem 0;
}

.gchoice {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  padding: .5rem 0;
}

@media (min-width: 768px) {
  .gchoice {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 30%;
            flex: 1 0 30%;
  }
}

.gchoice label {
  font-family: "Outfit", verdana, Arial, courier;
  font-weight: 300!important
}

.gform_fileupload_rules {
  font-family: "Outfit", verdana, Arial, courier !important;
  font-size: 0.65rem !important;
  position: absolute;
  top: 145px;
  left: 15px;
}

@media (min-width: 768px) {
  .gform_fileupload_rules {
    font-size: 0.85rem !important;
  }
}

#input_2_8 {
  height: 100px !important;
}

.gform_submission_error,
.gform_wrapper.gravity-theme .gform_drop_instructions {
  font-family: "Outfit", verdana, Arial, courier;
  font-size: 1.5rem;
}

.hide_summary {
  font-size: 1.2rem !important;
}

.gform_drop_area {
  padding: 62px !important;
}

.gfield--type-section {
  margin: 0;
  padding: 0 !important;
}

.gform_wrapper.gravity-theme .gsection {
  display: none;
}

.gfield_required_asterisk {
  display: none !important;
}

.gfield_fileupload_filename {
  font-family: "Outfit", verdana, Arial, courier;
  color: #2E4AFE;
}

.ginput_preview {
  margin: 0;
}

.gform_wrapper.gravity-theme .gform_delete_file {
  background: #2E4AFE;
  margin-left: 0.5rem;
  padding: 0.5rem;
}

.gform_confirmation_message {
  color: #2E4AFE;
  font-family: "P22 Mackinac", serif;
  font-size: 1.5rem;
  padding: 2rem 0;
}

body img.gform_ajax_spinner {
  max-width: 30px !important;
}

.gform_wrapper.gravity-theme .gform_footer input {
  margin: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label,
.gform_wrapper.gravity-theme .gfield_label {
  font-size: 1.125rem!important;
}



.hamburger {
  float: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 27px;
  height: 18px;
  cursor: pointer;
  border-top: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  margin: 12px 0;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
  right: 1.5rem;
  top: 15px;
  position: absolute;
}

@media (min-width: 768px) {
  .hamburger {
     top: 25px;
  }
}

@media (min-width: 1200px) {
  .hamburger {
    display: none;
  }
}

.hamburger.home-color {
  border-top: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
}

.hamburger.home-color:before {
  border-bottom: 3px solid #ffffff;
}

.hamburger.is-active:before {
  width: 100%;
  margin-left: 0%;
}

.hamburger.is-active.is-invert {
  border-top: 0px solid #2E4AFE;
  border-bottom: 0px solid #2E4AFE;
}

.hamburger.is-invert {
  border-top: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
}

.hamburger.is-invert:before {
  border-bottom: 3px solid #ffffff;
}

.hamburger::before {
  content: "";
  width: 20%;
  border-bottom: 3px solid #ffffff;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
}

.faq_section-heading {
  margin-bottom: 1.5rem;
  text-align: left;
}

.faq_container {
  margin: 0 auto;
  max-width: 1200px;
}

.faq_container .slide-item {
  margin-bottom: 1rem
}

.faq_heading {
  cursor: pointer;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.faq_heading:after {
  content: '';
  background-size: 100%;
  background-image: url('data:image/svg+xml,<svg fill="%23000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 330 330" xml:space="preserve"><path id="XMLID_225_" d="M325.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001l-139.39,139.393L25.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001c-5.858,5.858-5.858,15.355,0,21.213l150.004,150c2.813,2.813,6.628,4.393,10.606,4.393s7.794-1.581,10.606-4.394l149.996-150C331.465,94.749,331.465,85.251,325.607,79.393z"/></svg>');
  height: 12px;
  width: 14px;
  float: right;
  margin-left: 5px;
  margin-top: 5px;
  -webkit-transition: all 250ms linear;
  transition: all 250ms linear;
}

@media (min-width: 768px) {
  .faq_heading:after {
    height: 16px;
    width: 18px;
    margin-top: 0;
  }
}

.active:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.faq_heading.active ~ .faq_panel {
  background-color: rgba(46, 74, 254, .1);
}

.faq_panel {
  margin: 1rem 0;
  border-radius: 8px;
  max-height: 0;
  overflow: hidden;
  text-align: left;
  -webkit-transition: all 250ms ease-out;
  transition: all 250ms ease-out;
}

.site-header {
  background: #2E4AFE;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
}

.site-header.js-scrolling {
  background: #2E4AFE;
}

.site-header.js-scrolling .container {
  height: 4.5rem;
  -webkit-transition: all 150ms linear;
  transition: all 150ms linear;
}

@media (min-width: 768px) {
  .site-header.js-scrolling .container {
    height: 5.5rem;
  }
}

.site-header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  max-width: 1200px;
  padding: .5rem 0;
}

.site-header .container .site-title {
  max-width: 145px;
  padding: 0 1rem;
  -webkit-transition: all 220ms linear;
  transition: all 220ms linear;
}

@media (min-width: 768px) {
  .site-header .container .site-title {
    max-width: 210px;
  }
  .site-header.js-scrolling .container .site-title  {
    max-width: 175px;
  }
}

.site-header.is-menu-active {
  background: #2E4AFE;
}

.site-header.is-menu-active .container {
  height: 100vh;
}

.site-header.is-menu-active .main-navigation {
  display: block;
  padding-top: 3rem;
}

.site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu li {
  padding: .5rem;
  text-align: left;
}

@media (min-width: 1200px) {
  .site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu li {
    padding: .25rem .5rem;
  }
}

.site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu li:last-child {
  padding-right: 0;
}

.site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu li.current-menu-item {
  color: #F3CB2E;
}

.site-header.is-menu-active .main-navigation .menu-header-menu-container .header_menu li .menu-item-has-children {
  opacity: 1;
}

.site-header.is-active .container {
  -webkit-transition: all 550ms ease;
  transition: all 550ms ease;
}

/*.home .site-title {
  max-width: 145px;
  padding: .25rem;
  -webkit-transition: all 220ms linear;
  transition: all 220ms linear;
}

@media (min-width: 768px) {
  .home .site-title {
    max-width: 280px;
    padding: 0;
  }
}

.home .site-title.js-scrolling {
  max-width: 145px;
}

@media (min-width: 768px) {
  .home .site-title.js-scrolling {
    max-width: 175px;
    padding: 0;
  }
}*/

footer {
  background: #2E4AFE;
  padding: 5%;
}

footer * {
  color: #ffffff;
  font-weight: 300;
}

footer .container {
  border-bottom: 2px solid #2E4AFE;
  margin: 0 auto;
  max-width: 1200px;
}

footer .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 768px) {
  footer .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

footer .row .col-6 {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
}

footer .row .col-6-r .sub-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media (min-width: 768px) {
  footer .row .col-6-r .sub-row {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

footer .row .col-6-r .sub-row .footer_menu {
  padding: 0;
  list-style-type: none;
}

footer .row .col-6-r .sub-row .footer_menu li {
  font-size: 1.125rem;
  padding: .5rem 0;
  text-align: left;
}

@media (min-width: 768px) {
  footer .row .col-6-r .sub-row .footer_menu li {
    text-align: right;
  }
}

footer .row img {
  display: inline-block;
}

footer .assoc-logo {
  max-width: 110px;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  footer .assoc-logo {
    margin-bottom: 0;
    max-width: 110px;
  }
}

footer .assoc-logo-2x {
  max-width: 110px;
  margin-bottom: 1rem;
  padding-right: .5rem;
}

@media (min-width: 768px) {
  footer .assoc-logo-2x {
    margin-bottom: 0;
    max-width: 135px;
    padding-right: 2.5rem;
  }
}

footer .disclaimer {
  text-align: left;
}

footer .disclaimer p {
  margin: 1rem auto;
}

.social-icon {
  max-width: 45px;
  padding: 1rem 1rem 1rem 0;
}

@media (min-width: 768px) {
  .social-icon {
    margin-left: .5rem;
  }
}

.social-icon-st {
  display: inline-block;
  max-width: 25px;
  margin-right: .5rem;
}

.sm-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #2E4AFE !important;
  font-family: "Outfit", verdana, Arial, courier;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: .5rem;
}

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.footer-nav li {
  font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1920 - 320)));
  display: inline;
  color: #2E4AFE;
  font-family: "Outfit", verdana, Arial, courier;
  font-size: 1rem;
  padding-right: 1rem;
}

@media (max-width: 320px) {
  .footer-nav li {
    font-size: 18px;
  }
}

@media (min-width: 1920px) {
  .footer-nav li {
    font-size: 20px;
  }
}

@media (min-width: 768px) {
  .footer-nav li {
    font-size: 1rem;
    padding-left: 1rem;
    padding-left: 0;
  }
}

.footer-nav {
  list-style-type: none;
}

.main-navigation {
  display: none;
  position: absolute;
  left: 1rem;
  top: 7.5rem;
}

@media (min-width: 1020px) {
  .main-navigation {
    left: 215px;
    top: 25px;
    display: block;
  }
  .main-navigation.js-scrolling {
    display: block;
    top: 19%;
  }
}


.main-navigation .header_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.main-navigation .header_menu li {
  font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1920 - 320)));
  display: inline;
  padding: 1rem 1rem 1.5rem;
  color: #ffffff;
  font-family: "Outfit", verdana, Arial, courier;
  font-size: 2rem;
}


@media (min-width: 1020px) {
  .main-navigation .header_menu li {
    font-size: 1.25rem;
  }
}

.main-navigation .header_menu .menu-item-has-children {
  position: relative;
  z-index: 1;
}

.main-navigation .header_menu .menu-item-has-children .sub-menu {
  display: block;
  padding: 0;
  width: 100%;
  -webkit-transition: all ease-out 250ms;
  transition: all ease-out 250ms;
  opacity: 1;
  z-index: 0;
}

.main-navigation .header_menu .menu-item-has-children .sub-menu li {
  display: block;
  color: #ffffff;
}

.main-navigation .header_menu .menu-item-has-children .sub-menu li a {
  font-size: 1.25rem;
}

@media (min-width: 768px) {
  .main-navigation .header_menu .menu-item-has-children .sub-menu li a {
    font-size: 1rem;
  }
}

@media (min-width: 768px) {
  .main-navigation .header_menu .menu-item-has-children .sub-menu {
    font-size: 0;
    position: absolute;
    top: 4rem;
    left: -2px;
    opacity: 0;
  }
  .main-navigation .header_menu .menu-item-has-children .sub-menu li {
    background: #2E4AFE;
    color: #ffffff;
    display: inline-block;
    padding: 1.25rem 1.25rem .75rem;
    height: 1.5rem;
    width: 100%;
    margin: 0;
  }
  .main-navigation .header_menu .menu-item-has-children .sub-menu li:hover {
    background: #E4EDEF;
    color: #2E4AFE;
  }
  .main-navigation .header_menu .menu-item-has-children .sub-menu li a:hover {
    color: #2E4AFE;
  }
  .main-navigation .header_menu .menu-item-has-children .sub-menu li:last-child {
    padding-bottom: .9rem;
  }
}

.main-navigation .header_menu .menu-item-has-children:hover .sub-menu {
  -webkit-box-shadow: 18px -2px 12px -2px rgba(0, 0, 0, 0.55);
          box-shadow: 18px -2px 12px -2px rgba(0, 0, 0, 0.55);
  opacity: 1;
}

#post-404 {
  height: 8vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.contact-us .hero {
  background-position: 55%;
  max-height: 25.5rem;
  min-height: 25.5rem;
  height: 50vh;
}

@media (min-width: 768px) {
  .contact-us .hero {
    background-position: 100% 85%;
    height: 80vh;
  }
}

.contact-us .col-one .row {
  max-width: 100%;
}

.contact-us .col-one .row .text-left-block {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
}

@media (min-width: 768px) {
  .contact-us .col-one .row .text-left-block {
    padding: 1.5rem;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .page-parking .col-6:first-child {
    padding-right: 1.5rem;
  }
}

.page-parking p {
  margin-bottom: 1.75rem;
}

.page-parking figure.zoom {
  background-position: 50% 50%;
  position: relative;
  height: 60vh;
  width: 100%;
  overflow: hidden;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

@media only screen and (max-width: 768px) {
  .page-parking figure.zoom {
    height: 45vw;
  }
}

.page-parking figure.zoom img:hover {
  opacity: 0;
}

.page-parking figure.zoom img {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  display: block;
  width: 100%;
}

.page-common-orthodontic-appliances .col-6 .col-padding {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 3rem;
  min-height: 30rem;
}

.page-common-orthodontic-appliances h2 {
  margin-bottom: 0;
}

.page-common-orthodontic-appliances h4 {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .page-common-orthodontic-appliances .row__container {
    padding: 0 !important;
  }
  .page-common-orthodontic-appliances .row_num_1 .row,
  .page-common-orthodontic-appliances .row_num_3 .row,
  .page-common-orthodontic-appliances .row_num_5 .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .page-common-orthodontic-appliances .col-6 .col-padding {
    margin: 2rem 1rem;
    min-height: auto;
  }
  .page-common-orthodontic-appliances .col-auto {
    margin: 2rem 1rem;
  }
  .page-common-orthodontic-appliances p {
    text-align: left !important;
  }
}

.page-timing-of-treatment .col-8 .col-padding {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 3rem;
  min-height: 35rem;
}

.page-timing-of-treatment h4 {
  margin-top: 0;
}

.page-timing-of-treatment li {
  margin-bottom: .5rem;
}

@media screen and (max-width: 768px) {
  .page-timing-of-treatment .row__container {
    padding: 0 !important;
  }
  .page-timing-of-treatment .row_num_1 .row,
  .page-timing-of-treatment .row_num_3 .row,
  .page-timing-of-treatment .row_num_5 .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .page-timing-of-treatment .col-8 .col-padding {
    margin: 1.5rem 1rem 2rem;
    min-height: auto;
  }
  .page-timing-of-treatment .col-auto {
    margin: 2rem 1rem;
  }
  .page-timing-of-treatment .block__image {
    background-position: 100% 25%;
    min-height: 35rem;
  }
  .page-timing-of-treatment p {
    text-align: left !important;
  }
}

@media screen and (max-width: 920px) {
  .page-meet-our-patient p {
    line-height: 1.5;
  }
}

.page-meet-our-patient .row__container {
  padding: 0 !important;
}

.page-meet-our-patient .flexible-row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media (min-width: 960px) {
  .page-meet-our-patient .flexible-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 920px) {
  .page-meet-our-patient .flexible-row .col-padding {
    padding: 1rem;
  }
}

.profile .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media (min-width: 960px) {
  .profile .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}


@media (min-width: 960px) {
  .profile .row .col-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 50%;
            flex: 1 0 50%;
    width: 50%;
  }
}

.profile .row .col-6-l {
  background-size: cover;
  background-position: top;
  position: relative;
}

@media (min-width: 1200px) {
  .profile .row .col-6-l {
    background-size: cover;
  }
}

.profile .row .col-6-l img {
  border-radius: 20px;
}

.profile .row .col-6-l .container {
  padding: 2rem 1rem;
}

@media (min-width: 960px) {
  .profile .row .col-6-l .container {
    padding: 3rem 5rem 3rem 0;
  }
}

.profile .row .col-6-r {
  background: #ffffff;
  padding: 0;
}

.profile .row .col-6-r .container {
  padding: 0 1rem 2rem;
}

@media (min-width: 960px) {
  .profile .row .col-6-r .container {
    padding: 3rem 0;
  }
}

.profile .row .col-6-r .container img {
  border-radius: 25px;
  max-width: 500px;
  margin: 0 0 2rem;
  float: right;
}

@media (min-width: 960px) {
  .profile .row .col-6-r .container img {
    margin: 2.5rem;
  }
}

.referral .container {
  padding: 2rem 1.25rem;
}

@media (min-width: 768px) {
  .referral .container {
    padding: 2.5rem .5rem;
  }
}

.referral .container .referral_form {
  max-width: 1240px;
}

.col-one .row {
  margin: 0 auto;
  max-width: 1200px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.2rem;
  padding-bottom: 2.5rem;
  text-align: left;
  line-height: 2.5;
}

@media (min-width: 768px) {
  .col-one .row {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.col-one-img {
  background-position: 50% 30%;
  background-size: cover;
  min-height: 300px;
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .col-one-img {
    min-height: 80vh;
  }
}

.col-one a {
  text-decoration: underline;
}

.col-one-full .row-n {
  margin: 0 auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  text-align: left;
}

@media (min-width: 768px) {
  .col-one-full .row-n {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    text-align: center;
  }
}

.col-two .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.col-two .row p {
  font-size: 18px;
  font-size: 1.125rem;
}

@media (min-width: 768px) {
  .col-two .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.col-two .row-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media (min-width: 768px) {
  .col-two .row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.col-two .row .col-6 {
  background-size: cover;
  min-height: 25rem;
  width: 100%;
}

@media (min-width: 768px) {
  .col-two .row .col-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 50%;
            flex: 1 0 50%;
    min-height: 50rem;
    width: 50%;
  }
}

.col-two .row .col-6-z {
  padding: 0;
}

.col-two .row .section-heading {
  text-align: center;
}

.col-two .row .text-block {
  padding: 0 1.25rem 2.5rem;
}

@media (min-width: 768px) {
  .col-two .row .text-block {
    padding: 10%;
  }
}

@media (min-width: 768px) {
  .col-two .row .text-block .xl-p {
    font-size: 1.3rem;
  }
}

.col-two .row .condensed-p h2 {
  margin-top: 2rem;
  margin-bottom: 1.25rem;
}

.col-two .row .condensed-p p {
  margin-bottom: 0;
}

#googleMap {
  min-height: 27.5rem;
  height: 100%;
  width: 100%;
}

.block__image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 25rem;
}

@media (min-width: 768px) {
  .block__image {
    min-height: 30rem;
  }
}

.image_carousel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.image_carousel li {
  width: 400px;
}

@media (min-width: 768px) {
  .image_carousel li {
    width: 370px;
  }
}

.image_carousel--item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 45vh;
  width: 100%;
}

@media (min-width: 768px) {
  .image_carousel--item {
    height: 75vh;
  }
}

.image_carousel .owl-nav {
  position: relative;
  margin: 0;
  height: 0;
}

.image_carousel .owl-next {
  position: absolute;
  left: 15px;
  top: -65px;
  opacity: 1 !important;
  z-index: 10;
}

.image_carousel .owl-next:hover {
  background: transparent !important;
}

.image_carousel .next-slide {
  border-radius: 50%;
  border: 1px solid #ffffff;
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg width="62px" height="62px" viewBox="0 0 62 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="arrow" fill-rule="nonzero"><path d="M30.777447,61.9056058 C18.3803041,61.9712064 7.16734107,54.5538375 2.37763536,43.1191458 C-2.41207034,31.6844541 0.167080783,18.4899143 8.91002165,9.70046382 C17.6529625,0.911013365 30.8336329,-1.73810541 42.2935756,2.99086586 C53.7535182,7.71983713 61.2302734,18.8932893 61.230447,31.2906058 C61.2559324,48.1461482 47.6328874,61.8416633 30.777447,61.9056058" id="Path_93" fill="%230C1546" transform="translate(30.615026, 31.290579) rotate(90.000000) translate(-30.615026, -31.290579) "></path><g id="Group_21" transform="translate(18.121000, 18.200000)" fill="%23F2EDF7"><rect id="Rectangle_2" x="0" y="11.743" width="23.46" height="3.062"></rect><polygon id="Path_59" points="13.943 26.506 11.734 24.297 22.778 13.253 11.734 2.209 13.943 4.54747351e-13 27.196 13.253"></polygon></g></g></g></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: 50px;
  width: 50px;
}

.hero {
  width: 100%;
  position: relative;
}

.hero .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  width: 100%;
  padding-top: 5rem;
  text-align: center;
}

.hero .row .col-12 {
  background-color: #2E4AFE;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 35rem;
  height: 75vh;
}

@media (min-width: 768px) {
  .hero .row .col-12 {
    background-position:  50% 40%;
    height: 80vh;
  }
}

.hero .row .container {
  position: absolute;
  left: 0%;
  top: 55%;
  text-align: left;
  z-index: 3;
}

@media (min-width: 768px) {
  .hero .row .container {
    left: 51%;
    top: 60%;
    transform: translateX(-50%);
  }
}

.hero:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1); 
  z-index: 1;
}

.hero .row .container h2 {
  color: #ffffff;
  font-size: 2rem;
}

@media (min-width: 768px) {
  .hero .row .container h2 {
    font-size: 3rem;
  }
}

.hero .row .container p {
  color: #ffffff;
  font-size: 1rem;
  position: absolute;
  top: 77.5%;
  text-align: left;
}

@media (min-width: 768px) {
  .hero .row .container p {
    font-size: 1.25rem;
    top: 75%;
  }
}

.hero .row .container br {
  display: none;
}

@media (min-width: 768px) {
  .hero .row .container br {
    display: block;
  }
}

.home .hero:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

@media (min-width: 768px) {
  .home .hero:before {
    height: 100%;
  }
}

.page-banner {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 50vh;
  width: 100%;
}

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

.page_banner {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1924" height="486.002" viewBox="0 0 1924 486.002"><path id="Union_25" data-name="Union 25" d="M6986-11443H5605v-486H7044v324h170.664v-157h162a162.059,162.059,0,0,1-121.918,157h121.918v-157h152v157H7529v162Zm233-403a82,82,0,0,1,82-82,82,82,0,0,1,82,82,82,82,0,0,1-82,82A82,82,0,0,1,7219-11846Z" transform="translate(-5605 11929.001)" fill="%23ffd300"/></svg>');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 70% 50%;
  min-height: 40vh;
  height: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .page_banner {
    background-position: 100% 50%;
  }
}

.page_banner.page_banner--l {
  background-size: contain;
  background-position: bottom left;
  background-repeat: no-repeat;
  height: 100%;
  min-height: 60vh;
}

@media (min-width: 768px) {
  .page_banner.page_banner--l {
    background-size: cover;
    background-position: top right;
    min-height: 80vh;
  }
}

.page_banner h1 {
  position: absolute;
  top: 50%;
  left: 20%;
  -webkit-transform: translate(-80%, -50%);
          transform: translate(-80%, -50%);
}

form#gform_5 .has_first_name {
    flex-direction: column !important;
}

form#gform_5 .has_first_name .name_last {
    padding-left: 0 !important;
    margin-top: 7px;
}

form#gform_5 .name_first {
  padding-right: 0!important;
}

form#gform_5 input {
   margin-bottom: .5rem
}
form input {
    border-bottom: 1px solid #2E4AFE;
    font-weight: 300;
}


.gap-16 {
  gap: 4rem
}

.py-16 {
  padding-bottom: 4rem;
  padding-top: 4rem;
}

/* ── Split image row (col-two pattern from site CSS) ── */
.split-row {
  display: flex;
  flex-direction: column;
  background:#FAFAFA
}

.home .split-row {
    background:#FFF;
}
@media (min-width: 768px) { .split-row { flex-direction: row; } }

.split-row .split-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 22rem;
  flex: 0 0 50%;
}
@media (min-width: 768px) { 
  .split-row .split-image { 
    min-height: 60vh; 
  } 
  .home .split-row .split-image {
    min-height: 85vh;
    background-size: 80%;
  }

  .home .split-row .split-text .text-block {
    padding: 5% 10% 5% 0%
  }
}

.split-row .split-text {
  flex: 0 0 50%;
  /*background: var(--blue);*/
  display: flex;
  align-items: center;
}
.split-row .split-text .text-block {;padding: 3rem 1.25rem; }
@media (min-width: 768px) { .split-row .split-text .text-block { padding: 10%; } }
.split-row .split-text h2 { color: var(--black); }
.split-row .split-text .btn { border: 2px solid var(--blue);color: var(--blue);}
.split-row .split-text .btn:hover { color: var(--white) }

.split-row blockquote {
  font-family: "P22 Mackinac", serif;
  font-size: calc(10px + (12 - 0) * ((100vw - 320px) / (1920 - 320)));
  font-style: italic;
  font-weight: 400;
  color: var(--black);
  line-height: 1.3;
  margin: 0 0 1rem;
  max-width: 500px;
}

/* ── CTA section ── */
.cta-section { background-color: rgba(46, 74, 254, 0.9);padding: 5% 0; }
.cta-section .container { max-width: 1200px; text-align: center; padding: 3rem 1.25rem; }
.cta-section h3 {
  font-family: "P22 Mackinac", serif;
  font-size: calc(20px + (12 - 0) * ((100vw - 320px) / (1920 - 320)));
  font-weight: 400;
  color: var(--white);
  line-height: 1.35;
  margin: 0 auto 2rem;
}
.cta-section p { color: rgba(255,255,255,0.8); font-size: 1rem; max-width: 560px; margin: 0 auto 2.25rem; }
.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

.cta-section blockquote {
  font-family: "P22 Mackinac", serif;
  font-size: calc(20px + (12 - 0) * ((100vw - 320px) / (1920 - 320)));
  font-style: italic;
  font-weight: 400;
  color: var(--white);
  line-height: 1.65;
  margin: 0 auto 1rem;
  max-width: 720px;
}



/* ── Buttons ── */
.btn {
  cursor: pointer;
  border: 2px solid var(--white);
  border-radius: 25px;
  color: var(--white);
  font-family: "Outfit", verdana, Arial, courier;
  font-size: 1.125rem;
  padding: .6rem 1.4rem;
  transition: background 150ms linear;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
}
.btn-filled { background: var(--white); color: var(--blue); border-color: var(--white); }
.btn-filled:hover { background: var(--blue); color: var(--white); }
.btn-outline { background: transparent; color: var(--white); }
.btn-outline:hover { background: var(--white); color: var(--blue); }

.my-4 {
  margin: .5rem 0;
}
