.page-heading-form {
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    transition: opacity .3s ease-out
}

@media (max-width:767px) {
    .page-heading-form {
        opacity: 1
    }
}

.page-heading-form.in-view {
    opacity: 1
}

@media (min-width:768px) {
    .page-heading-form.in-view .page-heading-form__image-cont {
        animation: from-right .3s ease-out
    }

    .page-heading-form.in-view .page-heading-form__text-outer-cont {
        animation: from-left .3s ease-out
    }
}

.page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>h1 {
    font-size: 3rem;
    letter-spacing: -.5px;
    line-height: 3.4rem
}

@media (min-width:1080px) {
    .page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>h1 {
        font-size: 4.2rem;
        line-height: 4.6rem
    }
}

.page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>p {
    font-size: 1.8rem;
    line-height: 2.6rem
}

.page-heading-form__text-outer-cont {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 48px;
    padding-top: 48px;
    position: relative;
    width: 100%
}

@media (min-width:768px) {
    .page-heading-form__text-outer-cont {
        width: 65%
    }
}

@media (min-width:1080px) {
    .page-heading-form__text-outer-cont {
        padding-bottom: 72px;
        padding-top: 72px
    }
}

.page-heading-form__text-outer-cont__text-inner-cont {
    background-color: hsla(0, 0%, 100%, .9);
    border-radius: 6px;
    padding: 30px;
    width: calc(100% - 36px)
}

@media (min-width:768px) {
    .page-heading-form__text-outer-cont__text-inner-cont {
        padding: 36px;
        width: calc(75% - 24px)
    }
}

@media (min-width:1080px) {
    .page-heading-form__text-outer-cont__text-inner-cont {
        width: calc(66.66667% - 24px)
    }
}

.page-heading-form__text-outer-cont__text-inner-cont>h1 {
    color: #00a6de;
    font-size: 15px
}

.page-heading-form__text-outer-cont__text-inner-cont>p {
    color: #444;
    font-size: 2.4rem;
    line-height: 3.2rem;
    margin-top: 24px
}

.page-heading-form__text-outer-cont__text-inner-cont>p span {
    font-size: 1.2rem;
    line-height: 1.8rem
}

.page-heading-form__text-outer-cont__text-floating-cont {
    bottom: 0;
    margin: 0;
    max-width: 200px;
    width: 250px;
    padding: 0;
    position: absolute;
    right: -30px;
    z-index: 1
}

.page-heading-form__text-outer-cont__text-floating-cont img {
    height: 100%;
    width: 100%
}

@media (max-width:767px) {
    .page-heading-form__text-outer-cont__text-floating-cont {
        display: none
    }
}

.page-heading-form__text-outer-cont__text-floating-cont__floating-textbox {
    background-color: #0f4ea3;
    border: 3px solid #fff;
    border-radius: 6px;
    bottom: 65px;
    max-width: 200px;
    padding: 4px;
    position: absolute;
    text-align: center
}

.page-heading-form__text-outer-cont__text-floating-cont__floating-textbox p {
    color: #fff
}

.page-heading-form__text-outer-cont__text-floating-cont__floating-textbox p.quote {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.6rem;
    padding-bottom: 6px
}

.page-heading-form__text-outer-cont__text-floating-cont__floating-textbox p.author {
    font-size: 1.2rem;
    line-height: 1.6rem
}

.page-heading-form__text-outer-cont__text-variable-cont {
    background-color: rgba(27, 71, 121, .6);
    border-radius: 6px;
    color: #fff;
    max-width: 750px;
    padding: 30px
}

.page-heading-form__text-outer-cont__text-variable-cont img {
    height: 100%;
    margin-top: 24px;
    width: 100%
}

.page-heading-form__text-outer-cont__text-variable-cont p {
    margin-top: 24px
}

.page-heading-form__text-outer-cont__text-variable-cont p:first-child {
    margin-top: 0
}

.page-heading-form__text-outer-cont__text-variable-cont ol,
.page-heading-form__text-outer-cont__text-variable-cont ul {
    list-style-type: disc;
    margin-top: 18px;
    padding-left: 20px
}

.page-heading-form__text-outer-cont__text-variable-cont ol>li,
.page-heading-form__text-outer-cont__text-variable-cont ul>li {
    margin-top: 4px;
    position: relative
}

.page-heading-form__image-cont {
    background-color: var(--primary-blue, #1A4982);
    background-image: url(https://cdn.windowworld.com/asset/805454138121/image_0oeeqgioi16ep7a3nramhd187g/icon-w-hero-overlay?content-disposition=inline);
    background-position: 0;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 36px 0;
    position: relative;
    width: 100%
}

@media (max-width:767px) {
    .page-heading-form__image-cont {
        flex-grow: 1;
        min-height: 250px;
        padding: 30px 0
    }
}

@media (min-width:768px) {
    .page-heading-form__image-cont {
        display: flex;
        flex-direction: column;
        height: auto;
        justify-content: center;
        order: 1;
        width: 35%
    }
}

@media (min-width:1080px) {
    .page-heading-form__image-cont {
        min-height: 683px
    }
}


.page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>h1 {
    font-size: 3rem;
    letter-spacing: -.5px;
    line-height: 3.4rem
}

@media (min-width:1080px) {
    .page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>h1 {
        font-size: 4.2rem;
        line-height: 4.6rem
    }
}

.page-heading-form--primary .page-heading-form__text-outer-cont__text-inner-cont>p {
    font-size: 1.8rem;
    line-height: 2.6rem
}
@media (min-width:768px) {
    .request-quote .in-view .request-quote__form-cont {
        animation: from-bottom .3s ease-out
    }
}

.request-quote__form-cont {
    width: 100%
}

@media (min-width:1080px) {
    .request-quote__form-cont {
        margin: 0 auto;
        width: calc(83.33333% + 4px)
    }
}

.request-quote__form-cont>form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.request-quote__form-cont>form>fieldset {
    width: calc(100% - 36px)
}

@media (min-width:1080px) {
    .request-quote__form-cont>form>fieldset {
        width: 100%
    }
}

.request-quote__form-cont>form>.submit {
    margin-top: 24px;
    text-align: center;
    width: 100%
}

.request-quote__form-cont>form>.submit input {
    background-color: #00a6de;
    border-radius: 6px;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    text-align: center;
    width: 90%
}

.request-quote__form-cont>form>.submit input:hover {
    background-color: #02bcfa
}

@media (min-width:768px) {
    .request-quote__form-cont>form>.submit input {
        max-width: 200px
    }

    .request-quote__form-cont>form>.submit input.w100 {
        max-width: none;
        width: 100%
    }
}

.request-quote__form-cont>form>.submit p {
    color: #fff;
    font-size: 2.2rem;
    line-height: 2.8rem;
    margin-top: 12px
}

@media (min-width:768px) {
    .request-quote__form-cont>form>.submit p a {
        color: #fff
    }

    .request-quote__form-cont>form>.submit p a:after {
        background: #fff;
        content: "";
        display: block;
        height: 2px;
        transition: .3s;
        width: 0
    }

    .request-quote__form-cont>form>.submit p a:hover:after {
        width: 100%
    }
}

.request-quote__form-cont>form>p {
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-align: center;
    width: 90%
}

@media (min-width:768px) {
    .request-quote__form-cont>form>p {
        width: 80%
    }

    .request-quote__form-cont>form>p.smaller {
        font-size: 1.2rem;
        line-height: 1.6rem;
        width: 90% !important
    }
}

.request-quote__form-cont__input-cont {
    margin-top: 12px
}

.request-quote__form-cont__input-cont:first-child {
    margin-top: 0
}

.form-field {
    display: flex;
    margin-bottom: 2rem;
    position: relative;
    width: 100%
}

.form-field-hide {
    display: none
}

.form-field .label-icon {
    color: #dedede;
    left: 10px;
    pointer-events: none;
    position: absolute;
    top: calc(50% - .5em);
    transform: none;
    transition: color .3s ease-out
}

.form-field .label-icon-textarea {
    color: #dedede;
    left: 10px;
    padding-top: 6px;
    position: absolute;
    top: .4em
}

.form-field input:not([type=submit]),
.form-field select,
.form-field textarea {
    background-color: #fff;
    border: 2px solid #dedede;
    border-radius: 6px;
    color: #444;
    font-size: 1.6rem;
    font-weight: 500;
    height: 48px;
    line-height: 48px;
    min-width: 100px;
    padding-left: 30px;
    padding-right: 20px;
    transition: border-color .3s ease-out;
    width: 100%
}

.form-field input:not([type=submit]):focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: #00a6de
}

.form-field input:not([type=submit]):focus~.label-icon,
.form-field input:not([type=submit]):focus~.label-icon-textarea,
.form-field select:focus~.label-icon,
.form-field select:focus~.label-icon-textarea,
.form-field textarea:focus~.label-icon,
.form-field textarea:focus~.label-icon-textarea {
    color: #00a6de
}

.form-field.has-error input:not([type=submit]),
.form-field.has-error select,
.form-field.has-error textarea {
    border: 2px solid #dc3545;
    transition: border-color .3s ease-out
}

.form-field.has-error input:not([type=submit])~.label-icon,
.form-field.has-error input:not([type=submit])~.label-icon-textarea,
.form-field.has-error select~.label-icon,
.form-field.has-error select~.label-icon-textarea,
.form-field.has-error textarea~.label-icon,
.form-field.has-error textarea~.label-icon-textarea {
    color: #dc3545
}

.form-field textarea {
    line-height: normal;
    min-height: 88px;
    padding-bottom: 6px;
    padding-top: 6px
}

.form-field select {
    padding-left: 30px;
    padding-right: 30px;
    width: 100%
}

.form-field select:required:invalid {
    color: #666
}

.form-field select option {
    color: #444
}

.form-field select option[value=""][disabled] {
    display: none
}

.form-field {
    margin-bottom: 12px
}

.request-quote__header-cont {
    color: #fff;
    font-size: 2.2rem;
    line-height: 2.8rem;
    padding-bottom: 12px;
    text-align: center
}

.request-quote__logos-images {
    align-items: center;
    display: flex;
    justify-content: space-evenly;
    margin: 0 auto;
    padding-bottom: 12px;
    width: 100%
}

@media (min-width:1080px) {
    .request-quote__logos-images {
        margin: 0 auto;
        width: calc(83.33333% + 4px)
    }
}

.request-quote__logos-images img {
    height: 100%;
    max-width: calc(20.833% + 1px)
}
