/* HERO - Summer 2025 :: START */
@media screen and (min-width: 684px) {
    .container.is-max-narrow:not(.is-max-desktop):not(.is-max-widescreen) { 
        max-width: 684px;
    }
}

@keyframes hideLoader {
    to {opacity: 0;}
}

@keyframes shrinkLoader {
    to {height: 0;}
}

.ww-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
    height: 360px;
    opacity: 1;
    pointer-events: none;
}
.ww-loader.fade-out {
    animation-name: hideLoader, shrinkLoader;
    animation-duration: 1s, 0.2s;
    animation-delay: 0s, 1s;
    animation-fill-mode: forwards;
}

@keyframes growCarousel {
    to  {height:360px;}
}
@keyframes showCarousel {
    to  {opacity:1;}
}
.ww-carousel-hero {
    height: 0;
    opacity: 0;
    overflow-x: hidden;
}
.ww-carousel-hero.fade-in {
    animation-name: growCarousel, showCarousel;
    animation-duration: 0.2s, 1s;
    animation-delay: 1s, 1.2s;
    animation-fill-mode: forwards;
}

.ww-carousel {
    align-items: center;
    display: flex;
    overflow-x: hidden;
    margin-top: 1.4rem;
    position: relative;
    height: calc(230px + 1.5rem);
    width: 2900px;
    margin-left: auto;
    margin-right: auto; 
}
.ww-carousel-cont {
    padding-top: 1.5rem;
    position: absolute;
}
.ww-carousel-img {
    display: flex;
    justify-content: center;
}
.ww-carousel-img img {
    border-radius: 20px;
    max-width: 230px;
    max-height: 230px;
    object-fit: contain;
}
.ww-carousel-img .ww-pill {
    display: block;
    position: absolute;
    top: 0;
    margin: 0 auto;
}
@media screen and (min-width: 684px) {
    .ww-loader {
        height: 412px;
    }
    @keyframes growCarousel {
        to  {height:412px;}
    }
    .ww-carousel {
        height: calc(275px + 1.5rem);
    }
    .ww-carousel-img img {
        max-width: 275px;
        max-height: 275px;
    }
    .ww-carousel {
        margin-top: 1.25rem;
    }
}


.ww-pill.has-border-white {
    border-width: 2px;
}
/* HERO - Summer 2025 :: END */

/**** French Hero - August 2025 :: START ****/
.cp-container {
    opacity: 0;
    pointer-events: none;
    transition: opacity 2s;
}
.cp-container-2, .cp-container-3 {
    position: absolute;
    top: 12px;
}
.cp-container.active {
    opacity: 1;
    pointer-events: all;
}
/**** French Hero - August 2025 :: END   ****/

/**** Proudly Canadian 2025 - START ****/
.proud-badge {
    align-items: center;
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
}
.proud-badge img {
    width: 70%;
    max-width: 335px;
}
.proud-badge.fr img {
    width: 100%;
    max-width: 404px;
}
@media screen and (min-width: 835px){
    .proud-badge {
        flex-direction: row;
        border: 2px solid #fff;
        border-radius: 9999px;
        justify-content: space-between;
        padding: 0.8rem;
    }
    .proud-badge.fr {
        flex-direction: column-reverse;
        border: none;
        border-radius: 9999px;
        justify-content: space-between;
        margin: 0;
        padding: 0;
    }
}

@media screen and (min-width: 890px){
    .proud-badge.fr {
        flex-direction: row;
        border: 1px solid #fff;
        border-radius: 9999px;
        justify-content: space-between;
        margin: 0 40px;
        padding: 0.8rem;
    }
}
/**** Proudly Canadian 2025 - END ****/



/**** PRODUCT LINE-UP - START ****/
.jstw-product {
    border-radius: 20px;
    column-gap: 1rem;
    display: grid;
    grid-template-columns: 25% auto;
    grid-template-rows: auto auto auto;
    margin-top: 1.5rem;
    padding: 0 0.5rem 0.5rem 0.5rem;
}

@media screen and (min-width: 400px) { 
    .jstw-product {
        padding: 0 1rem 1rem 1rem;
    }
}
@media screen and (min-width: 550px) { 
    .jstw-product {
        grid-template-columns: 20% auto;
    }
}
@media screen and (min-width: 769px) { 
    .jstw-product {
        grid-template-columns: 25% auto;
    }
}
@media screen and (min-width: 1024px) { 
    .jstw-product {
        grid-template-columns: auto;
        grid-template-rows: auto auto auto;
        padding: 0;
    }
}

.jstw-product-commercial {
    background-color: var(--bulma-grey-lighter);
}
.jstw-product-farm {
    background-color: var(--bulma-primary);
}
.jstw-product-home {
    background-color: var(--bulma-warning);
}
.jstw-product-life {
    background-color: var(--bulma-success);
}
.jstw-product-auto {
    background-color: var(--bulma-info);
}
@media screen and (min-width: 1024px) { 
    .jstw-product-commercial,
    .jstw-product-farm,
    .jstw-product-home,
    .jstw-product-life,
    .jstw-product-auto {
        background-color: transparent;
    }
}

.jstw-product a {
    color: #090a0c;
}
.jstw-product ul {
    color: #404654;
}
@media screen and (min-width: 1408px) { 
    .jstw-product ul {
        font-size: var(--bulma-size-5);
    }
}
.jstw-product.jstw-product-farm ul,
.jstw-product.jstw-product-life ul,
.jstw-product.jstw-product-auto ul {
    color: #fff;
}
.jstw-product.jstw-product-farm a,
.jstw-product.jstw-product-life a,
.jstw-product.jstw-product-auto a {
    color: #fff;
}
@media screen and (min-width: 1024px) { 
    .jstw-product.jstw-product-farm ul,
    .jstw-product.jstw-product-life ul,
    .jstw-product.jstw-product-auto ul {
        color: #404654;
    }
    .jstw-product.jstw-product-farm a,
    .jstw-product.jstw-product-life a,
    .jstw-product.jstw-product-auto a {
        color: #404654;
    }
}

.jstw-product .jstw-product-pill {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    margin-top: -1em;
    text-align: center;
}

@media screen and (min-width: 1024px) { 
    .jstw-product .jstw-product-pill {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 1;
    }
}
.jstw-product-img {
    align-self: self-start;
    background-position: center center;
    background-size: 117%;
    background-repeat: no-repeat;
    border-radius: 15px;
    padding-top: 100%;
}
.jstw-product-commercial .jstw-product-img {
    background-image: url('/resources/img/canada/illustrations/product-business.svg');
}
.jstw-product-farm .jstw-product-img {
    background-image: url('/resources/img/canada/illustrations/product-farm.svg');
}
.jstw-product-home .jstw-product-img {
    background-image: url('/resources/img/canada/illustrations/product-home.svg');
}
.jstw-product-life .jstw-product-img {
    background-image: url('/resources/img/canada/illustrations/product-life.svg');
}
.jstw-product-auto .jstw-product-img {
    background-image: url('/resources/img/canada/illustrations/product-auto.svg');
}
@media screen and (min-width: 1024px) { 
    .jstw-product-img {
        background-size: cover;
        border-radius: 20px;
        margin-top: -1.25rem;
        padding-top: 117%;
    }
}
/**** PRODUCT LINE-UP - END ****/


/**** ONLINE SERVICES :: START ****/
.ww-home-payment {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}
.ww-home-payment-form {
    display:flex;
    flex-direction: column;
    flex-grow: 2;
    justify-content: center;
}
.ww-home-payment-form form {
    display: grid;
    column-gap: 1.5rem;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
}
@media screen and (min-width: 1216px){
    .ww-home-payment-form form {
        grid-template-columns: auto auto;
        grid-template-rows: auto auto;
    }
}
.ww-home-payment-form .columns div:first-child {
    display:none;
}
.ww-home-payment-form .columns div:nth-child(2){
    text-align: left !important;
}
.ww-home-claims {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/**** ONLINE SERVICES :: END ****/