body {

     font-family: Exo, sans-serif;

     font-size: 16px;

     line-height: 24px;

}

 .form-control {

     border-radius: 0;

     font-size: 0.875rem;

     padding: .5rem .75rem;

}

 .form-group {

     margin-bottom: 0.75rem;

}

 .btn {

     padding: 9px 11px;

     -webkit-transition: -webkit-transform 475ms ease;

     transition: -webkit-transform 475ms ease;

     transition: transform 475ms ease;

     transition: transform 475ms ease, -webkit-transform 475ms ease;

     border-radius: 0;

     min-width: 180px;

}

 .btn-success {

     border: 1px solid;

}

 .btn-success:hover {

     -webkit-transform: scale(1.04);

     -ms-transform: scale(1.04);

     transform: scale(1.04);

}

 #hero .btn {

     margin-top: 1.5rem;

     font-weight: 700;

     padding: 13px;

}

 .not_top #header {

     border-bottom: 2px solid;

}

 #top_bar {

     padding-top: 7px;

     line-height: 1.8em;

     padding-bottom: 7px;

}

 ul.social {

     list-style: none;

     margin: 0;

     padding: 0;

}

 #top_bar a {

     margin-right: 20px;

     padding-right: 30px;

     font-size: 1.2em;

     font-weight: 700;

}

 #navbarToggler {

     margin-right: 30px;

     margin-top: .5rem;

     margin-bottom: .5rem;

}

.collapse.show {

    display: block;

}

 .navbar-light .navbar-toggler {

     border: none;

}

 #navbarToggler a {

     -webkit-transition: -webkit-transform 375ms ease;

     transition: -webkit-transform 375ms ease;

     transition: transform 375ms ease;

     transition: transform 375ms ease, -webkit-transform 375ms ease;

     font-size: 1em;

     padding: .5rem 1.25rem;

}

 #navbarToggler a:hover {

     -webkit-transform: scale(1.15);

     -ms-transform: scale(1.15);

     transform: scale(1.15);

}

 .not_top #navbarToggler a:hover {

     -webkit-transform: scale(1);

     -ms-transform: scale(1);

     transform: scale(1);

}

 .navbar-brand img {

     max-width: 186px;

     margin-left: 20px;

     transition: all 400ms ease;

}

 .not_top .navbar-brand img {

     margin-left: 0;

}

 .navbar form label {

     display: none;

}

 #hero {

     background-position: 50% 50%;

     background-size: cover;

     position: relative;

     z-index: 1;

     background-repeat: no-repeat;

     overflow: hidden;

     padding: 2rem 1rem 6rem;

     margin-bottom: -50px;

}

 #hero_overlay {

     position: absolute;

     z-index: 2;

     display: block;

     left: 0;

     top: 0;

     width: 100%;

     height: 100%;

     background-position: 0 0;

     background-repeat: repeat;

     background-attachment: fixed;

     background-size: 2px 2px;

     background-image: -moz-linear-gradient(135deg, rgba(0, 0, 0, 0.2) 46%,  rgba(0, 0, 0, 0.2) 49%,  rgba(0, 0, 0, .4) 51%, rgba(0, 0, 0, 0.2) 55%);

    background-image: -webkit-linear-gradient(135deg, rgba(0, 0, 0, 0.2) 46%,  rgba(0, 0, 0, 0.2) 49%,  rgba(0, 0, 0, .4) 51%, rgba(0, 0, 0, 0.2) 55%);

    background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 46%,  rgba(0, 0, 0, 0.2) 49%,  rgba(0, 0, 0, 0.4) 51%, rgba(0, 0, 0, 0.2) 55%);

}

.internal_hero #hero_overlay {

     background-repeat: repeat,repeat;

     background-attachment: scroll, fixed;

     background-size: auto,2px 2px;

     background-image: -moz-linear-gradient(94deg, #000, hsla(0, 0%, 100%, 0)), -moz-linear-gradient(135deg, rgba(0, 0, 0, 0) 46%,  rgba(0, 0, 0, .4) 49%,  rgba(0, 0, 0, .4) 51%, rgba(0, 0, 0, 0) 55%);

    background-image: -webkit-linear-gradient(94deg, #000, hsla(0, 0%, 100%, 0)), -webkit-linear-gradient(135deg, rgba(0, 0, 0, 0) 46%,  rgba(0, 0, 0, .4) 49%,  rgba(0, 0, 0, .4) 51%, rgba(0, 0, 0, 0) 55%);

    background-image: linear-gradient(356deg, #000, hsla(0, 0%, 100%, 0)), linear-gradient(-45deg, rgba(0, 0, 0, 0) 46%,  rgba(0, 0, 0, 1) 49%,  rgba(0, 0, 0, 1) 51%, rgba(0, 0, 0, 0) 55%);

}

 #hero_content {

     z-index: 3;

     position: relative;

}

 #hero_left {

     width: 50%;

     /*original margin top; adjusted below to accomodate the new presidents day logo.  margin-top: 11vw; */
     margin-top: 4vw;
     
     margin-right: 20px;

     float: left;

     margin-left: 30px;

}

 #hero_right {

     width: 30vw;

     margin-right: 70px;

     float: right;

}

 #hero_right form {

     display: block;

     padding: 1vw 2vw 2vw;

     border: 1px solid;

}

 #hero_right label {

     font-weight: 300;

}

 #hero_right .form_title {

     margin-top: 21px;

     padding-top: 5px;

     font-size: 2.1em;

     line-height: 1.1em;

     font-weight: 700;

     text-transform: none;

}

 #hero_right .form_subtitle {

     margin-top: 11px;

     margin-bottom: 14px;

     font-size: 1.125em;

     line-height: 1.3125em;

     font-weight: 600;

}

 .hero_text {

     text-shadow: 2px 2px 6px #000;

     line-height: 1.2em;

     font-weight: 900;

     font-size: 2.7em;

}

 .internal_hero .hero_text {

     font-weight: 700;

     font-size: 2em;

     margin-bottom: 30px;

}

 .internal_hero .form_subtitle {

     font-size: 1.2em;

     margin-bottom: 30px;

}

 .internal_hero label {

     display: none;

}

 .hero_text_2x {

     font-size: 2em;

}

 .hero_text_rl {

     font-size: 2.888em;

}

 .hero_text_sl {

     font-size: 1.444em;

}

 #content {

     z-index: 2;

     margin-top: 30px;

     position: relative;

}

 #content h1 {

     font-size: 2em;

     line-height: 1.2em;

     font-weight: 700;

}

 .content_image {

     position: relative;

}

 .entry_content {

     margin-bottom: 4vw;

}

 .entry_content form {

    margin-bottom: 30px;

 }

.entry_content .form_title {

    font-size: 1.75rem;

    margin-bottom: .75rem;

    margin-top: .75rem;

    font-weight: 700;

    text-align: left !important;

    line-height: 1.2;

    color: inherit;

}

.entry_content .form_subtitle {

    font-size: 1.25rem;

    margin-bottom: 1.5rem;

    margin-top: .75rem;

    font-weight: 500;

    text-align: left !important;

    line-height: 1.2;

    color: inherit;

}

 .content_image .overlay {

     position: absolute;

     bottom: 10px;

     left: 20px;

}

}

 .trust_logos {

     margin: 2em 0 0;

}

 .trust_logos img {

     /* max-height: 62px; */
     max-height: 4vw;

     opacity: .5;

     -webkit-transition: -webkit-opacity 375ms ease;

     transition: -webkit-opacity 375ms ease;

     transition: opacity 375ms ease;

     transition: opacity 375ms ease, -webkit-opacity 375ms ease;

}

 #sub_footer_left {

     position: relative;

}

 #directions_link {

     position: absolute;

     bottom: 20px;

     z-index: 2;

     left: 50%;

     transform: translateX(-50%);

}

 #directions_link .btn {

     border: 1px solid;

     padding-left:10px;

     padding-right: 30px;

     -webkit-transition: -webkit-background-color 375ms ease;

     transition: -webkit-background-color 375ms ease;

     transition: background-color 375ms ease;

     transition: background-color 375ms ease, -webkit-background-color 375ms ease;

}

 #directions_link .btn i {

     margin-right: 20px;

}

 #sub_footer_right {

     padding-bottom: 30px;

}

 #sub_footer_right .btn,

 #hero_right .btn {

     margin-bottom: 20px;

 }

 #sub_footer .trust_logos img {

     /* max-height: 75px; */
    max-height: 4vw;
}

 #sub_footer label {

     display: none;

}

 #sub_footer .form_title {

     margin-top:21px;

     margin-bottom: 15px;

     font-size: 2em;

     font-weight: 700;

     line-height: 1.1em;

}

 #sub_footer .form_subtitle {

     margin-bottom: 14px;

     font-size: 1.125em;

     font-weight: 600;

     line-height: 1.3125em;

}

 #sub_footer .form-group {

     margin-bottom: 2vw;

}

 #sub_footer .btn-success {

     font-weight: 700;

     width: 100%;

     padding-top:15px;

     margin-top:20px;

     padding-bottom: 15px;

     border-width: 2px;

}

 .trust_logos img:hover {

     opacity: 1;

}

 .concave_curve {

     position: absolute;

     bottom: 0;

     bottom: 0;

     width: 110%;

     left: -5%;

     z-index: 900;

     height: 80px;

     border-top: 12px solid;

     border-top-left-radius: 100%;

     border-top-right-radius: 100%;

}

 .convex_curve {

     position: relative;

     z-index: 900;

     height: 80px;

     margin-top: -36px;

     margin-right: -56px;

     margin-bottom: 20px;

     margin-left: -87px;

     border-bottom: 12px solid;

     border-bottom-left-radius: 100%;

     border-bottom-right-radius: 100%;

}

 #main_ctas {

     padding-bottom: 50px;

}

 #main_ctas.internal_ctas {

     background-position: 50% 50%;

     background-size: cover;

     background-repeat: no-repeat;

}

 .convex_fix {

     overflow: hidden;

}

 .cta_image {

     height:150px;

     border: 1px solid;

     background-position: 50% 50%;

     background-size: cover;

}

 .cta_top_text {

     font-weight: bold;

     font-size: 2.5em;

     line-height: 1.2em;

}

 .cta {

     padding-top: 30px;

     padding-bottom: 30px;

}

 #cta_internal.cta {

     border:1px solid;

}

 #cta_left {

     border-right: 1px solid 

}

 .cta_image {

     margin-left: 20px;

}

 .cta_text {

     padding: 0 30px;

}

 #secondary_content_area {

     padding-bottom: 50px;

}

 #secondary_content_left {

     background-position: 50% 50%;

     background-size: cover;

     background-repeat: no-repeat;

     min-height: 23vw;

     margin-top: 0;

}

 .secondary_content_text_container {

     margin-left: 40px;

}

 .secondary_content_top_text {

     font-size: 2em;

     line-height: 1.2em;

     margin-bottom: 10px;

     margin-top: 30px;

     font-weight: 700;

}

 #testimonials {

     position: relative;

     margin-bottom: 40px;

}

 .nav_arrow {

     height: 100%;

     position: absolute;

     top: 0;

     z-index: 2;

     width: 16px;

}

 #gallery .nav_arrow {

     width: 60px;

     font-size: 3em;

}

 .nav_arrow .fas {

     position: absolute;

     top: 50%;

     left: 0;

     transform: translateY(-50%);

}

 .nav_arrow.slick-prev {

     left: 10%;

}

 #gallery .nav_arrow.slick-prev {

     left: 2%;

}

 .nav_arrow.slick-next {

     right: 10%;

}

 #gallery .nav_arrow.slick-next {

     right: 2%;

}

 .feature_top_text {

     font-size: 2em;

     font-weight: 700;

     line-height: 1.333em;

     margin-top: 27px;

     margin-bottom: 31px;

}

 .feature_lower_top_text {

     margin-bottom: 30px;

}

 .testimonial_title {

     font-size: 1.3em;

     margin-bottom: 10px;

     font-weight: 700;

}

 .testmonial_content {

     margin: 15px 0 20px;

}

 .testimonial_carousel .slick-dots {

     margin: 0;

     padding: 0;

     text-align: center;

     list-style: none;

}

 .testimonial_carousel .slick-dots li {

     position: relative;

     display: inline-block;

     width: 16px;

     height: 16px;

     margin: 0 3px;

     padding: 0;

     cursor: pointer;

}

 .testimonial_carousel .slick-dots li button {

     font-size: 0;

     line-height: 0;

     display: block;

     width: 16px;

     height: 16px;

     cursor: pointer;

     color: transparent;

     border: 0;

     border-radius: 50%;

     outline: none;

     background: transparent;

}

 #footer {

     padding-top: 10px;

     padding-bottom: 20px;

}

 .footer_logo {

     margin-bottom: 10px;

     max-width: 185px;

}

 #footer p {

     font-size: 0.875em;

     line-height: 1.35em;

}

 #footer .social a {

     margin-right: 20px;

     font-size: 1.5em;

}

 #footer .social a:hover {

     text-decoration: none;

}

 .footer_menu {

     margin: 20px 0;

}

 .footer_menu ul {

     list-style: none;

     margin: 0;

     padding: 0;

}

 .footer_menu li {

     margin-bottom: 10px;

     line-height: 1.25em;

}

 .main_item {

     font-weight: bold;

}

 .footer_menu .menu_item {

     font-size: 0.875em;

}

 #bottom_bar {

     padding-bottom: 15px;

     padding-top: 15px;

}

 #bottom_bar a {

     font-size: 1.9vw;

     line-height: 1.5vw;

}

 #bottom_bar a:hover {

     text-decoration: none;

}

 #gallery {

     margin-top: 20px;

     margin-bottom: 40px;

}

 #photo_carousel_container {

     position: relative;

}

 .photo_carousel.slick-initialized {

     height: auto !important;

}

 .fancybox-thumbs {

     top: auto;

     width: auto;

     bottom: 0;

     left: 0;

     right : 0;

     height: 95px;

     padding: 10px;

     box-sizing: border-box;

     background: rgba(0, 0, 0, 0.3);

}

 .fancybox-show-thumbs .fancybox-inner {

     right: 0;

     bottom: 95px;

}

 #trust {

     margin-bottom: 30px;

}

 .trust_item {

     opacity: 0.5;

     -webkit-filter: saturate(0%);

     filter: saturate(0%);

     -webkit-transition: opacity 958ms ease;

     transition: opacity 958ms ease;

}

 .trust_item:hover {

     opacity: 1;

     -webkit-filter: saturate(200%);

     filter: saturate(200%);

}

 .trust_item img {

     max-width: 75%;

}

.zip-error-message {
	background-color: #F33;
	font-size: 10px;
	border: 1px solid #900;
	color: #FFF;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-left: 5px;
	font-family: Arial, Helvetica, sans-serif;
	-moz-opacity: .90;
	filter: alpha(opacity=90);
	opacity: .90;
	font-weight: bold;
	margin-top: 10px;
	margin-left: 5px;
	margin-bottom: 0px;
    width: 90% 
}

#sticky_form .zip-error-message{
  width: 30%;
  position: absolute;
  margin-top: 42px; 
}

/* Large devices (desktops, less than 1200px)*/

 @media (max-width:1199.98px) {

}

/* Medium devices (tablets, less than 992px)*/

 @media (max-width:991.98px) {

     .hero_text_sl {

         font-size: 1em;

    }

     .hero_text {

         font-size: 2.3em;

    }

     .hero_text_rl {

         font-size: 2em;

    }

     #hero_left {

         padding-top: 8vw;

         margin-right: 0px;

         margin-left: 0;

    }

     #hero_right {

         width: 50%;

         margin-right: 0px;

    }

     #hero_right .form_title {

         margin-top: 0px;

         font-size: 1.4em;

    }

     #hero_right .form_subtitle {

         font-size: 1em;

         line-height: 1.5em;

    }

     .content_image {

         height: 50vw;

         margin-bottom: 30px;

    }

     #content h1 {

         font-size: 1.4em;

    }

     #content {

         margin-bottom: 50px;

    }

     .cta {

         border-top: 1px solid;

    }

     #cta_left, #cta_right {

         border-right-width: 0;

    }

     .trust_logos img {

         /* max-height: 50px; */
         max-height: 4vw;

    }

     #footer {

         padding-bottom: 60px;

    }

     #footer p, .footer_menu .menu_item {

         font-size: 0.75em;

    }

     #mobile_bar {

         height:50px;

         border-top: 4px solid;

    }

     #mobile_bar a {

         padding-top: 10px;

         padding-bottom: 10px;

    }

     .mobile_bar_button {

         border-right: 2px solid;

    }

     #last_mobile_button {

         border-right: 0;

    }

     .feature_top_text {

         font-size: 1.4em;

    }

     #sub_footer_left {

         height: 150px;

    }

     .trust_item img {

         max-width: 90%;

    }

     #top_bar a {

         -webkit-box-ordinal-group: 0;

         -webkit-order: -1;

         -ms-flex-order: -1;

         order: -1;

         -webkit-box-flex: 0;

         -webkit-flex: 0 auto;

         -ms-flex: 0 auto;

         flex: 0 auto;

         margin-right: 40px;

         padding-right: 0px;

    }

     #top_bar {

         display: -webkit-box;

         display: -webkit-flex;

         display: -ms-flexbox;

         display: flex;

         padding-left: 24px;

         -webkit-box-pack: center;

         -webkit-justify-content: center;

         -ms-flex-pack: center;

         justify-content: center;

    }

}

/* Small devices (landscape phones, less than 768px)*/

 @media (max-width:767.98px) {

     #top_bar a {

         margin-right: 20px;

    }

     .btn {

         width: 60%;

    }

     #hero {

         margin-bottom: -37px;

         padding: 0rem 3rem 6rem;

    }

     #hero_left {

         width: 100%;

         margin-top: 2vw;

         margin-right: 0;

         float: left;

    }

     .cta_top_text {

         font-size: 1.625em;

    }

     .secondary_content_text_container {

         margin-left: 0;

    }

     #secondary_content_left {

         min-height: 50vw;

         margin-top: -40px;

    }

     .secondary_content_top_text {

         font-size: 1.4em;

    }

     .form-group .col {

         padding: 0 5px;

    }

     .trust_item img {

         max-width: 100%;

    }

     #hero.internal_hero {

         padding-top: 1.5rem;

    }

}

/* Extra small devices (portrait phones, less than 576px)*/

 @media (max-width:575.98px) {

     #top_bar a {

         margin-right: 10px;

         padding-right: 0px;

    }

     .hero_text {

         font-size: 1.5em;

    }

     .btn {

         width: 80%;

    }

     #hero {

         margin-bottom: -35px;

         padding: 0 1rem 5.5rem;

    }

     #hero_left {

         margin-top: 0vw;

    }

     .cta_image {

         margin-right: 20px;

         margin-bottom: 20px;

    }

     #mobile_bar {

         font-size: 0.75em;

    }

     #sub_footer .trust_logos img {

         /* max-height:50px; */
         max-height: 4vw;

    }

     .grid-item {

         overflow: hidden;

         height: 80vw;

         position: relative !important;

         left: 0 !important;

         top: 0 !important;

    }

     .grid-item-content {

         position: relative;

         height: 100%;

         display: flex;

         justify-content: center;

         background-position: 50% 0px;

         background-size: cover;

         position: relative;

         z-index: 1;

         background-repeat: no-repeat;

    }

     .internal_hero .hero_text {

         font-size: 1.5em;

    }

}

/* Extra large devices (large desktops) */

 @media (min-width:992px) {

     .order-lg-first .page_content {

         margin-right: 50px;

    }

     .order-lg-last .page_content {

         margin-left: 50px;

    }

     .not_top .navbar-brand img {

         max-width: 115px;

    }

     #sticky_form_container {

         left: 160px;

         top: 20px;

         width: 75%;

    }

     #sticky_form_container .btn {

         padding-top: 6px;

         padding-bottom: 6px;

    }

     .trust_logos img {

         /* max-height: 50px; */
         max-height: 4vw;

    }

}

 @media (min-width:1500px) {

     .trust_logos img {

         /* max-height: 80px; */
         max-height: 4vw;

    }

}

 @media (min-width:576px) {

     .grid-item {

         margin-bottom: 1vw;

         overflow: hidden;

         height: 12vw;

         padding: 0 5px;

    }

     .grid-item-content {

         position: relative;

         height: 100%;

         display: flex;

         justify-content: center;

         background-position: 50% 0px;

         background-size: cover;

         position: relative;

         z-index: 1;

         background-repeat: no-repeat;

    }

     .grid-item--height2 {

         height: 25vw;

    }

}

