@font-face {
    font-family: "AvenirNextBold";
    src: url("../fonts/avenirnextltpro-boldcn.otf") format("opentype");
}

html, body {
    font-family: 'Roboto', sans-serif;
    font-size:16px;
    font-weight:400;
    color:#231f20;
}

a {color:#004673;}
a.active,
a:hover {color:#a22100; text-decoration:none;}

h1, .h1 {font-size:1.688rem; font-family:AvenirNextBold,sans-serif; color:#004673; text-transform:uppercase;}
h2, .h2 {font-size:1.688rem; font-family:AvenirNextBold,sans-serif; color:#004673; text-transform:uppercase;}
h3, .h3 {font-size:0.875rem; font-family:AvenirNextBold,sans-serif; color:#004673; font-weight:500; text-transform:uppercase;}
h4, .h4 {font-size:0.875rem; color:#004673; font-weight:500; text-transform:uppercase;}

/** bootstrap override **/
.container {min-width:1140px;} /*Mobile disable*/

.btn {border-radius:0;}
.btn-primary {color:#fff; background-color:#004673; border:none;}
.btn-sm {font-size:0.75rem;}

/** common **/
.container--reduced {max-width:1000px; min-width:1000px;}
.learn-more {font-size:0.875rem; font-weight:500;}

.heading-fancy {position:relative; height:80px; display:flex; justify-content:center; align-items:center; margin-bottom:1.5rem; font-size:1.688rem; font-family:AvenirNextBold,sans-serif; letter-spacing:0.08em; color:#fff; text-align:center; background-color:#004673;}
.heading-fancy a, .heading-fancy a:hover {color:#fff;}
.heading-fancy--red {background-color:#a22100;}

.heading-fancy::before {content:''; position:absolute; background-position:top left; background-repeat:no-repeat;}

.heading-fancy--support::before {width:175px; height:118px; left:-32px; bottom:0; background-image:url('../../media/static/badge-support.png');}
.heading-fancy--support span {position:absolute; top:-0.45em; left:-0.05em; font-size:3.5rem}
.heading-fancy--confidentiality::before {width:95px; height:121px; top:-25px; left:-28px; background-image:url('../../media/static/badge-confidentiality.png');}
.heading-fancy--call::before {width:96px; height:95px; top:-15px; left:-22px; background-image:url('../../media/static/badge-contact.png');}

.heading-fancy--interior, .heading-fancy--exterior, .heading-fancy--specialty {padding-right:1rem; justify-content:flex-end;}
.heading-fancy--interior::before {width:111px; height:136px; top:-20px; left:8px; background-image:url('../../media/static/badge-interior.png');}
.heading-fancy--exterior::before {width:101px; height:121px; top:-21px; left:-4px; background-image:url('../../media/static/badge-exterior.png') ;}
.heading-fancy--specialty::before {width:180px; height:100px; top:-20px; left:-66px; background-image:url('../../media/static/badge-specialty.png');}

.heading-fancy + p {padding:0 1rem;}
.heading-fancy + ul {padding-left:5.5rem;}

mark {padding:0; color:#a22100; background-color:transparent;}

.list-fancy {padding:0; font-family:AvenirNextBold,sans-serif; letter-spacing:0.025em; list-style-type:none;}
.list-fancy li {position:relative; padding-left:1.8rem; text-indent:-1.5rem; color:#004673; text-transform:uppercase;}
.list-fancy li::before {content:'\f00c'; padding-right:0.5rem; color:#a22100; font-family: "Font Awesome 5 Free"; font-weight:900;}

/** header **/
header {position:relative;}
header::before {content:''; width:100%; height:37px; position:absolute; top:0; left:0; background-color:#a22100;}
header nav ul {display:flex; justify-content:space-between; align-items:center;  list-style-type:none;}
header nav ul li a {font-size:0.875rem;}

.header-logo::before {content:''; width:100vw; height:139px; position:absolute; top:0; right:100%; background-color:#004673;}

.header-social ul {display:flex; justify-content:flex-end; align-items:center; list-style-type:none;}
.header-social ul li a {font-size:1.5rem;}

/** banner **/
.banner-cta {width:115%; position:absolute; bottom:18%; left:25%; z-index:99;}
section.banner .heading-fancy {height:90px; border:5px solid #fff;}

/** homepage **/
section.president {background:url('../../media/static/lobby-cleaning.jpg') center center no-repeat;}

section .services {margin-bottom:6rem;}

section .services .service {margin-bottom:0.75rem; background-color:#e8eef2;}
section .services .service span {font-size:1.5rem; color:#000;}
section .services .service-ico {padding-right:2rem;}
section .services .service-img {width:100%;}

.info-list ul {list-style-type:none;}
.info-list ul li {margin-bottom:0.25rem; font-size:1.5rem; color:#004673;}

/** services **/
section .services.services--horizontal {margin-bottom:0;}
.services--horizontal .service {height:31.75%;}

/** contact **/
section.contact .container > div {color:#004673; background-color:#e8eef2;}
section.contact i {padding-right:1rem; font-size:3rem; vertical-align:middle;}

/** footer **/
footer {color:#004673; background-color:#e8e9e9;}
footer form input, footer form textarea {width:100%; font-size:0.750rem; color:#615e5f; background-color:#fff; border:2px solid #e8e9e9;}
footer form textarea {min-height:5rem; padding-top:2.25em !important;}
footer form label {font-size:0.750rem;}
footer form .form-code .bg-white {border:2px solid #e8e9e9;}
footer form .form-code img {width:40%; margin-left:5%;}
footer form .form-code input {width:50%; height:3.5em; padding:1.3em 0.75em; border:none;}
footer form .form-code input::placeholder {color:#615e5f; opacity:1;}

footer .btn {border:2px solid #e8e9e9;}
footer .btn:hover {border:2px solid #e8e9e9;}

.footer-content {font-size:0.875rem;}

.footer-nav {padding:0; list-style-type:none;}
.footer-nav li {margin-bottom:0.25em;}

.footer-copyright {font-size:0.750rem;}

/** form general **/
form .float-label {position:relative; z-index:2;}
form .float-label:focus {outline:0; box-shadow:0;}
form .float-label::placeholder {color:transparent;}
form .float-label, form .float-label + label {height:3.5em; padding:1.3em 0.75em; line-height:1;}
form textarea.float-label {height:auto;}
form .float-label + label {position:absolute; top:0; left:0; user-select:none; transition:transform .25s; transform-origin:0 0; z-index:2;}
form .float-label:required + label::before {content:'* ';}
form .float-label:focus + label,
form .float-label:not(:placeholder-shown) + label {height:2em; transform:translate(1%, -90%) scale(0.8); z-index:3;}
form textarea.float-label:focus + label,
form textarea.float-label:not(:placeholder-shown) + label {transform:translate(1%, -10%) scale(0.8);}
form .float-label:invalid {}