html,
body {
  overflow-x: hidden;
  font-size: 12px; }
  @media screen and (min-width: 576px) {
    html,
    body {
      font-size: 14px; } }
  @media screen and (min-width: 768px) {
    html,
    body {
      font-size: 15px; } }
  @media screen and (min-width: 992px) {
    html,
    body {
      font-size: 16px; } }

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
ul,
ol,
span {
  margin: 0;
  padding: 0; }

a {
  -webkit-transition: all .25s;
  -o-transition: all .25s;
  transition: all .25s; }
  a:link, a:hover, a:active, a:focus, a:visited {
    color: inherit;
    text-decoration: none; }
  a:hover {
    color: #1F71BC; }

img {
  max-width: 100%;
  height: auto; }

ul,
ol {
  list-style: none;
  padding-left: 0; }

input,
button,
select {
  border: none; }
  input:focus,
  button:focus,
  select:focus {
    outline: none !important; }

::-moz-selection {
  background-color: #1F71BC;
  color: #ffffff; }

::selection {
  background-color: #1F71BC;
  color: #ffffff; }

.heading-primary, h1,
.heading-secondary,
h2 {
  font-family: "AbrilDisplay-SemiBold", "Times New Roman", serif;
  color: #2E2E2E; }

.heading-primary, h1 {
  font-size: 3.5rem;
  line-height: 4.667rem; }
  @media screen and (min-width: 768px) {
    .heading-primary, h1 {
      font-size: 2.56rem;
      line-height: 3.5rem; } }


.heading-secondary,
h2 {
  font-size: 3.333rem; }
  @media screen and (min-width: 768px) {
    
    .heading-secondary,
    h2 {
      font-size: 2.5rem; } }

.heading-tertiary, h3 {
  font-family: "CeraPRO-Medium", "Helvetica", "Arial", sans-serif;
  color: #2E2E2E;
  font-size: 2rem;
  line-height: 2.667rem; }
  @media screen and (min-width: 768px) {
    .heading-tertiary, h3 {
      font-size: 1.5rem;
      line-height: 2rem; } }

.paragraph, p,
li {
  font-family: "CeraPRO-Regular", "Helvetica", "Arial", sans-serif;
  color: #474747;
  font-size: 1.333rem;
  line-height: 2.5rem; }
  @media screen and (min-width: 768px) {
    .paragraph, p,
    li {
      font-size: 1rem;
      line-height: 1.875rem; } }
  .paragraph--big, .btn, .header__menu-item, .footer__menu-item {
    font-size: 1.5rem;
    font-family: "CeraPRO-Medium", "Helvetica", "Arial", sans-serif; }
    @media screen and (min-width: 768px) {
      .paragraph--big, .btn, .header__menu-item, .footer__menu-item {
        font-size: 1.125rem; } }
  .paragraph--huge {
    font-size: 1.667rem; }
    @media screen and (min-width: 768px) {
      .paragraph--huge {
        font-size: 1.25rem; } }

.btn {
  padding: 1rem 2.5rem;
  border-radius: 4px;
  background-color: #1F71BC;
  text-align: center;
  color: #ffffff;
  -webkit-transition: all .25s;
  -o-transition: all .25s;
  transition: all .25s;
  cursor: pointer;
  font-weight: 600; }
  .btn:link, .btn:hover, .btn:active, .btn:focus, .btn:visited {
    color: #ffffff;
    text-decoration: none; }
  @media screen and (min-width: 768px) {
    .btn {
      padding: .75rem 1.875rem; } }
  .btn:focus {
    -webkit-box-shadow: none;
    box-shadow: none; }
  .btn:hover {
    background-color: #1b64a6; }
  .btn--accent {
    background-color: #F9B103; }
    .btn--accent:hover {
      background-color: #e09f03; }

.hero {
  padding: 5.625rem 0; }
  @media screen and (min-width: 768px) {
    .hero__img {
      display: block;
      width: 90%;
      margin: 0 auto;
      max-width: 29.6875rem; } }
  @media screen and (min-width: 992px) {
    .hero__img {
      margin: 0; } }
  .hero__btns {
    margin: -.5rem; }
    @media screen and (min-width: 1200px) {
      .hero__btns {
        margin: 0; } }
    .hero__btns .btn {
      margin: .5rem; }
      @media screen and (min-width: 1200px) {
        .hero__btns .btn {
          margin: 0; } }
      @media screen and (min-width: 1200px) {
        .hero__btns .btn + .btn {
          margin-left: 1rem; } }

.services {
  background-color: #F5F5F5;
  padding: 4.1875rem 0 6.375rem 0;
  text-align: center; }
  .services__items {
    margin-bottom: -2.5rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
    @media screen and (min-width: 768px) {
      .services__items {
        margin-bottom: -30px; } }
  .services__item-wrapper {
    margin-bottom: 2.5rem; }
    @media screen and (min-width: 768px) {
      .services__item-wrapper {
        margin-bottom: 30px; } }
  .services__item {
    text-align: center;
    background-color: #ffffff;
    padding: 2.5rem 2.5rem 4.0625rem 2.5rem; }
    @media screen and (min-width: 768px) {
      .services__item {
        height: 100%; } }
    .services__item-icon {
      height: 6.667rem;
      margin-bottom: 1rem; }
      @media screen and (min-width: 768px) {
        .services__item-icon {
          height: 5rem; } }
    .services__item-text {
      line-height: 2rem;
      margin: 1rem 0 1.875rem 0; }
      @media screen and (min-width: 768px) {
        .services__item-text {
          line-height: 1.5rem; } }

.calendar {
  padding: 4.375rem 0 5rem 0;
  text-align: center; }
  .calendar__placeholder {
    width: 100%; }

.header {
  padding: 2.5rem 0;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .header {
      padding: 1.875rem 0; } }
  .header__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .header__logo {
    display: block;
    width: 100%;
    max-width: 4.167rem; }
    @media screen and (min-width: 768px) {
      .header__logo {
        max-width: 200%; } }
  .header__btn {
    margin: 0;
    padding: 0;
    cursor: pointer;
    background: transparent;
    position: relative;
    height: 18px;
    width: 24px; }
    @media screen and (min-width: 768px) {
      .header__btn {
        display: none; } }
    .header__btn-line {
      display: block;
      border-radius: 1rem;
      height: 3px;
      width: 2rem;
      background-color: #1F71BC;
      -webkit-transition: all .25s;
      -o-transition: all .25s;
      transition: all .25s;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      .header__btn-line:first-child {
        top: 0;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none; }
      .header__btn-line:last-child {
        top: auto;
        bottom: 0;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none; }
    .header__btn:hover .header__btn-line {
      background-color: #1b64a6; }
  .header__nav {
    position: absolute;
    bottom: -2.5rem;
    left: 0;
    width: 100%;
    height: auto;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    background-color: #ffffff;
    text-align: center;
    display: none;
    padding-bottom: 2.5rem;
    -webkit-box-shadow: 0 5px 5px rgba(46, 46, 46, 0.25);
    box-shadow: 0 5px 5px rgba(46, 46, 46, 0.25); }
    @media screen and (min-width: 576px) {
      .header__nav {
        left: 50%;
        -webkit-transform: translate(-50%, 100%);
        -ms-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%);
        width: 100vw; } }
    @media screen and (min-width: 768px) {
      .header__nav {
        -webkit-box-shadow: none;
        box-shadow: none;
        padding-bottom: 0;
        display: block !important;
        text-align: left;
        width: auto;
        height: auto !important;
        background: transparent;
        position: static;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        margin: 0 auto 0 2rem; } }
  @media screen and (min-width: 768px) {
    .header__menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; } }
  .header__menu-item + .header__menu-item {
    margin-top: 1rem; }
    @media screen and (min-width: 768px) {
      .header__menu-item + .header__menu-item {
        margin-top: 0;
        margin-left: 1.875rem; } }
  .header__cta {
    margin: 0 1.5rem 0 auto; }
    @media screen and (min-width: 768px) {
      .header__cta {
        margin: 0; } }
  .header--active .header__btn-line:first-child {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg); }
  .header--active .header__btn-line:nth-child(2) {
    opacity: 0; }
  .header--active .header__btn-line:last-child {
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); }

@media screen and (min-width: 992px) {
  .footer__main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

.footer__nav {
  margin-bottom: 2.5rem; }
  @media screen and (min-width: 768px) {
    .footer__nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  @media screen and (min-width: 992px) {
    .footer__nav {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      margin-bottom: 0; } }

.footer__logo {
  display: block;
  width: 4.167rem;
  margin: 0 auto 2.667rem auto; }
  @media screen and (min-width: 768px) {
    .footer__logo {
      width: 3.125rem;
      margin: 0 2rem 0 0; } }

.footer__menu {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .footer__menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; } }
  .footer__menu-item + .footer__menu-item {
    margin-top: 1rem; }
    @media screen and (min-width: 768px) {
      .footer__menu-item + .footer__menu-item {
        margin-left: 1.875rem;
        margin-top: 0; } }

.footer__switch {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .footer__switch {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  @media screen and (min-width: 992px) {
    .footer__switch {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; } }
  .footer__switch input {
    display: none; }
    .footer__switch input:checked + label:after {
      -webkit-transform: translate(37px, -50%);
      -ms-transform: translate(37px, -50%);
      transform: translate(37px, -50%); }
  .footer__switch label {
    width: 70px;
    height: 35px;
    border-radius: 10rem;
    border: 1px solid #8E8E8E;
    position: relative;
    background-color: #F5F5F5;
    cursor: pointer;
    margin: 0 1rem 0 0; }
    @media screen and (min-width: 768px) {
      .footer__switch label {
        margin-right: .75rem; } }
    .footer__switch label:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translate(4px, -50%);
      -ms-transform: translate(4px, -50%);
      transform: translate(4px, -50%);
      height: 27px;
      width: 27px;
      border-radius: 50%;
      -webkit-transition: all .25s;
      -o-transition: all .25s;
      transition: all .25s;
      background-color: #8E8E8E; }

.footer__sub {
  text-align: center;
  background-color: #F5F5F5;
  padding: 3.333rem 0;
  margin-top: 3.75rem; }
  @media screen and (min-width: 768px) {
    .footer__sub {
      text-align: left;
      padding: 2.5rem 0;
      margin-top: 2.8125rem; } }

.footer__social {
  margin-top: 1rem; }
  @media screen and (min-width: 768px) {
    .footer__social {
      margin-top: 0;
      text-align: right; } }
  .footer__social-item {
    font-size: 2.667rem; }
    .footer__social-item:link, .footer__social-item:hover, .footer__social-item:active, .footer__social-item:focus, .footer__social-item:visited {
      color: #8E8E8E;
      text-decoration: none; }
    @media screen and (min-width: 768px) {
      .footer__social-item {
        font-size: 2rem; } }
    .footer__social-item:hover {
      color: #1F71BC; }
    .footer__social-item + .footer__social-item {
      margin-left: 1rem; }
      @media screen and (min-width: 768px) {
        .footer__social-item + .footer__social-item {
          margin-left: .75rem; } }

.u-margin-bottom-smallest {
  margin-bottom: 5px; }

.u-margin-bottom-smaller {
  margin-bottom: 10px; }

.u-margin-bottom-med {
  margin-bottom: 3.333rem; }
  @media screen and (min-width: 768px) {
    .u-margin-bottom-med {
      margin-bottom: 2.5rem; } }

.u-margin-bottom-big {
  margin-bottom: 4.167rem; }
  @media screen and (min-width: 768px) {
    .u-margin-bottom-big {
      margin-bottom: 3.125rem; } }

@media screen and (min-width: 992px) {
  .u-margin-lg-bottom-null {
    margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .u-padding-md-left-null {
    padding-left: 0; } }

.u-color-gray-drk-2 {
  color: #5E5E5E; }
