@font-face {
    font-family: Roboto Condensed;
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('roboto-condensed-700-woff2.woff2') format('woff2')
        ,url('roboto-condensed-700-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto Condensed;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('roboto-condensed-regular-woff2.woff2') format('woff2')
        ,url('roboto-condensed-regular-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('roboto-500-woff2.woff2') format('woff2')
        ,url('roboto-500-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto;
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('roboto-700-woff2.woff2') format('woff2')
        ,url('roboto-700-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto;
    font-weight: 700;
    font-style: italic;
    font-display: swap;
    src: local('')
        ,url('roboto-700-italic-woff2.woff2') format('woff2')
        ,url('roboto-700-italic-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto;
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    src: local('')
        ,url('roboto-italic-woff2.woff2') format('woff2')
        ,url('roboto-italic-woff.woff') format('woff');
}
@font-face {
    font-family: Roboto;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('roboto-regular-woff2.woff2') format('woff2')
        ,url('roboto-regular-woff.woff') format('woff');
}
@font-face {
    font-family: Source Sans Pro;
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('source-sans-pro-700-woff2.woff2') format('woff2')
        ,url('source-sans-pro-700-woff.woff') format('woff');
}
@font-face {
    font-family: Source Sans Pro;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: local('')
        ,url('source-sans-pro-regular-woff2.woff2') format('woff2')
        ,url('source-sans-pro-regular-woff.woff') format('woff');
}
 
 
:root{
    
    --bs-primary-rgb: 207 33 39;
    --bs-primary-hsl: 358 72.5% 47.1%;
    --bs-primary-hex: #cf2127;
    --bs-primary: rgb(207 33 39);
    --bs-dark-rgb: 27 27 27;
    --bs-dark-hsl: NAN 0% 10.6%;
    --bs-dark-hex: #1b1b1b;
    --bs-dark: rgb(27 27 27);
    --body: #726a6a;
    --border-gray: #e2d6d6;
    --blue: #2e8fc1;
    --beige: #f5eaea;
    --pale-blue:#e7f9ff;
    --light-gray:#a49b9b;
}

body{
    position:relative;
    font-family:'Roboto', Helvetica, sans-serif;
    font-size:16px;
    line-height:26px;
    overflow-x:hidden;
    color:var(--body);
}
main{
    margin-top:95px;
}
@media (min-width:576px){
    main{
        margin-top:120px;
    }
}
@media (min-width:768px){
    body{
        font-size:24px;
        line-height:34px;
    }

}
a{
    color:var(--bs-primary);
    text-decoration:none;
    transition: opacity .25s ease-in-out;
}
a:hover,
a:focus{
    color:var(--bs-primary);
    opacity:.65;
}
img[width][height] {
    content-visibility: auto;
}
img {
    max-width: 100%;
    height: auto;
}
.btn{
    text-transform:uppercase;
    border-width:1px;
    font-size:18px;
    font-weight:400;
    letter-spacing:0.05rem;
    border-radius:48px;
    line-height:30px;
    padding:14px 1.5rem;
    box-shadow:0px 10px 20px rgba(0,0,0,0.35);
}
.btn:not(.nav-btn){
    width:260px;
}
.btn-primary,
.btn-primary:visited{
    background-color:var(--bs-primary) !important;
    border-color:var(--bs-primary) !important;
    transition: opacity .25s ease-in-out;
}
.btn-primary:hover,
.btn-primary:visited:hover,
.btn-primary:focus,
.btn-primary:visited:focus{
    box-shadow:10px 10px 20px rgba(0,0,0,0.35);
    opacity:.65;
}
.background-image-holder{
    height:calc(100vh - 120px);
    position:relative;
    overflow-y:hidden;
}
@media (max-width:992px) and (orientation:landscape){
    .background-image-holder{
        height:500px;
    }
}
@media (min-width:768px){
    .background-image-holder{
        height:900px;
    }
}
.background-image-holder .container-fluid,
.background-image-holder .container{
    position:relative;
    z-index:3;
}
.background-image-holder picture{
    z-index: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: var(--bs-dark);
}
.background-image-holder picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity:.7;
}
h1{
    font-family:'Roboto Condensed', Helvetica, sans-serif;
    font-size:40px;
    line-height:1;
    font-weight:400;
    color:var(--bs-dark);
}
h2{
    font-family:'Roboto Condensed', Helvetica, sans-serif;
    font-size:32px;
    line-height:1;
    font-weight:400;
    color:var(--bs-dark);
    margin-bottom:25px;
}
@media (min-width:768px){
    h1{
        font-size:90px;
    }
    h2{
        font-size:52px;
    }
}

/* Navigation */
.navbar{
    padding-top:5px;
    padding-bottom:5px;
    box-shadow: 0px 5px 20px rgba(0,0,0,0.15);
}
.nav-logo{
    display:block;
    width:auto;
    height:100px;
}
nav .nav-logo{
    height:75px;
}
@media (min-width:576px){
    nav .nav-logo{
        height:100px;
    }
}
.nav-link{
    font-weight:500;
    font-size:20px;
    line-height:48px;
    letter-spacing:0;
    color:var(--bs-dark);
}
.nav-link:hover,
.nav-link:focus{
    color:var(--bs-primary);
}
@media (min-width:992px){
    .navbar-expand-lg .navbar-nav .nav-link{
        padding-right:1rem;
        padding-left:1rem;
    }
}
.navbar-text{
    color:var(--bs-dark);
    font-size:16px;
    line-height:26px;
}
.navbar-text a{
    color:var(--bs-primary);
    transition: opacity .25s ease-in-out;
}
.navbar-text a:hover,
.navbar-text a:focus{
    color:var(--bs-primary);
    opacity:.5;
}
@media (max-width:767px){
    .mobile-hide{
        display:none;
    }
}
.mobile-phone{
    font-size:24px;
    color:var(--bs-primary);
}
@media (max-width:575px){
    .navbar .btn{
        padding:8px .75rem;
        font-size:16px;
    }
}



/* Footer */
footer p.copyright{
    font-family: 'Source Sans Pro', Helvetica, sans-serif;
    font-size:11px;
    letter-spacing:0.025rem;
    line-height:18px;
    color:#a3a3a3;
    margin-top:10px;
}
footer p.copyright a{
    color:#a3a3a3;
    text-decoration:underline;
}
footer p.copyright a:hover,
footer p.copyright a:focus{
    opacity:1;
    color:var(--bs-primary);
}
.company-info p{
    color:var(--bs-dark);
    font-size:14px;
    line-height:18px;
    letter-spacing:0.05rem;
    font-family: 'Source Sans Pro', Helvetica, sans-serif;

}
.text-primary{
    color:var(--bs-primary) !important;
}
.company-info p.text-primary{
    font-size:18px;
}
footer .social-media li{
    text-align:center;
}
footer .social-media li a{
    font-size:18px;
    line-height:30px;
}


/* Hero */
.white-wave{
    width:100%;
    bottom:0;
    left:0;
    right:0;
    position:absolute;
    z-index:2;
}
.cta-text{
    font-family:'Source Sans Pro', Helvetica, sans-serif;
    font-size:18px;
    line-height:30px;
}
.landing-hero hr{
  border-width: 1px;
  border-color: rgb(255, 255, 255);
  border-style: solid;
  opacity: 0.502;
  margin-top:1.5rem;
}


/* Top Section */
.icon-box{
    border: 1px solid var(--border-gray);
    padding:45px 30px 30px 30px;
    height:100%;
}
.icon-box svg{
    height:63px;
    margin-bottom:30px;
}
.icon-box p{
    color:var(--blue);
    margin-bottom:0;
}


/* Middle Section */
.beige-bg{
    background-color:var(--beige);
}
.pros-tpl{
    position:relative;
}
.pros-tpl h2{
    position:relative;
    z-index:3;
}
.pros-tpl .count{
    font-family:'Roboto Condensed', Helvetica, sans-serif;
    font-weight:bold;
    color:var(--pale-blue);
    font-size:250px;
    line-height:1;
    display:block;
    position:relative;
    margin-bottom:-61px;
}
@media (min-width:576px){
    .pros-tpl .count{
        font-size:200px;
        margin-bottom:-61px;
    }
}
@media (min-width:768px){
    .pros-tpl .count{
        font-size:250px;
        margin-bottom:-89px;
    }
}
@media (min-width:1200px){
    .pros-tpl .count{
        font-size:300px;
        margin-bottom:-99px;
    }
}
@media (min-width:1400px){
    .pros-tpl .count{
        font-size:400px;
        margin-bottom:-115px;
    }
}



/* Bottom Section */
.dark-bg{
    background-color:var(--bs-dark);
}
.dark-bg p{
    color:var(--light-gray);
}
.circle-img{
    border-radius:50%;
}
.five-stars li{
    color:#f6b834;
}
.five-stars .list-inline-item:not(:last-child){
    margin-right:0;
}



/* Pop-up form */
.btn-close{
    background:none;
    opacity:1;
    z-index:3;
    position:absolute;
    top:0px;
    right:5px;
    color:var(--bs-dark);
    border-radius:0;
}
.btn-close:hover,
.btn-close:focus{
    opacity:1;
    box-shadow:none;
    color:var(--bs-primary);
}
.modal-content{
    border-radius:0;
}
.form-control{
    margin-bottom:15px;
    border-radius:30px;
    text-align:center;
    color:var(--bs-dark);
    padding:19px 0.75rem;
    border-color:var(--border-gray);
    line-height:1;
}
.form-control::placeholder{
    text-transform:uppercase;
    color:var(--bs-dark);
}
.form-control:focus{
    color:var(--bs-dark);
    border-color:var(--blue);
    box-shadow: 0 0 0 .25rem rgba(46,143,193,.25);
}



/* Utilities */
:root {
    --sm: 35px;
    --md: 80px;
    --lg: 100px;
    --xl: 200px;/* I think we might need an xl spacing util, but I could be wrong -cw */
}
.mt-overlay,
.my-overlay {
    margin-top: calc(var(--sm) * -1);
}
.mb-overlay,
.my-overlay {
    margin-bottom: calc(var(--sm) * -1);
}
.py-unset,
.pt-unset {
    padding-top: unset;
}
.py-unset,
.pb-unset {
    padding-bottom: unset;
}
.pt-sm,
.py-sm {
    padding-top: var(--sm);
}
.pb-sm,
.py-sm {
    padding-bottom: var(--sm);
}
.pt-md,
.py-md {
    padding-top: var(--md);
}
.pb-md,
.py-md {
    padding-bottom: var(--md);
}
.pt-lg,
.py-lg {
    padding-top: var(--lg);
}
.pb-lg,
.py-lg {
    padding-bottom: var(--lg);
}
.pt-xl,
.py-xl {
    padding-top: var(--xl);
}
.pb-xl,
.py-xl {
    padding-bottom: var(--xl);
}
.my-unset,
.mt-unset {
    margin-top: unset;
}
.my-unset,
.mb-unset {
    margin-bottom: unset;
}
.mt-sm,
.my-sm {
    margin-top: var(--sm);
}
.mb-sm,
.my-sm {
    margin-bottom: var(--sm);
}    
.mt-md,
.my-md {
    margin-top: var(--md);
}
.mb-md,
.my-md {
    margin-bottom: var(--md);
}
.mt-lg,
.my-lg {
    margin-top: var(--lg);
}
.mt-lg-overlay {
    margin-top: calc(var(--lg) * -1);
}
.mb-lg,
.my-lg {
    margin-bottom: var(--lg);
}
.mt-xl,
.my-xl {
    margin-top: var(--xl);
}
.mb-xl,
.my-xl {
    margin-bottom: var(--xl);
}
@media (min-width: 576px) {
    .pt-unset-mob,
    .py-unset-mob {
        padding-top: unset;
    }
    .py-unset-mob,
    .pb-unset-mob {
        padding-bottom: unset;
    }
    .pt-sm-mob,
    .py-sm-mob {
        padding-top: var(--sm);
    }
    .pb-sm-mob,
    .py-sm-mob {
        padding-bottom: var(--sm);
    }
    .pt-md-mob,
    .py-md-mob {
        padding-top: var(--md);
    }
    .pb-md-mob,
    .py-md-mob {
        padding-bottom: var(--md);
    }
    .pt-lg-mob,
    .py-lg-mob {
        padding-top: var(--lg);
    }
    .pb-lg-mob,
    .py-lg-mob {
        padding-bottom: var(--lg);
    }
    .pt-xl-mob,
    .py-xl-mob {
        padding-top: var(--xl);
    }
    .pb-xl-mob,
    .py-xl-mob {
        padding-bottom: var(--xl);
    }
    .my-unset-mob,
    .mt-unset-mob {
        margin-top: unset;
    }
    .my-unset-mob,
    .mb-unset-mob {
        margin-bottom: unset;
    }
    .mt-sm-mob,
    .my-sm-mob {
        margin-top: var(--sm);
    }
    .mb-sm-mob,
    .my-sm-mob {
        margin-bottom: var(--sm);
    }    
    .mt-md-mob,
    .my-md-mob {
        margin-top: var(--md);
    }
    .mb-md-mob,
    .my-md-mob {
        margin-bottom: var(--md);
    }
    .mt-lg-mob,
    .my-lg-mob {
        margin-top: var(--lg);
    }
    .mb-lg-mob,
    .my-lg-mob {
        margin-bottom: var(--lg);
    }
    .mt-xl-mob,
    .my-xl-mob {
        margin-top: var(--xl);
    }
    .mb-xl-mob,
    .my-xl-mob {
        margin-bottom: var(--xl);
    }
}
@media (min-width: 768px) {
    .pt-unset-tab,
    .py-unset-tab {
        padding-top: unset;
    }
    .py-unset-tab,
    .pb-unset-tab {
        padding-bottom: unset;
    }
    .pt-sm-tab,
    .py-sm-tab {
        padding-top: var(--sm);
    }
    .pb-sm-tab,
    .py-sm-tab {
        padding-bottom: var(--sm);
    }
    .pt-md-tab,
    .py-md-tab {
        padding-top: var(--md);
    }
    .pb-md-tab,
    .py-md-tab {
        padding-bottom: var(--md);
    }
    .pt-lg-tab,
    .py-lg-tab {
        padding-top: var(--lg);
    }
    .pb-lg-tab,
    .py-lg-tab {
        padding-bottom: var(--lg);
    }
    .pt-xl-tab,
    .py-xl-tab {
        padding-top: var(--xl);
    }
    .pb-xl-tab,
    .py-xl-tab {
        padding-bottom: var(--xl);
    }
    .my-unset-tab,
    .mt-unset-tab {
        margin-top: unset;
    }
    .my-unset-tab,
    .mb-unset-tab {
        margin-bottom: unset;
    }
    .mt-sm-tab,
    .my-sm-tab {
        margin-top: var(--sm);
    }
    .mb-sm-tab,
    .my-sm-tab {
        margin-bottom: var(--sm);
    }    
    .mt-md-tab,
    .my-md-tab {
        margin-top: var(--md);
    }
    .mb-md-tab,
    .my-md-tab {
        margin-bottom: var(--md);
    }
    .mt-lg-tab,
    .my-lg-tab {
        margin-top: var(--lg);
    }
    .mb-lg-tab,
    .my-lg-tab {
        margin-bottom: var(--lg);
    }
    .mt-xl-tab,
    .my-xl-tab {
        margin-top: var(--xl);
    }
    .mb-xl-tab,
    .my-xl-tab {
        margin-bottom: var(--xl);
    }
}
@media (min-width: 992px) {
    .pt-unset-lap,
    .py-unset-lap {
        padding-top: unset;
    }
    .py-unset-lap,
    .pb-unset-lap {
        padding-bottom: unset;
    }
    
    .pt-sm-lap,
    .py-sm-lap {
        padding-top: var(--sm);
    }
    .pb-sm-lap,
    .py-sm-lap {
        padding-bottom: var(--sm);
    }
    .pt-md-lap,
    .py-md-lap {
        padding-top: var(--md);
    }
    .pb-md-lap,
    .py-md-lap {
        padding-bottom: var(--md);
    }
    .pt-lg-lap,
    .py-lg-lap {
        padding-top: var(--lg);
    }
    .pb-lg-lap,
    .py-lg-lap {
        padding-bottom: var(--lg);
    }
    .pt-xl-lap,
    .py-xl-lap {
        padding-top: var(--xl);
    }
    .pb-xl-lap,
    .py-xl-lap {
        padding-bottom: var(--xl);
    }
    .my-unset-lap,
    .mt-unset-lap {
        margin-top: unset;
    }
    .my-unset-lap,
    .mb-unset-lap {
        margin-bottom: unset;
    }
    .mt-sm-lap,
    .my-sm-lap {
        margin-top: var(--sm);
    }
    .mb-sm-lap,
    .my-sm-lap {
        margin-bottom: var(--sm);
    }    
    .mt-md-lap,
    .my-md-lap {
        margin-top: var(--md);
    }
    .mb-md-lap,
    .my-md-lap {
        margin-bottom: var(--md);
    }
    .mt-lg-lap,
    .my-lg-lap {
        margin-top: var(--lg);
    }
    .mb-lg-lap,
    .my-lg-lap {
        margin-bottom: var(--lg);
    }
    .mt-xl-lap,
    .my-xl-lap {
        margin-top: var(--xl);
    }
    .mb-xl-lap,
    .my-xl-lap {
        margin-bottom: var(--xl);
    }
    .mt-overlay,
.my-overlay {
    margin-top: calc(var(--md) * -1);
}
}
@media (min-width: 1200px) {
    .py-unset-desk,
    .pt-unset-desk {
        padding-top: unset;
    }
    .py-unset-desk,
    .pb-unset-desk {
        padding-bottom: unset;
    }
    .pt-sm-desk,
    .py-sm-desk {
        padding-top: var(--sm);
    }
    .pb-sm-desk,
    .py-sm-desk {
        padding-bottom: var(--sm);
    }
    .pt-md-desk,
    .py-md-desk {
        padding-top: var(--md);
    }
    .pb-md-desk,
    .py-md-desk {
        padding-bottom: var(--md);
    }
    .pt-lg-desk,
    .py-lg-desk {
        padding-top: var(--lg);
    }
    .pb-lg-desk,
    .py-lg-desk {
        padding-bottom: var(--lg);
    }
    .pt-xl-desk,
    .py-xl-desk {
        padding-top: var(--xl);
    }
    .pb-xl-desk,
    .py-xl-desk {
        padding-bottom: var(--xl);
    }
    .my-unset-desk,
    .mt-unset-desk {
        margin-top: unset;
    }
    .my-unset-desk,
    .mb-unset-desk {
        margin-bottom: unset;
    }
    .mt-sm-desk,
    .my-sm-desk {
        margin-top: var(--sm);
    }
    .mb-sm-desk,
    .my-sm-desk {
        margin-bottom: var(--sm);
    }    
    .mt-md-desk,
    .my-md-desk {
        margin-top: var(--md);
    }
    .mb-md-desk,
    .my-md-desk {
        margin-bottom: var(--md);
    }
    .mt-lg-desk,
    .my-lg-desk {
        margin-top: var(--lg);
    }
    .mb-lg-desk,
    .my-lg-desk {
        margin-bottom: var(--lg);
    }
    .mt-xl-desk,
    .my-xl-desk {
        margin-top: var(--xl);
    }
    .mb-xl-desk,
    .my-xl-desk {
        margin-bottom: var(--xl);
    }
}