/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Navigation
# Content
## Custom Element
### Locations
# Gravity Forms
# Footer
# Media - Max
# Media - Min
--------------------------------------------------------------*/
:root {
  --white: #fff;
    --black: #000;
    --grey: #F9F9F9;
    --navy: #21145F;
    --blue: #3451C3;
    --orange: #FF5C35;
    --shadow: rgba(16, 24, 40, 0.05) 0px 6px 15px -2px;
}
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
.row,
.vc_row{
  margin-left: 0!important;
  margin-right: 0!important;
  width: 100%;
  z-index: 1;
  position: relative;
}
.vc_column_container>.vc_column-inner {
  padding: 0!important;
}
.screenreader-only {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.width-container {
  max-width: 1400px;
  margin-left: auto!important;
  margin-right: auto!important;
  padding-left: 35px!important;
  padding-right: 35px!important;
  float: unset!important;
}
.site-content .ast-container{
  padding: 0!important;
}
.ast-article-single figure, .ast-article-single img:not(figure img) {
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
  -webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0);
  -moz-box-shadow: 0 0 0 0 rgba(0,0,0,0);
}
.single.ast-page-builder-template .entry-header + .entry-content, .single.ast-page-builder-template .ast-single-entry-banner + .site-content article .entry-content {
  margin-bottom: 0!important;
}
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
html{
  font-size: 18px;
}
.text-white,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white a {
  color: var(--white);
}
.text-orange,
.text-orange h1,
.text-orange h2,
.text-orange h3,
.text-orange h4,
.text-orange h5,
.text-orange h6,
.text-orange p,
.text-orange a {
  color: var(--orange)!important;
}

.text-center,
.text-center h1,
.text-center h2,
.text-center h3,
.text-center h4,
.text-center h5,
.text-center h6,
.text-center p,
.text-center a {
  text-align: center;
}
.trail-items li::after{
  padding: 0 .8em;
}
.ast-breadcrumbs a{
  text-decoration: none!important;
}
.text-large{
  display: block;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
.ast-button-wrap .menu-toggle.main-header-menu-toggle{
  padding: 0!important;
}
.main-header-menu .sub-menu .menu-link{
  padding-top: 12px;
  padding-bottom: 12px;
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.background-navy{
  background-color: var(--navy);
}
.ast-button{
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.btn{
  position: relative;
  display: inline-block;
  padding: 12px 25px 12px 25px;
  font-size: 18px;
  line-height: normal;
  font-weight: 700;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 2px solid var(--navy);
  text-decoration: unset !important;
  color: var(--white);
  background-color: var(--navy);
  overflow: hidden;
  border-radius: 8px;
  outline: none;
  
  &:hover,
  &:focus{
    color: var(--navy);
    background-color: var(--white);
  }
}
.btn .icon{
  padding-left: var(--padding-left);
  padding-right: var(--padding-right);
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.btn .icon.fa-arrow-right{
  transform: rotate(-45deg);
}
.btn:hover .icon.fa-arrow-right{
  transform: rotate(0deg);
}
.btn .icon.fa-arrow-left{
  transform: rotate(45deg);
}
.btn:hover .icon.fa-arrow-left{
  transform: rotate(0deg);
}
.btn.btn-white{
  color: var(--navy);
  background-color: var(--white);
  border-color: var(--white);

  &:hover,
  &:focus{
    color: var(--white);
    background-color: var(--blue);
  }
}
.btn.btn-outline{
  color: var(--white);
  background-color: transparent;
  border-color: var(--white);

  &:hover,
  &:focus{
    color: var(--white);
    background-color: var(--blue);
    border-color: var(--white);
  }
}
.btn.btn-dark-outline{
  color: var(--navy);
  background-color: transparent;
  border-color: var(--navy);

  &:hover,
  &:focus{
    color: var(--white);
    background-color: var(--blue);
    border-color: var(--navy);
  }
}
.hero-orange-split{
  position: relative;

  &::after{
    content: '';
    display: block;
    height: 100%;
    width: 50%;
    background-image: url(/wp-content/uploads/2026/03/hero-orange-wedge.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: left;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
  }

}
.scroll-box {
  border: 2px dashed var(--navy);
  overflow-y: scroll;
  max-height: 200px;
  max-width: 500px;
  width: 100%;
  padding: 5px;
}
/*--------------------------------------------------------------
## Table
--------------------------------------------------------------*/
.mobile-tables{
  display: none;
}
.styled-table table {
  font-size: 24px;
  line-height: 1.3;
  font-weight: 500;
  border: 0;
}
.styled-table table thead * {
  font-size: 28px;
  font-weight: 400;
  border-left: 0;
  border-right: 0;
}
.styled-table table.table-desktop tbody th{
  max-width: 500px;
  width: 33%;
  text-align: left;
}
.styled-table .mobile-tables table.mobile-table tbody td:nth-of-type(1){
  max-width: 500px;
  width: 50%;
  text-align: left;
}
.styled-table table td{
  text-align: center;
}
.styled-table table .checkmark{
  position: relative;
  font-size: 0;
}
.styled-table table .checkmark::after {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 24px;
}

/*Prime*/
.styled-table table.table-desktop tbody td:nth-of-type(1),
.styled-table .mobile-tables table.mobile-table:nth-child(1) tbody td:nth-of-type(2) {
  background-color: #FFD2C8;
  color: var(--orange);
}
.styled-table table.table-desktop td:nth-of-type(1) .checkmark::after,
.styled-table .mobile-tables table.mobile-table:nth-child(1) .checkmark::after {
  background-color: var(--orange);
  color: #FFD2C8;
  border-radius: 50%;
  padding: 5px;
}

/*Flex*/
.styled-table table.table-desktop tbody td:nth-of-type(2),
.styled-table .mobile-tables table.mobile-table:nth-child(2) tbody td:nth-of-type(2){
  background-color: #46397F;
}
.styled-table table td:nth-of-type(2) .checkmark::after,
.styled-table .mobile-tables table.mobile-table:nth-child(2) .checkmark::after{
  background-color: var(--white);
  color: #46397F;
  border-radius: 50%;
  padding: 5px;
}
/*hourly*/
.styled-table table.table-desktop tbody td:nth-of-type(3),
.styled-table .mobile-tables table.mobile-table:nth-child(3) tbody td:nth-of-type(2){
  background-color: #31246E;
}
.styled-table table td:nth-of-type(3) .checkmark::after,
.styled-table .mobile-tables table.mobile-table:nth-child(3) .checkmark::after {
  background-color: var(--white);
  color: #31246E;
  border-radius: 50%;
  padding: 5px;
}
@media only screen and (max-width: 992px) {
  .styled-table table {
    font-size: 18px;
  }
  .table-desktop{
    display: none;
  }
  .mobile-tables{
    display: block;
  }
}
/*--------------------------------------------------------------
## Custom Element
--------------------------------------------------------------*/
.term-container .elementor-widget-custom-terminology:nth-child(2n+1) .treefrog-terminology{
  background-color: #F8F5FF;
}
.treefrog-terminology .term-header{
  display: flex;
  align-items: center;
}
.treefrog-terminology img{
  max-width: 40px;
}
.treefrog-terminology h3{
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 0;
}
.treefrog-terminology .term-content{
  padding-top: 5px;
}
/*--------------------------------------------------------------
### Locations
--------------------------------------------------------------*/
.locations-list-container {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 18px;
}
.single-location{
  border: 2px solid #C1C1C1;
  border-radius: 8px;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;

  & .single-location-content{
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.single-location .btn{
  display: block;
}
.single-location-image img{
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 8px;
}
.single-location .opening-text p:last-of-type{
  margin-bottom: 0;
}
/*---------------------------------------------------------------
# Blog
--------------------------------------------------------------*/
.sidebar-main{
  padding: 2rem 1.5rem;
  background-color: #E8E6F2;
  border-radius: 8px;
}
.sidebar-main aside h2{
  margin-bottom: 1.5rem!important;
}
.sidebar-main aside p{
  margin-top: .5rem!important;
}
#secondary li {
  margin-bottom: .25rem;
}
.sidebar-main aside:not(:first-child) h2 {
  margin: 2rem 0 .5rem 0!important;
}
.blog-layout-4 {
  border: 2px solid #E8E6F2;
}
.blog-layout-4 h2,
.blog-layout-4 h2 a{
  font-size: 24px;
  line-height: 1!important;
}
.read-more a{
  text-decoration: underline;
}

.ast-related-posts-wrapper .ast-related-post{
  border: 2px solid #E8E6F2;
  border-radius: 6px;
  box-shadow: 0px 6px 15px -2px rgba(16,24,40,0.05);
  padding: 1.5em;
  overflow: hidden;
}
.ast-related-posts-wrapper .ast-related-post .ast-related-post-featured-section{
  position: static;
  width: calc(100% + 3em);
  margin-left: -1.5em;
  margin-right: -1.5em;
  margin-top: -1.5em;
  overflow: hidden;

  & img{
    transform: scale(1);
    transition: transform .5s ease;
  }
  &:hover img{
    transform: scale(1.1);
  }
}
.ast-related-posts-wrapper .ast-related-post .ast-related-post-excerpt{
  display: none;
}
.ast-related-posts-wrapper .ast-related-post .read-more .ast-related-post-link{
  text-decoration: underline;
}
.ast-related-posts-wrapper .ast-related-post .entry-header{
  display: flex;
  flex-direction: column-reverse;

  & * {
    width: 100%;
  }
  & .entry-title,
  & .entry-title a{
    font-size: 24px;
    line-height: 1;
    font-weight: 600;
  }
}
/*--------------------------------------------------------------
# Hubspot
--------------------------------------------------------------*/
.hsfc-Step__Content{
    padding: 0!important;
}
.hsfc-Button{
  transform: none!important;
  border: 2px solid var(--navy)!important;
  font-size: 18px!important;
  border-radius: 8px!important;
  padding: 12px 25px!important;
}
.hsfc-Button:hover{
  color: var(--navy)!important;
  background-color: var(--white)!important;
}

footer .hsfc-Button{
  transform: none!important;
  border: 2px solid var(--white)!important;
  font-size: 18px!important;
}
footer  .hsfc-Button:hover{
  color: var(--white)!important;
  background-color: var(--blue)!important;
}
/*--------------------------------------------------------------
# Gravity forms
--------------------------------------------------------------*/
#ui-datepicker-div{
  position: absolute;
  top: 1304.88px;
  left: 968px;
  z-index: 1;
  display: none;
}
.gform_required_legend{
  display: none!important;
}
.gform-body .gform_fields {
  row-gap: 18px!important;
}
.gfield_required .gfield_required_asterisk{
  font-size: 16px;
  color: var(--navy);
}
.gform-body label.gfield_label,
.gform-body legend.gfield_label{
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  color: var(--navy);
}
.gform-body input[type="text"], .gform-body input[type="number"], .gform-body input[type="email"], .gform-body input[type="url"], .gform-body input[type="password"], .gform-body input[type="search"], .gform-body input[type="reset"], .gform-body input[type="tel"], .gform-body input[type="date"], .gform-body select, .gform-body textarea {
  text-align: left !important;
  line-height: normal !important;
  padding: 10px 15px !important;
  font-size: 16px !important;
  font-family: inherit !important;
  border: none !important;
  box-shadow: none !important;
  height: unset !important;
  outline: none !important;
  border-radius: 6px !important;
  border: 2px solid var(--navy)!important;
  background: #fff !important;
}
#contact .gform_wrapper.gform-theme--foundation form .gform-footer .gform_button[type="submit"]{
  position: relative;
  display: inline-block;
  padding: 12px 25px 12px 25px;
  font-size: 18px;
  line-height: normal;
  font-weight: 700;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 2px solid var(--navy);
  text-decoration: unset !important;
  color: var(--white);
  background-color: var(--navy);
  overflow: hidden;
  border-radius: 4px;
  
  &:hover,
  &:focus{
    color: var(--white);
    border-color: var(--blue);
    background-color: var(--blue);
  }
}
#contact .gform-footer{
  justify-content: center;
}
/*--------------------------------------------------------------
## Inputs: Checkbox + Radio
--------------------------------------------------------------*/
.gform-theme--framework .gchoice input[type="checkbox"], 
.gform-theme--framework .gchoice input[type="radio"] {
  opacity: 0!important;
  position: absolute;  
  height: 0;
  width: 0;
}
.gform-theme--framework .gchoice .gfield-choice-input{
  height: 0 !important;
  width: 0 !important;
  padding: 0 !important;
  border: 0!important;
}
.gform-theme--framework .gchoice input[type='checkbox'] + label,
.gform-theme--framework .gchoice input[type='radio'] + label {
  position: relative;
  overflow: hidden;
  padding-left: 30px;
  cursor: pointer;
  display: inline-block;
  line-height: 23px;
}
.gform-theme--framework .gchoice input[type='checkbox'] + label:before,
.gform-theme--framework .gchoice input[type='checkbox'] + label:after,
.gform-theme--framework .gchoice input[type='radio'] + label:before,
.gform-theme--framework .gchoice input[type='radio'] + label:after {
  content: '';
  position: absolute;
  left: 0;
  z-index: 1;
  -webkit-transition: .2s;
  transition: .2s;
}
.gform-theme--framework .gchoice input[type='checkbox']:not(:checked) + label:after,
.gform-theme--framework .gchoice input[type='radio']:not(:checked) + label:after  {
  width: 23px;
  height: 23px;
  border: 3px solid var(--navy);
  top: 0px;
}
.gform-theme--framework .gchoice input[type='radio']:not(:checked) + label:after,
.gform-theme--framework .gchoice input[type='radio']:checked + label:after  {
  border-radius: 50%;
}
.gform-theme--framework .gchoice input[type='checkbox']:checked + label:after,
.gform-theme--framework .gchoice input[type='radio']:checked + label:after {
  top: 0;
  width: 23px;
  height: 23px;
  border: 3px solid var(--navy);
  background-color: var(--navy);
  z-index: 0;
}
.gform-theme--framework .gchoice input[type="checkbox"] + label:before,
.gform-theme--framework .gchoice input[type="radio"] + label:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 14px;
  font-weight: 900;
  color: #fff;
  content: '\f00c'!important;
  position: absolute; 
  top: 1px;
  left: 5px;
  opacity: 0;
}
.gform-theme--framework .gchoice input[type='checkbox']:checked + label:before,
.gform-theme--framework .gchoice input[type='radio']:checked + label:before {
    opacity: 1;
}
.gform-theme--framework .gchoice label{
  margin-left: 0!important;
}
#gform_3 h2{
  font-size: 28px;
}
#primary .gform-theme--framework .gform-body button,
#primary .gform-theme--framework .gform-footer button{
  position: relative;
  display: flex;
  padding: 12px 25px 12px 25px;
  font-size: 18px;
  line-height: normal;
  font-weight: 700;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 2px solid var(--navy);
  text-decoration: unset !important;
  color: var(--white);
  background-color: var(--navy);
  overflow: hidden;
  border-radius: 4px;
  
  &:hover,
  &:focus{
    color: var(--white);
    border-color: var(--blue);
    background-color: var(--blue);
  }
}

#primary .gform-theme--framework .gform-body button.gform_save_link{
  color: rgba(17, 35, 55, 0.65);
  background-color: var(--white);
  border-color: rgba(17, 35, 55, 0.65);
  &:hover,
  &:focus{
    color: var(--white);
    border-color: rgba(17, 35, 55, 0.65);
    background-color: rgba(17, 35, 55, 0.65);

    &::before{
      color: var(--white);;
    }
  }
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer a{
  font-weight: 700;
}
footer .gform-body label.gfield_label,
footer .gform-body legend.gfield_label,
footer .gfield_required .gfield_required_asterisk{
  color: var(--white);
}
footer .gform_wrapper.gform-theme--foundation form .gform-footer .gform_button[type="submit"]{
  width: 100%;
  position: relative;
  display: block;
  padding: 12px 25px 12px 25px;
  font-size: 18px;
  line-height: normal;
  font-weight: 700;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 2px solid var(--white);
  text-decoration: unset !important;
  color: var(--navy);
  background-color: var(--white);
  overflow: hidden;
  border-radius: 4px;
  
  &:hover,
  &:focus{
    color: var(--navy);
    background-color: var(--orange);
    border-color: var(--orange);
  }
}
footer #block-10,
footer #block-19{
  margin-bottom: 0!important;
}
footer #gform_1 .gfield_validation_message,
footer #gform_1_validation_container .gform_submission_error,
footer #gform_1 .gform_validation_errors{
  color: var(--white);
  border-color: var(--white);
}
/*--------------------------------------------------------------
# Media - MAX
@media only screen and (min-width: 769px) and (max-width: 992px) {}
--------------------------------------------------------------*/
@media only screen and (max-width: 1350px) {
  .main-header-menu .menu-link, .main-header-menu > a {
    padding: 0 .5rem;
  }
}
@media only screen and (max-width: 992px) {
  .site-primary-footer-wrap[data-section="section-primary-footer-builder"],
  .site-below-footer-wrap[data-section="section-below-footer-builder"] {
    padding-left: 20px;
    padding-right: 20px;
  }
  .site-below-footer-wrap[data-section="section-below-footer-builder"].ast-footer-row-tablet-stack .site-footer-section{
    margin-bottom: 0;
  }
  #astra-footer-menu .menu-item > a{
    padding-left: 0;
    padding-right: 0;
  }
  .site-footer-primary-section-2 {
    padding-top: 2rem;
  }
  .hero-orange-split::after{
    display: none;
    }
  .hero-orange-split .hero-orange-split-image{
    position: relative;

    & img {
      position: relative;
      z-index: 1;
    }
    &::after{
      content: '';
      display: block;
      width: calc(100% + 40px);
      height: 50%;
      position: absolute;
      bottom: 0;
      left: -20px;
      right: -20px;
      z-index: 0;
      background-color: var(--orange);
      border-top: 20px solid var(--white);
    }
  }

}
/*--------------------------------------------------------------
# Media - MIN
--------------------------------------------------------------*/
@media only screen and (min-width: 993px) {
  .locations-list-container {
    grid-template-columns: repeat(3, 1fr);
  }
   .locations-list-container.coming-soon,
   .locations-province-group .locations-list-container {
    grid-template-columns: repeat(4, 1fr);
  } 
}
@media only screen and (min-width: 993px) and (max-width: 1250px) {
  .ast-builder-grid-row{
    grid-template-columns: 1fr;

  }
  .site-header-below-section-left{
    justify-content: center;
  }
  .site-header-below-section-right{
    padding-bottom: 10px;
  }
  .ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu, 
  .ast-builder-menu-1 .main-header-menu > .menu-item > .astra-full-megamenu-wrapper {
    margin-top: 10px;
  }
}
