:root {
    --font-primary: "Nunito Sans", sans-serif;
    --font-size-base: 22px;
    --font-weight-bold: 700;
    --Blue: #67D1FF;
    --Darker-Blue: #01056E;
    --Week-Blue: #DAEDF8;
    --Black: #14171D;
    --White: #FFF;
    --Darker-White: #FAFAFA;
}
html, body {
    max-width: 100%;
    font-family: var(--font-primary);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--Black);
    text-align: center;
    font-size: var(--font-size-base);
    line-height: 150%;
    background: var(--Darker-White);
}
img {
    max-width: 100%;
    display: inline-block;
}
.btn {
    color: var(--Black);
    padding: 10px 22px;
}
.btn.btn-primary {
    border: 1px solid var(--Blue);
    background: var(--Blue);
}
.btn.btn-white {
    border: 1px solid var(--Black);
    background: var(--White);
    color: var(--Black);
}
.btn-link {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}
h2 {
    color: var(--Blue);
    font-size: 44px;
    font-weight: 700;
    line-height: 125%;
    letter-spacing: 0.66px;
}

.container {
    max-width: 1224px;
}
.container.container-lg {
    max-width: 1470px;
}

header {
    width: 100%;
    position: fixed;
    padding: 18px 0;
    background: var(--White);
    border-bottom: 1px solid #F1EFEA;
    z-index: 100;
}
header .logo {
    max-width: 221px;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: left;
    text-decoration: none;
}
header .logo span {
    font-size: 20px;
    font-weight: 600;
    line-height: 120%;
    color: var(--Black);
    margin: 0 15px;
}
header .logo .partner-logo {
    display: inline-block;
    max-height: 38px;
}
header .logo .partner-logo::before {
    content: "+";
    display: inline-block;
    width: 20px;
    height: 50px;
    margin-right: 30px;
    color: #00539C;
}
header nav .btn {
    font-size: 15px;
}
.page {
    width: 100%;
    display: inline-block;
    position: relative;
    margin: 82px auto 0;
}

section.banner {
    width: 100%;
    min-height: 600px;
    padding: 80px 55px;
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
}
section.banner::before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(77deg, rgba(0, 0, 0, 0.20) 24.96%, rgba(0, 0, 0, 0.00) 87.93%);    
}
section.banner picture img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

section.banner .content {
    width: 100%;
    max-width: 590px;
    padding: 35px 48px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(7px);
    text-align: left;
}
section.banner .content h1 {
    text-shadow: -11px 47px 13px rgba(94, 94, 94, 0.00), -7px 30px 12px rgba(94, 94, 94, 0.01), -4px 17px 10px rgba(94, 94, 94, 0.05), -2px 7px 8px rgba(94, 94, 94, 0.09), 0px 2px 4px rgba(94, 94, 94, 0.10);
    font-size: 56px;
    font-weight: var(--font-weight-bold);
    line-height: 100%; /* 62px */
    letter-spacing: 0.62px;
    color: var(--White);
    margin-bottom: 8px;
}
section.banner .content p {
    font-size: 20px;
    font-weight: 400;
    line-height: 140%; /* 28px */
    color: var(--White);
    margin-bottom: 0px;
}
section.banner .content form {
    width: 100%;
    margin-top: 40px;
}
section.banner .content form .form-control {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    min-height: auto;
    height: auto;
    padding: 13px 20px;
}
section.banner .content form .form-floating>label {
    font-size: 18px;
    font-weight: 600;
    opacity: 0.4;
    padding: 8px 20px;
}
section.banner .content form .form-floating>.form-control-plaintext~label,
section.banner .content form .form-floating>.form-control:focus~label,
section.banner .content form .form-floating>.form-control:not(:placeholder-shown)~label,
section.banner .content form .form-floating>.form-select~label {
    height: auto;
    padding: 10px 0 0 30px;
    background: transparent;
    transform: scale(.65) translateY(-.4rem) translateX(.15rem);
}
section.banner .content form .form-floating>.form-control-plaintext:focus, 
section.banner .content form .form-floating>.form-control-plaintext:not(:placeholder-shown), 
section.banner .content form .form-floating>.form-control:focus, 
section.banner .content form .form-floating>.form-control:not(:placeholder-shown) {
    padding: 18px 20px 8px;
}
section.banner .form-check {
    margin-top: 20px;
}
section.banner .form-check label {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    text-transform: none;
    color: var(--White);
}
section.banner .form-check label a {
    color: var(--White);
}
section.banner .content form button.btn {
    font-size: 18px;
    font-weight: 500;
    margin-top: 20px;
}
section.banner .content .let-us-help {
    margin-top: 24px;
    color: var(--White);
}
section.banner .content .let-us-help h6 {
    font-size: 18px;
    color: var(--White);
    margin: 0;
}
section.banner .content .let-us-help p {
    font-size: 18px !important;
    color: var(--White);
    margin: 5px 0 0;
}
section.banner .content .let-us-help p a {
    color: var(--White);
}
section.banner .content .let-us-help p a.book-an-appointment-link {
    font-size: 18px !important;
    color: #67D1FF;
    text-decoration: none;
}

section.trusted-by-leading-contractors {
    padding: 88px 0 100px;
}
section.trusted-by-leading-contractors h2 {
    text-align: center;
    font-size: 15px;
    line-height: 140%;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--Black);
    opacity: 0.45;
    margin-bottom: 25px;
}
section.trusted-by-leading-contractors ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
}

section.trusted-by-leading-contractors ul li {
    width: 20%;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

section.trusted-by-leading-contractors ul li img {
    max-height: 50px;
    max-width: 100%;
    object-fit: contain;
}

h3.section-subtitle {
    font-size: 15px;
    line-height: 140%;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--Black);
    opacity: 0.45;
    margin-bottom: 10px;
}
h2.section-title {
    font-size: 36px;
    margin-bottom: 25px;
    color: var(--Black);
    margin-bottom: 45px;
}

section.why-chose-project-quote-pro {
    padding: 100px 0;
    background: #F6F5F4;
}
section.why-chose-project-quote-pro .block {
    margin-bottom: 70px;
}
section.why-chose-project-quote-pro h4 {
    font-size: 36px;
    line-height: 140%;
    font-weight: var(--font-weight-bold);
    color: var(--Black);
}
section.built-for-pros-like-you {
    padding: 100px 0 50px;
}
section.built-for-pros-like-you ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
}

section.built-for-pros-like-you ul li {
    width: 20%;
    padding: 35px 52px;
    align-items: center;
    justify-content: center;
}

section.built-for-pros-like-you ul li img {
    max-width: 90px;
    object-fit: contain;
    margin-bottom: 12px;
}
section.built-for-pros-like-you ul li span {
    width: 100%;
    color: var(--Darker-Blue);
    font-size: 20px;
    line-height: 150%;
    font-weight: 600;
    letter-spacing: 0.2px;
}
section.what-our-clients-say {
    padding: 96px 0;
    background: #F6F5F4;
}
section.what-our-clients-say .container {
    max-width: 1360px;
}
section.what-our-clients-say h3 {
    margin-top: 14px;
    font-weight: var(--font-weight-bold);
}
section.what-our-clients-say .list-group-item {
    background: transparent;
    border: none;
    padding: 0 0 0 32px;
}
section.what-our-clients-say .testimonial {
    margin-top: 144px;
    padding-top: 57px;
    position: relative;
}
section.what-our-clients-say .testimonial::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    width: 40px;
    height: 33px;
    background: url(../images/quote.png) no-repeat center;
    background-size: contain;
}
section.what-our-clients-say .testimonial-text {
    font-size: 36px;
    line-height: 145%;
    font-weight: 600;
    color: var(--Black);
}
section.what-our-clients-say .testimonial-photo {
    max-width: 126px;
    margin-top: 6px;
}
section.what-our-clients-say .testimonial-name {
    font-size: 20px;
    line-height: 120%;
    font-weight: 500;
    color: var(--Black);
    opacity: 0.5;
    margin: 15px 0 5px;
}
section.what-our-clients-say .results {
    margin-top: 72px;
}
section.what-our-clients-say .results .card {
    border: none;
    text-align: left;
}
section.what-our-clients-say .results .card .card-body {
    padding: 48px 40px 48px 63px;
}
section.what-our-clients-say .results .card h5 {
    font-size: 75px;
    line-height: 100%;
    font-weight: 600;
    margin: 0;
}
section.what-our-clients-say .results .card p {
    font-size: 20px;
    line-height: 120%;
    font-weight: 500;
    margin: 8px 0 0;
    opacity: 0.5;
}

section.signup {
    padding: 100px 0;
    background: #DAEDF8;
}
section.signup h2.section-title {
    margin-bottom: 73px;
}
section.signup form label {
    font-size: 14px;
    font-weight: 600;
    line-height: 140%;
    text-transform: uppercase;
}
section.signup form input.form-control {
    font-size: 19px;
    font-weight: 600;
    padding: 14px 20px;
}
section.signup form .form-group {
    margin-bottom: 15px;
}
section.signup .form-check {
    margin-top: 20px;
}
section.signup .form-check label {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    text-transform: none;
}
section.signup .form-check label a {
    color: var(--Black);
}

section.signup .let-us-help {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid rgba(20, 23, 29, 0.30);
}
section.signup .let-us-help h6 {
    font-size: 20px;
    color: var(--Black);
    font-weight: 700;
    margin: 0;
}
section.signup .let-us-help p {
    font-size: 18px;
    color: var(--Black);
    font-weight: 400;
    margin: 0 0 15px;
}
section.signup .let-us-help p a {
    color: var(--Black);
}
section.signup .let-us-help p a.book-an-appointment-link {
    font-size: 18px;
    color: #3774FF;
    text-decoration: none;
}

footer {
    padding: 10px 0;
    font-size: 14px;
    line-height: 140%;
}