/**** HERO :: Fall 2024 - START ****/
.jstw-container {
    height: 460px;
    overflow: hidden;
    position: relative;
}
@media screen and (min-width: 769px){
    .jstw-container {
        min-height: 535px;
    }
}

/* IMAGE */
.jstw-img {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 30px;
    width: calc(100% - 3em);
    max-width: 342px;
    margin-left: auto;
    margin-right: auto;
    padding-top: calc(460px - 70px);
    position: relative;
    transform: translateY(535px);
    opacity: 1;
    animation-name: imgAnimateIn, imgResize1, imgResize2;
    animation-duration: 0.75s, 0.5s, 0.5s; 
    animation-delay: 0.5s, 5s, 7s;
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@keyframes imgAnimateIn {
    0%   {opacity:0; transform:translateY(535px);}
    100%  {opacity:1; transform:translateY(24px);}
}
@keyframes imgResize1 {
    0%  {padding-top: calc(460px - 70px);}
    100% {padding-top: calc(460px - 121px);} 
}
@keyframes imgResize2 {
    0% {padding-top: calc(460px - 121px);}
    100% {padding-top: calc(460px - 194px);} 
}

.jstw-statement-dots {
    display: inline-block;
    font-size: 0.8em;
    overflow: hidden;
    white-space: nowrap;
    max-width: 56px;
    vertical-align: middle;
}
.jstw-statement-txt {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    max-width: 0px;
    vertical-align: middle;
}

/* STATEMENT 1 */
.jstw-statement-1 {
    position: absolute;
    bottom: -40px;
    right: 24px;
    opacity: 0;
    animation-name: statement1Entrance, statement1Shift, statement1Shift2;
    animation-duration: 0.25s, 0.5s, 0.5s;
    animation-delay: 2s, 5s, 7s; 
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@media screen and (min-width: 391px){
    .jstw-statement-1 {
        right: calc(50% - 171px);
    }
}
@keyframes statement1Entrance {
    0%   {opacity: 0; bottom: -40px;}
    100% {opacity:1; bottom: 24px;}
}
@keyframes statement1Shift {
    0%   {bottom: 24px;}
    100% {bottom: 75px;}
}
@keyframes statement1Shift2 {
    0%   {bottom: 75px;}
    100% {bottom: 150px;}
}
.jstw-statement-1 .jstw-statement-dots {
    max-width: 300px;
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 3.5s;
}
.jstw-statement-1 .jstw-statement-txt {
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 3.5s;
}
.jstw-statement-1 .jstw-statement-dots.fadeIn  {
    max-width: 0px;
}
.jstw-statement-1 .jstw-statement-txt.fadeIn  {
    max-width: 172px;
}

/* STATEMENT 2 */
.jstw-statement-2 {
    position: absolute;
    bottom: -40px;
    left: 24px;
    opacity: 0;
    animation-name: statement2, statement2Shift;
    animation-duration: 0.25s, 0.5s;
    animation-delay: 5s, 7s; 
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@media screen and (min-width: 391px){
    .jstw-statement-2 {
        left: calc(50% - 171px);
    }
}
@keyframes statement2 {
    0%   {opacity: 0; bottom: -40px;}
    100% {opacity:1; bottom: 24px;}
}
@keyframes statement2Shift {
    0%   {bottom: 24px;}
    100% {bottom: 99px;}
}

.jstw-statement-2 .jstw-statement-dots {
    max-width: 300px;
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 6s;
}
.jstw-statement-2 .jstw-statement-txt {
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 6s;
}
.jstw-statement-2 .jstw-statement-dots.fadeIn  {
    max-width: 0px;
}
.jstw-statement-2 .jstw-statement-txt.fadeIn  {
    max-width: 185px;
}

/* Wordmark */
.jstw-wordmark {
    bottom: -210px;
    height: auto;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 3rem);
    max-width: 342px;
    position: absolute;

    animation-name: wordmarkEntrance;
    animation-duration: 0.5s;
    animation-delay: 7s; 
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@keyframes wordmarkEntrance {
    0%   {bottom: -210px;}
    100% {bottom: 24px;}
}


@media screen and (min-width: 769px){
    .jstw-img {
        bottom:0;
        margin-left: auto;
        margin-right: 24px;
        padding-top: 48%;
        width: 82%;
        max-width: unset;
        transform: translateY(535px);
        opacity: 1;
        animation-name: imgAnimateIn, imgResize1;
        animation-duration: 0.75s, 0.25s; 
        animation-delay: 0.5s, 7s;
        animation-direction: normal;
        animation-fill-mode: forwards;
    }
    @keyframes imgAnimateIn {
        0%   {width:82%; padding-top: 48%; opacity:0; transform:translateY(535px);}
        100%  {width: 52%; padding-top: 305px; opacity:1; transform:translateY(115px);}
    }
    @keyframes imgResize1 {
        0%  {transform:translateY(115px);}
        100% {transform:translateY(24px);}
    }
    @keyframes imgResize2 {
        0% {width: 82%;}
        100% {width: 52%; padding-top: 31%;}
    }

    /* STATEMENT 1 */
    .jstw-statement-1 {
        position: absolute;
        bottom: -57px;
        left: 24px;
        right: auto;
        opacity: 0;
        animation-name: statement1Entrance, statement1Shift, statement1Shift2;
        animation-duration: 0.25s;
        animation-delay: 2s, 5s, 7s; 
        animation-direction: normal;
        animation-fill-mode: forwards;
    }
    @keyframes statement1Entrance {
        0%   {opacity: 0; bottom: -57px;}
        100% {opacity:1; bottom: 238px;}
    }
    @keyframes statement1Shift {
        0%   {bottom: 238px;}
        100% {bottom: 275px;}
    }
    @keyframes statement1Shift2 {
        0%   {bottom: 275px;}
        100% {bottom: 353px;}
    }
    .jstw-statement-1 .jstw-statement-dots {
        max-width: 300px;
        -moz-transition: max-width 0s;
        -webkit-transition: max-width 0s;
        -o-transition: max-width 0s;
        transition: max-width 0s;
        transition-delay: 3.5s;
    }
    .jstw-statement-1 .jstw-statement-txt {
        -moz-transition: max-width 0s;
        -webkit-transition: max-width 0s;
        -o-transition: max-width 0s;
        transition: max-width 0s;
        transition-delay: 3.5s;
    }
    .jstw-statement-1 .jstw-statement-dots.fadeIn  {
        max-width: 0px;
    }
    .jstw-statement-1 .jstw-statement-txt.fadeIn  {
        max-width: 300px;
    }

    /* STATEMENT 2 */
    .jstw-statement-2 {
        position: absolute;
        bottom: -57px;
        right: 50%;
        left: auto;
        opacity: 0;
        animation-name: statement2Entrance, statement2Shift;
        animation-duration: 0.25s;
        animation-delay: 5s, 7s; 
        animation-direction: normal;
        animation-fill-mode: forwards;
    }
    @keyframes statement2Entrance {
        0%   {opacity: 0; bottom: -57px;}
        100% {opacity:1; bottom: 209px;}
    }
    @keyframes statement2Shift {
        0%   {bottom: 209px;}
        100% {bottom: 287px;}
    }
    .jstw-statement-2 .jstw-statement-dots {
        max-width: 300px;
        -moz-transition: max-width 0s;
        -webkit-transition: max-width 0s;
        -o-transition: max-width 0s;
        transition: max-width 0s;
        transition-delay: 6s;
    }
    .jstw-statement-2 .jstw-statement-txt {
        -moz-transition: max-width 0s;
        -webkit-transition: max-width 0s;
        -o-transition: max-width 0s;
        transition: max-width 0s;
        transition-delay: 6s;
    }
    .jstw-statement-2 .jstw-statement-dots.fadeIn  {
        max-width: 0px;
    }
    .jstw-statement-2 .jstw-statement-txt.fadeIn  {
        max-width: 300px;
    }

    .jstw-wordmark {
        max-width: unset;
    }
}

.jstw-tagline {
    margin: 1em auto 1em auto;
}
@media screen and (min-width: 613px){
    .jstw-tagline {
        max-width: 70%;
    }
}
@media screen and (min-width: 1116px){
    .jstw-tagline {
        max-width: 50%;
    }
}
/**** HERO :: Fall 2024 -  END  ****/

/**** Et Woila Hero :: Nov 2024 - START ****/
.ew-container {
    height: 460px;
    overflow: hidden;
    position: relative;
    padding: 1.5rem;
}
.ew-img {
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
    border-radius: 30px;
    width: 100%;
    max-width: 342px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px;
    padding-top: calc(460px - 63px);
    position: relative;
    transform: translateY(535px);
    opacity: 0;
    animation-name: ew-imgAnimateIn, ew-imgResize1;
    animation-duration: 0.75s, 0.5s; 
    animation-delay: 0.5s, 5s;
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@keyframes ew-imgAnimateIn {
    0%   {opacity:0; transform:translateY(535px);}
    100%  {opacity:1; transform:translateY(0px);}
}
@keyframes ew-imgResize1 {
    0%  {padding-top: calc(460px - 63px); margin-bottom: 100px;}
    100% {padding-top: calc(460px - 174px); margin-bottom: 18px;} 
}

.ew-statement-dots {
    display: inline-block;
    font-size: 0.8em;
    overflow: hidden;
    white-space: nowrap;
    max-width: 56px;
    vertical-align: middle;
    max-width: 300px;
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 3.5s;
}
.ew-statement-txt {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    max-width: 0px;
    vertical-align: middle;
    max-width: 0px;
    -moz-transition: max-width 0s;
    -webkit-transition: max-width 0s;
    -o-transition: max-width 0s;
    transition: max-width 0s;
    transition-delay: 3.5s;
}
.ew-statement-dots.fadeIn  {
    max-width: 0px;
}
.ew-statement-txt.fadeIn  {
    max-width: 700px;
}
.ew-statement-1 {
    position: absolute;
    bottom: -40px;
    opacity: 0;
    animation-name: ew-statement1Entrance, ew-statement1Shift;
    animation-duration: 0.25s, 0.5s;
    animation-delay: 2s, 5s; 
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@media screen and (min-width: 390px){
    .ew-statement-1 {
        left: calc(50% - 171px);
    }
}
@keyframes ew-statement1Entrance {
    0%   {opacity: 0; bottom: -40px;}
    100% {opacity:1; bottom: 24px;}
}
@keyframes ew-statement1Shift {
    0%   {bottom: 24px;}
    100% {bottom: 138px;}
}
.ew-wordmark {
    max-width: 342px;
    margin: 0 auto;
}

@media screen and (min-width: 769px){
    .ew-container {
        min-height: 535px;
    }
    .ew-img {
        width: 50%;
        background-position: center center;
        max-width: initial;
        padding-top: calc(535px - 48px); 
        margin-left: auto;
        margin-right: 0;
    }
    @keyframes ew-imgAnimateIn {
        0%   {opacity:0; transform:translateY(535px);}
        100%  {opacity:1; transform:translateY(0px);}
    }
    @keyframes ew-imgResize1 {
        0%  {padding-top: calc(535px - 48px); }
        100% {padding-top: calc(535px - 48px);} 
    }
    
    .ew-statement-1 {
        left: initial;
    }

    @keyframes ew-statement1Entrance {
        0%   {opacity: 0; bottom: -40px;}
        100% {opacity:1; bottom: 238px;}
    }
    @keyframes ew-statement1Shift {
        0%   {bottom: 238px;}
        100% {bottom: 292px;}
    }

    .ew-wordmark {
        position: absolute;
        width: calc(50% - 48px);
        max-width: initial;
        bottom: -150px;
        animation-name: ew-wordmarkEntrance;
        animation-duration: 0.5s;
        animation-delay: 5s; 
        animation-direction: normal;
        animation-fill-mode: forwards;
    }
    @keyframes ew-wordmarkEntrance {
        0%   {bottom: -150px;}
        100% {bottom: 150px;}
    }
}
/**** Et Woila Hero :: Nov 2024 - 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 ****/