i/* Utilities */
.inline-flex {
    display: inline-flex;
}
/* Snipes */
.snipe.pill.dark-green span {
    background: #097B24;
    color: #FFFFFF;
}

/* Energy Lines Left Template */
.banner.energy-lines-left-template::before {
    content: '';
    background-image: url(/_assets-custom/homepage/images/banners/energy-lines-left.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    display: block;
    left: -100px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: left 1s;
}
.banner.energy-lines-left-template .section-inner {
    z-index: 2;
}

/* CC & PSI Banner Template */
.banner.cc-template, 
.banner.white-box-template,
.banner.energy-lines-left-template {
    background: inherit;
    background-repeat: no-repeat;
    aspect-ratio: initial;
    height: 630px;
    max-height: 630px !important;
}
.banner.cc-template .section-inner,
.banner.white-box-template .section-inner,
.banner.energy-lines-left-template .section-inner {
    max-width: 1170px;
    z-index: 1;
    margin-top: auto;
    margin-bottom: auto;
}
.banner.cc-template .section-inner {
    padding: 0 !important;
}
.banner.white-box-template .section-inner {
    padding: 0 15px !important;
}
.banner.cc-template .banner-wpr,
.banner.white-box-template .banner-wpr {
    display: flex;
}
.banner.cc-template .snipe.pill,
.banner.white-box-template .snipe.pill {
    margin-right: auto;
}
.banner.energy-lines-left-template .text-blue a,
.banner.energy-lines-left-template .text-blue a:visited
.banner.cc-template .text-blue a,
.banner.cc-template .text-blue a:visited
.banner.white-box-template .text-blue a,
.banner.white-box-template .text-blue a:visited{
    color: #006AC3 !important;
}
.banner.energy-lines-left-template .text-black a,
.banner.energy-lines-left-template .text-black a:visited,
.banner.cc-template .text-black a,
.banner.cc-template .text-black a:visited,
.banner.white-box-template .text-black a,
.banner.white-box-template .text-black a:visited {
    color: #252525 !important;
}
.banner.energy-lines-left-template .text-white a,
.banner.energy-lines-left-template .text-white a:visited,
.banner.cc-template .text-white a,
.banner.cc-template .text-white a:visited,
.banner.white-box-template .text-white a,
.banner.white-box-template .text-white a:visited {
    color: #fff !important;
}
.banner.white-box-template .banner-text,
.banner.cc-template .banner-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: initial;
}
.banner.cc-template .h1,
.banner.white-box-template .h1 {
    max-width: initial;
}
.banner.cc-template .h1 strong,
.banner.white-box-template .h1 strong {
    font-family: 'RBCDisplay';
    font-weight: 700 !important;
}
/* CC Banner Template */
.banner.cc-template .banner-img {
    width: auto;
    height: auto;
    display: block;
    margin: auto 0 auto auto;
}
.banner.cc-template .banner-img img {
    max-height: 233px;
    width: auto;
    height: 100%;
    aspect-ratio: initial;
}
.banner.cc-template .banner-img:not(.banner-img-mobile)  {
    display: none;
}
.banner.cc-template .banner-text {
    width: 66%;
    max-width: 770px;
}


.banner.energy-lines-left-template .banner-text {
    width: 50%;
}
/*.banner.cc-template .h1 .sub-banner-text {
    color: #252525!important;
    font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
}*/


.banner.cc-template.fw-bnr a.btn,
.banner.white-box-template.fw-bnr a.btn,
.banner.energy-lines-left-template.fw-bnr a.btn {
    padding: 20px 32px !important;
}

.banner.cc-template.fw-bnr a.text-blue.standalone-link:before,
.banner.white-box-template.fw-bnr a.text-blue.standalone-link:before {
    content:url('/dvl/v1.0/assets/images/ui/ui-chevron-right-blue.svg')
}

.banner.cc-template.fw-bnr a.text-blue.phone-link:before,
.banner.white-box-template.fw-bnr a.text-blue.phone-link:before {
    content:url('/dvl/v1.0/assets/images/icons/icon-phone.svg')
}

@media (max-width: 1919px) {
    section.banner.fw-bnr.cc-template .banner-img:not(.banner-img-mobile) {
        height: 295px;
        margin: auto auto auto 0;
    }
}
@media (max-width: 1599px) {
    section.banner.fw-bnr.cc-template .banner-img:not(.banner-img-mobile) {
        height: 295px;
    }
}
@media (max-width: 1199px) {
    section.banner.fw-bnr.cc-template {
        height: auto !important;
        max-height: inherit !important;
        background-image: none !important;
    }
    .banner.cc-template .section-inner {
        max-width: initial;
    }
    section.banner.fw-bnr.cc-template .banner-wpr {
        /*display: block;*/
        display: flex;
        flex-direction: column;
        height: 630px;
    }
    section.banner.fw-bnr.energy-lines-left-template .banner-text {
        padding-top: 64px;
        padding-bottom: 32px;
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 0;
        max-width: initial;
    }
    section.banner.fw-bnr.cc-template .banner-text {
        width: 100%;
        padding-top: 64px;
        padding-bottom: 32px;
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 0;
        max-width: initial;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile {
        /*max-height: 475px;*/
        display: flex;
        align-items: center;
        justify-content: center;
        height: auto;
        /*min-height: 215px;
        max-height: 100%;*/
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 200px;
        flex-grow: 1;
        position: relative;
        width: 100%;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile::before {
        /*height: 360px;*/
        height: 100%;
        /*background-image: url(/_assets-custom/homepage/images/banners/cc-lifestyle-clo.png);*/
        background-size: cover;
        background-position: center;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        /*aspect-ratio: 9 / 16;*/
        z-index: 0;
        width: 100%;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile img {
        z-index: 1;
        max-height: 180px;
        /*margin-top: 300px;*/
        position: relative;
        bottom: -35px;
        margin-top: auto;
        margin-bottom: 0;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 0;
    }
}
@media (max-width: 960px) {
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile {
        max-height: 410px;
    }
    /*section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile::before {
        height: 300px;
    }*/
    /*section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile img {
        margin-top: 230px;
        margin-right: initial;
    }*/
    section.banner.fw-bnr.cc-template .banner-text .btn,
    section.banner.fw-bnr.cc-template .banner-text .standalone-link-container {
        display: block;
    }
    .banner.energy-lines-left-template .mob-text-black, 
    .banner.energy-lines-left-template .mob-text-black a,
    .banner.energy-lines-left-template .mob-text-black a:visited,
    .banner.energy-lines-left-template .mob-text-black a:active {
        color: #252525 !important;
    }
    .banner.energy-lines-left-template .mob-text-blue,
    .banner.energy-lines-left-template .mob-text-blue a,
    .banner.energy-lines-left-template .mob-text-blue a:visited,
    .banner.energy-lines-left-template .mob-text-blue a:active {
        color: #006AC3 !important;
    }
    .banner.energy-lines-left-template .banner-img.banner-img-mobile {
        overflow: hidden;
    }
    .banner.energy-lines-left-template .banner-img.banner-img-mobile::after {
        content: '';
        background-image: url(/dvl/v1.0/assets/images/ui/energy-lines.png);
        background-position: 100% 85%;
        background-size: 100%;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%;
        right: 20px;
        top: 0;
        z-index: 1;
        position: absolute;
    }
    .banner.energy-lines-left-template::before {
        background-image: none;
        height: 0;
    }
    section.banner.fw-bnr.energy-lines-left-template .banner-text {
        padding: 32px 15px;
        width: 100%;
    }
}
@media (max-width: 480px) {
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile {
        max-height: 275px;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile::before {
        height: 215px;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile img {
        max-height: 125px;
        /*margin-top: 150px;*/
    }
}

@media (min-width: 961px) {
    section.banner.fw-bnr.cc-template .banner-text .btn,
    section.banner.fw-bnr.cc-template .banner-text .standalone-link-container {
        display: inline-flex;
        margin-right: 16px;
    }
    section.banner.fw-bnr.energy-lines-left-template .banner-text {
        width: 50%;
    }
    section.banner.fw-bnr.energy-lines-left-template::after {
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        left: auto;
        z-index: 0;
    }
}

@media (min-width: 1200px) {
    .banner.energy-lines-left-template::before {
        left: -100px;
    }
    section.banner.fw-bnr.cc-template .section-inner {
        padding: 0 !important;
    }
    section.banner.fw-bnr.cc-template .banner-img.banner-img-mobile {
        display: none;
    }
    section.banner.fw-bnr.cc-template .banner-img:not(.banner-img-mobile) {
        display: block;
        margin-left: auto;
        margin-right: 0;
    }
    section.banner.fw-bnr.cc-template::after {
        height: 100%;
        /*background-image: url(/_assets-custom/homepage/images/banners/cc-lifestyle-clo.png);*/
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 32%;
        aspect-ratio: initial;
        z-index: 0;
    }
}
@media (min-width: 1300px) {
    section.banner.fw-bnr.cc-template::after {
        width: initial;
        aspect-ratio: 9 / 16;
    }
}
@media (min-width: 1400px) {
    .banner.energy-lines-left-template::before {
        left: 0;
    }
}
@media (min-width: 1920px) {
    section.banner.fw-bnr.cc-template::after {
        right: auto;
        left: calc(50% + 340px);
        aspect-ratio: 1;
    }
}

/* White Box Banner Template */

@media (max-width: 1199px) {
    section.banner.fw-bnr.white-box-template {
        padding-bottom: 40px;
        /*margin-bottom: 20px;*/
    }
}

@media (max-width: 1199px) {
    section.banner.fw-bnr.white-box-template {
        height: auto !important;
        max-height: inherit !important;
        /*background-image: none !important;*/
    }
    section.banner.fw-bnr.white-box-template .banner-wpr {
        /*display: block;*/
        display: flex;
        flex-direction: column;
        height: 590px;
    }
    section.banner.fw-bnr.white-box-template .banner-text {
        width: 100%;
        padding-top: 32px;
        padding-bottom: 32px;
        padding-left: 16px;
        padding-right: 16px;
        margin-top: -32px;
        max-width: initial;
    }
    section.banner.fw-bnr.white-box-template .banner-img.banner-img-mobile {
        /*height: 475px;*/
        flex-grow: 1;
        margin-left: -15px;
        margin-right: -15px;
        display: flex;
        align-items: center;
        justify-content: center;
        /*min-height: 215px;
        max-height: 100%;*/
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }
}
@media (max-width: 960px) {
    /*section.banner.fw-bnr.white-box-template .banner-img.banner-img-mobile {
        height: 300px;
    }*/
    section.banner.fw-bnr.white-box-template .banner-text .btn,
    section.banner.fw-bnr.white-box-template .banner-text .standalone-link-container {
        display: block;
    }
    section.banner.fw-bnr.energy-lines-left-template .banner-wpr {
        display: flex;
        flex-direction: column;
        height: 630px;
    }
    section.banner.fw-bnr.energy-lines-left-template .banner-img.banner-img-mobile {
        flex-grow: 1;
        margin-left: -15px;
        margin-right: -15px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
}
@media (max-width: 480px) {
    /*section.banner.fw-bnr.white-box-template .banner-img.banner-img-mobile {
        height: 215px;
    }*/
}

@media (min-width: 961px) {
    section.banner.fw-bnr.white-box-template .banner-text .btn,
    section.banner.fw-bnr.white-box-template .banner-text .standalone-link-container {
        display: inline-flex;
        margin-right: 16px;
    }
}

@media (min-width: 1200px) {
    section.banner.fw-bnr.white-box-template .banner-text {
        max-width: 770px;
    }
    section.banner.fw-bnr.white-box-template .banner-img.banner-img-mobile {
        display: none;
    }
    section.banner.fw-bnr.white-box-template .banner-img:not(.banner-img-mobile) {
        display: block;
    }
    section.banner.fw-bnr.white-box-template::after {
        height: 100%;
        /*background-image: url(/_assets-custom/homepage/images/banners/cc-lifestyle-clo.png);*/
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
        top: 0;
        right: auto;
        width: 50%;
        max-width: 960px;
        left: 50%;
        aspect-ratio: 1;
        z-index: 0;
    }
    /* GCP, IAV & AVP conditional styling */
	.avion-banner1::after {
		background-position: 70% 100% !important;
	}
	/* DI conditional styling */
	.di-banner::after {
		background-position: 70% 100% !important;
	}
}
@media (max-width: 1199px) {
	.avion-banner1::before {
		background-position: 100% 20% !important;
	}
	.mortgage-banner {
		background-position: center 0% !important;
	}
}
/*@media (min-width: 1920px) {
    section.banner.fw-bnr.white-box-template::after {
        right: auto;
        width: 50%;
        left: 50%;
        aspect-ratio: 1;
    }
}*/

/* PBAP Banners */

@media (max-width: 960px) {
    .banner-new-to-canada.banner.desktop-hidden {
        display: flex !important;
    }
    .banner-new-to-canada.banner.mobile-hidden {
        display: none !important;
    }
    .banner-new-to-canada.banner.desktop-hidden .grid-half.flex-wpr.pad-lr {
        width: 100%;
    }
}

.banner-student.banner.fw-bnr,
.banner-new-to-canada.banner.fw-bnr {
    height: 630px;
    max-height: 630px !important;
}

.banner-new-to-canada.banner.fw-bnr .grid-half.flex-wpr {
    align-content: center;
}

.banner-student.banner.fw-bnr {
    background-position: 30%;
}

.banner-student.banner.fw-bnr .section-inner .grid-wpr .grid-half + .grid-half {
	flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.standalone-link {
    padding-right: 15px;

}
.standalone-link::before {
    left: unset !important;
    right: 0px;
}

/* For Fifa homepage hero */
#banner.banner-fifa {
    background-image: url(/_assets-custom/homepage/images/banner-fifa.webp);
    background-color: rgba(1, 5, 9, 1);
    background-size: contain;
    background-repeat: no-repeat;
    min-height: 700px !important;
}

#banner.banner-fifa.fr {
    background-image: url(/_assets-custom/homepage/images/banner-fifa-fr.webp);
}

.banner-fifa-content {
    display: flex;
    flex-direction: column;
    max-width: 570px;
    gap: 64px;
    margin-left: 440px;
    padding: 0 32px 0;
}

.banner-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.banner-content h2 {
    font-size: 50px;
    font-weight: 700;
    line-height: 56px;
    color: #FFF;
}

.banner-content h3,
.banner-content h4 {
    color: #FFF;
}

.mobile-bnr-img {
    display: none;
}

@media screen and (max-width: 1920px) {
    #banner.banner-fifa {
        background-size: cover;
    }
}

@media screen and (max-width: 1600px) {
    #banner.banner-fifa {
        background-position: 45% 0;
    }
}

@media screen and (max-width: 1400px) {
    #banner.banner-fifa {
        background-position: 35% 0;
    }
}

@media screen and (max-width: 1200px) {
    #banner.banner-fifa {
        background-position: 30% 0;
    }
}

@media (min-width: 1024px) {
    .banner-content h2 {
        color: #FFF;
        font-size: 50px;
        font-weight: 700;
        line-height: 56px;
    }

    .banner-content h3,
    .banner-content h4 {
        color: #FFF;
    }

    .banner-content h3>sup>a{
        color: #FFF;
    }
}

@media screen and (max-width: 1024px) {
    .banner-fifa-container {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .mobile-bnr-img {
        display: block;
        background-image: url(/_assets-custom/homepage/images/banner-fifa-m.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        min-width: 280px;
        width: 100%;
        min-height: 400px;
    }

    .mobile-bnr-img.fr {
        background-image: url(/_assets-custom/homepage/images/banner-fifa-m-fr.webp);
    }

    #banner.banner-fifa {
        background-image: unset;
    }

    .banner-fifa-content {
        max-width: unset;
        padding: 24px 15px;
        background-color: #F3F7F8;
        gap: 27px;
        margin-left: 0;
        justify-content: center;
    }

    .banner-content {
        gap: 16px;
    }

    .banner-content h2 {
        color: #006AC3;
        font-size: 36px;
        font-weight: 500;
        line-height: 44px;
    }

    .banner-content h3,
    .banner-content h4 {
        color: #252525;
    }
}