.header-row .intl-beach-hero {
    background-color: #fff!important;
    text-align: center!important;
    position: relative!important;
    z-index: 2!important;
    padding: 0 30px!important;
    margin-bottom: -60px!important;

}
.header-row .video-hero {
    height:auto!important; 
}
.europe-hub .header-row,
.usa-hub .header-row {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: end;
    flex-direction: column;
}

.europe-hub .header-row {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_desk.jpg') no-repeat center center;
    background-size: cover;
}
.europe-hub.may .header-row {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_desk.jpg') no-repeat center center;
    background-size: cover;
}
.europe-hub .ae-content#top,
.usa-hub .ae-content#top{
    background-color: #fff;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 0 30px;
    margin-bottom: -60px;
    margin-top:-110px;
}

:lang(fr) .europe-hub .ae-content#top,
:lang(en) .europe-hub .ae-content#top
:lang(fr) .usa-hub .ae-content#top{
    margin-bottom: -100px;
}

.europe-hub .ae-content,
.usa-hub .ae-content {
    text-align: left;
    margin: 0 auto;
}

.europe-hub .ae-content a:hover:not(.primary-btn),
.usa-hub .ae-content a:hover:not(.primary-btn){text-decoration: underline !important;}

.europe-hub .header-row .hero-image,
.usa-hub .header-row .hero-image {
    max-width: 100%;
    margin: 0 0 10em;
}

.booking-mask-popup {
    color: #005078;
    font-weight: 600 !important;
    cursor: pointer;
    margin: 30px auto;
}

span.red,
.error-check p {
    color: #d8292f;
}

.error-check p {
    font-size: 14px !important;
}

.blue-text {color: #005078;}
.gradient-clouds-bg {background: url("https://www.aircanada.com/content/dam/aircanada/loyalty-content/images/cloud-bg.svg") no-repeat top center, linear-gradient(to bottom, #F1F7FA, #fff);background-size: cover;}
.gradient-blue-bg {background: linear-gradient(to top, #fff, #F1F7FA 110%);}
.gradient-grey-bg {background: linear-gradient(to top, #fff, #F9F9F9); margin-top: 3em;}
.pink-gradient-bg {background: linear-gradient(to top, #fff, #F9F8F6);}
.pale-blue-gradient-bg {background: linear-gradient(to top, #fff, #DFE7EC);}
.grey-bg {background: #f9f9f9; }
.light-blue-bg {background: #F1F7FA; margin: 20px auto 0; padding: 15px; display: flex; justify-content: space-between; align-items: center; }

.europe-hub h1, .usa-hub h1 {font: normal 300 36px Open Sans; margin: 30px auto;}
:lang(fr) .europe-hub h1, :lang(fr) .usa-hub h1 {font: normal 300 33px Open Sans; margin: 30px auto;}
.europe-hub h2, .usa-hub h2 {text-align: center;font: normal 600 28px 'Open Sans'; margin: 0 auto 23px !important; 
    padding: 20px 0 0; width: 70%;}
.europe-hub .h2-like, .usa-hub .h2-like {text-align: center; font: normal 600 28px 'Open Sans'; margin: 40px auto !important; 
    width: 85%;}
.europe-hub h2:after, .usa-hub h2:after {content:''; display: block; background-color: #BBA88D; width: 20px; height: 2px; 
    margin: 20px auto; }
.europe-hub h2+p, .europe-hub .text18, .usa-hub h2+p, .usa-hub .text18 {font-size: 18px;width: 70%;margin: 0 auto 30px;
    text-align: center;}
.europe-hub h3, .usa-hub h3 {font: normal 600 20px Open Sans; }
.europe-hub p, .europe-hub ul li, .usa-hub p, .usa-hub ul li {font: normal normal 14px Open Sans; }

.europe-hub .push-left, .sun-hub .push-left {text-align: left; margin-bottom: 15px;}
.europe-hub .sun-promo-box {
    background: #fff;
    box-shadow: 0px 0px 7px -3px rgb(84 84 84 / 75%);
    padding: 15px 4em 0;
    text-align: left;
}

.europe-hub .sun-promo-box .sections:nth-of-type(1) {
    border-bottom: 2px solid #e6e6e6;
}

.europe-hub .sun-promo-box .sections:nth-of-type(1) p:last-child {
    margin-bottom: 35px;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) {
    display: flex;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div {
    flex: 1;
    padding: 20px;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div p:first-child {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 16px;
    /* margin-left: -20px; */
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div p:first-child span {
    width: 40px;
    height: 40px;
    /* red*/
    background: #d8292f;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div p:first-child span img {
    width: 25px;
    height: auto;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div p {
    font-size: 14px;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div:first-child {
    padding-left: 0;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div p:first-child+div,
.europe-hub .sun-promo-box .sections:nth-of-type(2) div p:first-child+p {
    padding-left: 48px;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div:nth-of-type(3) p:first-child span img {
    width: 20px;
}

.europe-hub .sun-promo-box .ntp-tooltip .copy-icon img {
    filter: brightness(0) invert(1);
    margin: 0 6px 0 15px;
}

.europe-hub .sun-promo-box .ntp-tooltip button.block-align.copy-code.primary-btn {
    width: 100%;
    margin: 10px 0;
}

.europe-hub .sun-promo-box .ntp-tooltip {
    padding: 0 0 0 48px !important;
}

.europe-hub .sun-promo-box .ntp-tooltip .copy-icon {
    display: flex;
}

.europe-hub .sun-promo-box .sections:nth-of-type(2) div:last-child {
    padding-right: 0;
}

.europe-hub .sun-promo-box .sections:nth-of-type(1) p {
    font-size: 14px;
}

section#aeroplan-offer {
    margin-top: 6em;
}

section#aeroplan-offer .ae-row {
    display: flex;
}

section#aeroplan-offer .ae-row .col-66 {
    text-align: left;
}

section#aeroplan-offer .ae-row .col-66 img {
    height: 17px;
}

section#aeroplan-offer .ae-row .col-66 h2 {
    margin: 5px 0 20px;
}

section#aeroplan-offer .ae-row .col-66 div img {
    height: 100px;
    width: 100px;
}

section#aeroplan-offer .ae-row .col-66 div {
    display: flex;
    align-items: center;
}

section#aeroplan-offer .ae-row .col-66 div div {
    flex-direction: column;
    margin-left: 40px;
    align-items: baseline;
}

div#join-aeroplan {
    margin: 0 0 30px 3em;
    text-align: left;
}

div#join-aeroplan h3,
div#join-aeroplan p {
    text-align: left;
}

div#join-aeroplan h3 {
    margin: 10px 0;
}

div#join-aeroplan form {
    margin: 25px 0 15px;
}

div#join-aeroplan form .form-control {
    border: none;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: none;
    border-radius: 0;
    padding: 10px;
}

label#rules-check {
    display: block;
    overflow: hidden;
    padding-left: 10px;
    font-weight: 400 !important;
}

label#rules-check a {
    font-weight: 600 !important;
}

input#agreement {
    float: left;
}

input#sign-up {
    float: none;
    margin: 20px auto;
    padding: 12px 45px;
}

a.backToTop {
    text-decoration: none;
    margin: 3em auto 0;
    text-align: center;
    display: flex;
    justify-content: center;
}
/*a.backToTop:after {
	content: '^';
	display: block;
	margin-left: 10px;
	color: #005078;
}*/

div.tc-panel-container {
    text-align: left;
    position: relative;
    cursor: pointer;
    background: #fff;
}

div.tc-panel-container h3 {
    margin: 0;
    padding: 15px;
    position: relative;
    font-size: 16px;
}

.tc-panel-content {
    padding: 30px 15px 15px;
    text-align: left;
    border: 1px solid #e6e6e6;
    display: none;
    width: calc(100% - 30px);
}

.tc-panel-content ul {
    list-style: disc;
    padding-left: 20px;
}

.europe-hub .grey-bg .ae-content,
.usa-hub .grey-bg .ae-content {
    display: flex;
    padding: 0 20px;
    margin: 40px auto;
}

.europe-hub .grey-bg .ae-content p,
.usa-hub .grey-bg .ae-content p {
    margin: 20px 0;
    flex: 1;
    border-left: 1px solid #c8c8c8;
    display: flex;
    justify-content: center;
    font-size: 18px;
}

.europe-hub .grey-bg .ae-content p a,
.usa-hub .grey-bg .ae-content p a {
    padding: 0 20px;
    text-align: CENTER;
}

.europe-hub .grey-bg .ae-content p a img,
.usa-hub .grey-bg .ae-content p a img {
    display: block;
    text-align: center;
    margin: 0 auto 10px;
    height: 24px;
}

.europe-hub .grey-bg .ae-content p:last-child,
.usa-hub .grey-bg .ae-content p:last-child {
    border-right: 1px solid #c8c8c8;
}

.blue-bg {
    background-image: linear-gradient(to top, #ffffff, #cde4f3);
}

.blue-bg .ae-content {
    padding: 0px;
}

.blue-bg .ae-content nav .nav-tabs li a {
    background: #fff;
    display: flex;
    flex-direction: column;
    padding: 12px 0 0;
    border-bottom: none;
    margin: 0;
    border-top: 3px solid transparent;
    font-size: 14px;
}

.blue-bg .ae-content nav .nav-tabs li.active {
    box-shadow: 5px 5px 5px 1px rgb(0 0 0 / 35%);
    z-index: 3;
    position: relative;
}

.blue-bg .ae-content nav .nav-tabs li.active a {
    border-top: solid 3px #005078;
    /* box-shadow: 10px 6px 10px 0px rgb(0 0 0 / 20%); */
}

.blue-bg .ae-content nav .nav-tabs li a span {
    padding-bottom: 12px;
}

.blue-bg .tab-content {
    padding: 6em 0;
    text-align: center;
}

.blue-bg .tab-content img {
    max-width: 250px;
    margin: 0 auto 40px;
}

.blue-bg .tab-content #california img {
    display: inline-block;
    padding: 0 20px;
}

.blue-bg .tab-content img+p,
.blue-bg .tab-content h3+p {
    width: 70%;
    margin: 0 auto 2em;
}

.blue-bg .tab-content h3 {
    width: 70%;
    margin: 0 auto 40px;
}

div#redeem-points img {
    margin: 0 auto;
}

div#redeem-points .destination-container.ae-carousel {background: transparent; padding: 0 20px;}
div#redeem-points .destination-container.ae-carousel .slick-slide div:first-child:not(.item) {
    margin: 15px 7.5px;
}
div#redeem-points .destination-container.ae-carousel .item {margin: 0; 
    box-shadow: 0 0 10px -3px rgb(0 0 0 / 20%); }

div#all-destination .ae-content {
    padding-bottom: 0px;
}

div#flight-pass {
    background-size: cover;
}

div#flight-pass .ae-content {
    padding: 4em 0 2em;
}

div#flight-pass .ae-content .description {
    display: flex;
    margin: 3em 0 20px;
}

div#flight-pass .ae-content .description div {
    flex: 1;
    text-align: CENTER;
}

div#flight-pass .ae-content .description div img {
    width: 100px;
    height: 100px;
    margin: 0 auto;
}

div#flight-pass .ae-content .white-panel {
    display: flex;
    margin: 30px 0;
}

div#flight-pass .ae-content .white-panel div {
    flex: 1;
    text-align: left;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
}

div#flight-pass .ae-content .white-panel div>* {
    text-align: left;
}

div#flight-pass .ae-content .white-panel div a:last-child {
    margin-top: auto;
}

div#flight-pass .ae-content .white-panel div h3 {
    margin: 0 0 10px;
}

div#flight-pass .ae-content .white-panel div h3:before {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/europe-hub/icon-flightpass.svg') no-repeat center center;
    padding: 0 10px 0 0; margin-top: -12px; display: inline-block; content: ''; width: 28px; height: 14px; background-size: 20px; 
    filter: invert(21%) sepia(99%) saturate(1991%) hue-rotate(340deg) brightness(95%) contrast(97%); }

div#companion .row.box.white-panel .row.promotional-code p {text-align: left; }
div#companion .row.box.white-panel .row.promotional-code p:first-child strong {vertical-align: super; }
div#companion .row.box.white-panel .row.promotional-code p:first-child + p {padding-left: 52px; margin-top: -15px;}
div#companion .row.box.white-panel .row.promotional-code p:first-child + ul {padding-left: 67px; margin-top: -15px;}
div#companion .row.box.white-panel .row.promotional-code p:first-child + ul {list-style: disc;}
div#companion .row.box.white-panel .row.promotional-code p:first-child + ul li:last-child {margin-top: 15px; }

div#companion .row.box.white-panel .ntp-tooltip button.block-align.copy-code {width: 100%; 
    display: flex; justify-content: space-between; }

div#companion .row.box.white-panel .ntp-tooltip {border: 1px solid #005078; border-radius: 6px; 
    color: #005078; padding: 10px; font-weight: bold; width: 50%; background: #fff; }

div#companion .row.box.white-panel .ntp-tooltip button.block-align.copy-code .copy-icon {
    display: flex;
}

div#companion .row.box.white-panel .ntp-tooltip button.block-align.copy-code .copy-icon img {
    margin-right: 5px;
    filter: hue-rotate(187deg);
}

div#companion .row.box.white-panel {
    width: 80%;
    margin: 0 auto;
    padding: 0;
    display: flex;
}

div#companion a.primary-btn.booking-mask-popup {margin: 35px auto; }

div#companion .row.box.white-panel div.col-33 {
    padding: 0;
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/europe-hub/companion-offer.jpg') no-repeat center center;
    background-size: cover;
    display: block;
}

div#companion .row.box.white-panel .row.promotional-code {
    padding: 20px;
}

div#tour-packages {
    position: relative;
    margin-top: 2em;
}

div#tour-packages img.tour-packagesLogo {
    width: 145px;
}

#tour-packages .tile:nth-of-type(1) {
    margin-top: 4em;
}

#tour-packages .tile {
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 15%);
    display: flex;
    margin: 20px 0 0;
}

#tour-packages .tile:hover {
    cursor: pointer;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 25%);
}

#tour-packages .tile div {
    flex: 50%;
}

#tour-packages .tile a {
    text-decoration: underline;
}

#tour-packages .tile div:last-child {
    padding: 0 30px 30px;
}

#tour-packages .tile div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offer {
    box-shadow: 0 11px 15px rgb(0 0 0 / 10%);
    background: #fff;
    text-align: left;
}

.offer--price {
    color: #004060;
    font-weight: bold;
}

.blue-bg .tab-content .module-row.module-row--price_widget {
    background: rgba(256, 256, 256, 0.7);
    padding: 0px 15px;
}

div#euro-tabs .nav.nav-tabs li.tab a {
    display: flex;
    flex-direction: column;
    font-weight: normal;
    align-items: center;
    padding: 10px;
    height: 100%;
    font-size: 20px;
    box-shadow: 0 9px 12px -3px rgba(0,0,0,0.12);
}

div#euro-tabs .nav.nav-tabs li.tab.active a {font-weight: 600;}

div#euro-tabs .nav.nav-tabs li.tab a img {
    width: 52px;
    margin-bottom: 10px;
}

div#euro-tabs .nav.nav-tabs li.tab:hover a {
    background: #fff;
}

div#top-offers .item-container {
    display: flex;
    padding: 30px 0 6em;
}

div#top-offers .gradient-clouds-bg + .ae-content {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
}

div#top-offers .item-container .item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
}

div#top-offers .item-container .item img {
    width: 90px;
    height: 90px;
}
div#top-offers .item-container .item h3 {font-weight: bold;}

div#top-offers .item-container .item p:last-child {
    margin: auto auto 0;
    font-size: 16px;
}

div#earn-bonus-points .tc-panel-container {
    margin: 20px 0;
}

div#earn-bonus-points div.row .col-50 {
    width: calc(60% - 30px);
    display: flex;
    flex-direction: column;
}

div#earn-bonus-points div.row .col-50.white-panel {
    margin: 0 0 0 auto;
    width: 40%;
    background: #fff;
}

div#earn-bonus-points div.row .col-50 .item {
    display: flex;
    margin-bottom: 20px;
    align-items: center;
}

div#earn-bonus-points div.row .col-50 .item img {
    width: 80px;
    height: 80px;
    margin-right: 15px;
}

div#earn-bonus-points div.row .col-50 .item p .blue {
    color: #005078;
    font-size: 36px;
    margin-right: 8px;
}

div#earn-bonus-points div.row .col-50 .item p:first-child {
    font-weight: bold;
    font-size: 20px;
}

div#earn-bonus-points div.row .col-50 .item p:last-child {
    font-size: 18px;
}

p.contditional {}

p.conditional {
    text-align: center !important;
}

div#earn-bonus-points p.grey-bg {
    display: flex;
    align-items: flex-start;
    padding: 15px 20px;
    font-size: 16px;
    margin: auto 0 0;
    width: 100%;
    max-width: 575px;
}

div#earn-bonus-points p.grey-bg img {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

div#advance-seat-selection .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

div#advance-seat-selection .primary-btn {width: fit-content;margin: 20px auto;}

span.white-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
    display: inline-flex;
    box-shadow: 0 0 15px -3px rgb(0 0 0 / 20%);
    justify-content: center;
    align-items: center;
    background: #fff;
}

div#advance-seat-selection .row .col-50.white-panel p {
    text-align: left;
    font-size: 16px;
}

div#advance-seat-selection .row .col-50.white-panel div:not(.light-blue-panel) {
    padding: 20px;
}

div#advance-seat-selection .row .col-50.white-panel {
    padding: 0;
}
div#advance-seat-selection .row img.col-50 {
    margin: 30px -15px 30px 0;
    max-width: 375px;
}
div#advance-seat-selection .row .col-50.white-panel p.promo {
    display: flex;
    align-items: center;
    margin: 20px 0 10px;
}

span.white-circle img {
    width: 18px;
    height: 18px;
}

div#tour-packages p+img {
    width: 215px;
    margin: 0 auto 30px;
}

div#tour-packages .ae-content {
    text-align: center;
    padding-top: 10px;
}

div#tour-packages .item-container {
    display: flex;
    margin: 0 8em;
    justify-content: center;
}

div#tour-packages .item-container .item {
    flex: 1;
    max-width: 400px;
    margin: 0 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 15px -3px rgb(0 0 0 / 20%);
}

div#tour-packages .item-container .item div {
    padding: 0 20px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

div#tour-packages .item-container .item div p {
    font-size: 16px;
}

div#tour-packages .item-container .item div h3, div#tour-packages .item-container .item div p {
    text-align: left;
}

div#tour-packages .item-container .item div a {
    margin-top: auto;
    text-align: left !important;
    display: block;
    font-size: 16px;
}

div#flight-pass .item-container {
    display: flex;
    flex-direction: column;
    margin: 0 8em;
}

div#flight-pass .item-container .item {
    box-shadow: 0 0 15px -3px rgb(0 0 0 / 20%);
    display: flex;
    background: #fff;
}

div#flight-pass .item-container .item div {
    padding: 0 25px 15px;
}

div#flight-pass .item-container .item .fp-image {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/europe-hub/hotels.jpg') no-repeat center center;
    background-size: cover;
    padding: 0px;
    width: 100%;
    min-width: 275px;
}

div#flight-pass .item-container .item .fp-image.carRental {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/europe-hub/carRental.jpg') no-repeat center center;
    background-size: cover;
    padding: 0px;
    width: 100%;
    min-width: 275px;
}

div#flight-pass .item-container .item .fp-image.student {
    background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/europe-hub/fp-student.png') no-repeat center center;
    background-size: cover;
    padding: 0px;
    width: 100%;
    min-width: 275px;
}

div#flight-pass .item-container .item div p, div#flight-pass .item-container .item div a {
    text-align: left;
    font-size: 16px;
}

div#euro-tabs {
    margin: 25px 0 0;
}


div#travel-perks .item-container {
    display: flex;
}

div#travel-perks .item-container .item {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-content: center;
    text-align: center;
}
div#travel-perks .item-container .item h3 {font-weight: bold;}
div#travel-perks .item-container .item p:last-child {margin-top: auto;}

div#travel-perks .item-container .item img {
    width: 110px;
    height: 110px;
    margin: 0 auto;
}

div#travel-perks .item-container .item ul li {
    text-align: left;
    font-size: 16px;
    margin-bottom: 7px;
}

div#travel-perks .item-container .item a {
    font-size: 16px;
    margin-top: auto;
}

div#travel-perks .ae-content {
    padding-top: 8em;
}

div#cabins {padding-top: 6em; }

.cabin-container {
    display: flex;
}

.cabin-container .item {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.cabin-container .item h3 {font-weight: bold;font-size: 21px!important;}

.cabin-container .item:nth-of-type(2) {
    margin: 0 50px;
}
.cabin-container .item ul li {margin-bottom: 7px;}
.cabin-container .item ul li, .cabin-container .item a {
    font-size: 16px;
}

.cabin-container .item p:last-child {
    margin-top: auto;
}

.cabin-container + p {
    text-align: center;
    margin: 40px auto 20px;
}

div#mll {
    text-align: center;
    padding-top: 4em;
}

.europe-hub h2+p+p,
.usa-hub h2+p+p {
    font-size: 16px;
}

div#mll .ae-carousel {
    margin: 30px auto 0;
    padding: 0 20px;
    background: #fff;
}

.destination-container {
    display: flex;
    flex-wrap: wrap;
}

.destination-container .item {
    flex: 22.5%;
    text-align: center;
    margin: 15px;
    box-shadow: 0 0 15px -3px rgba(0,0,0,0.2);
}

.destination-container .item div {
    padding: 15px;
    background: #fff;
}

.destination-container .item div p:not(:last-child) {
    border-bottom: 1px solid #c8c8c8;
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
}

.destination-container .item div p.booking-mask-popup {margin: 0 auto;}

.destination-container .item div p + p {
    font-size: 14px;
}

.destination-container .item:hover {
    box-shadow: 0 0 15px -3px rgb(0 0 0 / 50%);
    cursor: pointer;
}

.europe-hub h2.gradient-clouds-bg, .europe-hub div.gradient-clouds-bg,
.usa-hub h2.gradient-clouds-bg, .usa-hub div.gradient-clouds-bg {
    padding: 50px 0 6em;
    width: 100%;
}

.europe-hub h2.gradient-clouds-bg + .ae-content, .europe-hub div.gradient-clouds-bg + .ae-content,
.usa-hub h2.gradient-clouds-bg + .ae-content, .usa-hub div.gradient-clouds-bg + .ae-content {
    margin-top: -13em;
}
.europe-hub div#all-destinations div.gradient-clouds-bg + .ae-content,
.usa-hub div#all-destinations div.gradient-clouds-bg + .ae-content {margin-top: -10em;}

div#earn-bonus-points .row {
    display: flex;
    margin: 0 0 30px;
}

div.tc-panel-content {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
}

.module-row.module-row--em-cmp-lib-airmodules__interactive-map--ac.init-hidden {
    visibility: hidden;
}

.module-row.module-row--em-cmp-lib-airmodules__interactive-map--ac.init {
    display: none;
}

.module-row.module-row--em-cmp-lib-airmodules__interactive-map--ac.active {
    display: block !important;
    visibility: visible !important;
}

div#all-destinations .ae-content, div#companion .ae-content {
    padding-bottom: 0;
}

.item ul {
    list-style: disc;
    padding-left: 20px;
}

a.primary-btn {
    width: fit-content;
    margin: 20px auto;
}

div#earn-bonus-points .ae-content {
    padding-bottom: 0;
}

.destination-container .item img {
    object-fit: cover;
    height: 170px;
}
.destination-container + .backToTop {margin-bottom: 3em; }
.mobile-content {display: none;}

.europe-hub .promo-full {
    background: url(https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/sun-hub/acvTile-beach-795.png) no-repeat center center;
    background-size: cover;
    min-height: 210px;
    margin: 10px auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-align: left;
}

.banner div{
    padding: 20px;
    text-align: left;
}

.banner {
    background: #fff;
    color: #000;
    padding: 30px;
    /*margin: 30px 0px 20px 30px;*/
    -webkit-box-shadow: 0 6px 19px -7px rgb(0 0 0 / 20%);
    box-shadow: 0 6px 19px -7px rgb(0 0 0 / 20%);
    padding: 0px;
    display: flex;
}

.banner h3 {
    margin: 20px auto 30px;
    text-align: left;
}

.banner p {
    text-align: left;
    font: normal 400 14px Open Sans;
}
.promo-2col{
    display: flex;
    margin: 0 auto; 
}
.other-promo-box{
    margin: 20px 10px 0px 5px;
    clear: both;
    flex: 50%;
    width: 50%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    position: relative;
    background: #fff;
    color: #000;
    -webkit-box-shadow: 0 6px 19px -7px rgb(0 0 0 / 20%);
    box-shadow: 0 6px 19px -7px rgb(0 0 0 / 20%);
}
.promo-2col .other-promo-box div {
    padding: 20px 30px;
}
.promo-2col .other-promo-box img {
    width: 100%;
}

@media only screen and (min-width: 1201px) {
    .europe-hub .ae-content,
    .usa-hub .ae-content {
        width: 1200px;
        margin: 0 auto;
    }
    div#euro-tabs .nav.nav-tabs {
	    width: 1200px;
	    max-width: calc(100% - 40px);
	    margin: auto;
	}
    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        width: 1200px !important;
        padding-left: 0 !important;
        margin: 0 auto 10em;
    }
    div#tc-panel-container-fp, div#tc-panel-container-fp + .tc-panel-content,
    div#tc-panel-container-seat, div#tc-panel-container-seat + .tc-panel-content,
    div#tc-panel-container-companion, div#tc-panel-container-companion + .tc-panel-content {
	    margin: 0 auto;
	    width: calc(1200px - 16em);
	    max-width: 1200px;
	}
	div.tc-panel-container {margin-top: 4em !important; }
}

@media only screen and (max-width: 1201px) and (min-width: 1025px) {
    .module-row.module-row--campaign_widget+.container {
        width: 100%;
        max-width: calc(100% - 100px);
    }
    .europe-hub .header-row, .usa-hub .header-row {justify-content: end;}
    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        margin: 0 auto 10em;
    }
	div.tc-panel-container {margin-top: 4em !important; }
}

@media only screen and (max-width: 1200px) and (min-width: 768px) {
    .europe-hub .sun-promo-box .sections:nth-of-type(2) {
        flex-wrap: wrap;
    }
    .europe-hub .sun-promo-box .sections:nth-of-type(2) div:last-child {
        flex-basis: 100%;
        padding: 20px 0;
    }
    .europe-hub .sun-promo-box .ntp-tooltip button.block-align.copy-code.primary-btn {
        width: fit-content;
        max-width: 255px;
    }
    .europe-hub .nav.nav-tabs,
    .usa-hub .nav.nav-tabs {width: calc(100% - 60px); max-width: 100%; margin: 0 auto;}
    div#earn-bonus-points .row, div#advance-seat-selection .row {flex-direction: column;}
    div#earn-bonus-points div.row .col-50, div#earn-bonus-points div.row .col-50.white-panel,
    div#advance-seat-selection .row .col-50 {width: 100%;}
    div#advance-seat-selection .row img.col-50 {max-width: 600px; margin:0 auto 20px;}
    div#earn-bonus-points div.row .col-50 .item {width: 70%; padding-left: 35%;}
    div#earn-bonus-points div.row .col-50.white-panel {margin-top: 3em;}
    div#tour-packages .item-container {margin: 0 30px; flex-direction: column;}
    div#tour-packages .item-container .item {max-width: 100%; margin: 20px 0; }
    div#flight-pass {margin-top: 0;}
    div#flight-pass .item-container {margin: 0 30px;}
    div.tc-panel-content {margin: 0 auto; max-width: calc(100% - 60px); }
    div#tc-panel-container-fp, div#tc-panel-container-fp + .tc-panel-content {margin: 0 auto; max-width: calc(100% - 100px); }
    div#tc-panel-container-seat, div#tc-panel-container-seat + .tc-panel-content {margin: 0 auto; max-width: calc(100% - 30px);}
    .destination-container .item img {height: 140px;}
    div#flight-pass .item-container .item .fp-image {height: 350px; width: 300%;}
    div#flight-pass .item-container .item div {display: flex; flex-direction: column;}
    div#flight-pass .item-container .item div a {margin-top: auto;}
    div#tc-panel-container-companion, div#tc-panel-container-companion + .tc-panel-content {max-width: 100%;}
}

@media only screen and (min-width: 1025px) {
    .europe-hub .header-row,
    .usa-hub .header-row {
        height: 500px;
    }
    div#euro-tabs {padding-top: 50px;}
    :lang(fr) div#euro-tabs {padding-top: 80px;}

    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        padding-left: 2em;
        width: 100%;
        height: 350px;
    }
    .europe-hub .ae-content.top,
    .usa-hub .ae-content.top {
        margin-top: -200px;
    }
    .europe-hub .ae-content.top .module-row.module-row--price_widget .container,
    .usa-hub .ae-content.top .module-row.module-row--price_widget .container {
        max-width: 100%;
    }
    .module-row.module-row--em-cmp-lib-airmodules__interactive-map--ac {
        margin: 0 -30px;
    }
    .europe-hub .nav.nav-tabs,
    .usa-hub .nav.nav-tabs {
        display: flex;
    }
    .europe-hub .nav.nav-tabs li,
    .usa-hub .nav.nav-tabs li {
        flex: 25%;
    }
    .europe-hub .nav.nav-tabs li img,
    .usa-hub .nav.nav-tabs li img {
        max-width: 100%;
    }
}

@media only screen and (max-width: 1024px) and (min-width: 768px) {
    .intl-beach-hero {
        margin-top: -10px!important;
        width: 100%!important;
    }
    .intl-beach-hero-sm {
        margin-top: -10px!important;
        width: 100%!important;
    }
    .other-promo-box{
        width: 100%;
    }

    .banner, .promo-2col{
       flex-direction: column;
       width:100%;
    }
    .europe-hub .ae-content#top,
    .usa-hub .ae-content#top {
        margin-bottom: -80px;
    }
    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        padding-left: 2em;
        width: 100%;
        height: 350px;
    }
    .europe-hub .header-row {
        height: 350px;
        background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_tablet.jpg') no-repeat center center;
    }
    .europe-hub.may .header-row {
        background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_tablet.jpg') no-repeat center center;
        background-size: cover;
    }

    div#euro-tabs {margin-top: 6.5em !important;}
    div#top-offers .gradient-clouds-bg + .ae-content {padding: 0 10px 4em; }
    div#join-aeroplan {
        padding: 20px;
        margin: 0 0 30px 30px;
        background: #f9f9f9;
    }
    div#earn-bonus-points .ae-content {padding: 4em 15px;}
    div#earn-bonus-points p.grey-bg {margin-left: 20%;}
    .destination-container {display: flex !important; flex-wrap: wrap !important; background: #fff;}
    div#earn-bonus-points div.row .col-50 .item {width: 80%; padding-left: 20%;}
    div#join-aeroplan form .form-control {
        background: #fff;
    }
    .europe-hub .grey-bg .ae-content p:first-child,
    .usa-hub .grey-bg .ae-content p:first-child {
        border-left: none;
    }
    .europe-hub .grey-bg .ae-content p:last-child,
    .usa-hub .grey-bg .ae-content p:last-child {
        border-right: none;
    }
    .europe-hub .grey-bg .ae-content,
    .usa-hub .grey-bg .ae-content {
        padding: 0;
    }
    .blue-bg .ae-content {
        padding: 0px;
        width: 100%;
    }
    .europe-hub .nav.nav-tabs,
    .usa-hub .nav.nav-tabs {
        display: flex;
    }
    .europe-hub .nav.nav-tabs li,
    .usa-hub .nav.nav-tabs li {
        flex: 25%;
    }
    .europe-hub .nav.nav-tabs li img,
    .usa-hub .nav.nav-tabs li img {
        max-width: 100%;
    }
    .blue-bg .tab-content {
        padding: 4em 30px;
    }
    .module-row.module-row--campaign_widget+.container {
        width: 100%;
        max-width: calc(100% + 40px);
    }
    div#flight-pass .ae-content .white-panel {
        padding: 30px 10px;
    }
    #tour-packages .tile div:last-child {
        padding: 0 20px 20px;
    }
    div#tour-packages .ae-content {
        padding: 4em 0;
    }
    div#companion .row.box.white-panel .ntp-tooltip {width: 70%;}
    div#companion .row.box.white-panel .ntp-tooltip button.block-align.copy-code {flex-direction: column;}
}

@media only screen and (max-width: 767px) {

    .intl-beach-hero-sm {
        margin-top: -10px!important;
        width: 100%!important;
    }

    div#euro-tabs {margin: 20% 0 0; }
    .europe-hub h1, .usa-hub h1{
    	font-size: 26px;
        line-height: 1.34;
        margin-bottom: 10px;
    }
    .europe-hub h2, .usa-hub h2 {
        font-size: 24px;
        line-height: 1.12;
        margin-bottom: 12px;
        width: 95%;
        padding: 20px 0 0;
    }
    .europe-hub .h2-like, .usa-hub .h2-like {font-size: 24px; margin: 25px auto; width: 95%;}
    .europe-hub h3, .usa-hub h3 {
        font-size: 16px;
        font-weight: bold;
    }
    .europe-hub p,
    .europe-hub ul li,
    .usa-hub p,
    .usa-hub ul li {
        font-size: 14px !important;
    }
    a.backTop {
        margin-top: 4em;
    }
    .europe-hub .sun-promo-box .sections:nth-of-type(2) {
        flex-direction: column;
    }
    .europe-hub .sun-promo-box .sections:nth-of-type(2) div {
        padding: 10px 0;
    }
    .europe-hub .sun-promo-box {
        padding: 20px 20px 0;
    }
    .europe-hub .ae-content, .usa-hub .ae-content {
        padding: 2em 0;
    }
    .europe-hub .ae-content.top,
    .usa-hub .ae-content.top {
        margin-top: -8em;
        padding: 20px 0;
    }
    .europe-hub .header-row, .usa-hub .header-row {background: none; height: auto;}
    .europe-hub .header-row .hero-image{
    	background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_mob.jpg') no-repeat center center;
    	background-size: cover;
    	margin: 0;
    }
    .europe-hub.may .header-row {
        background: url('https://www.aircanada.com/content/dam/aircanada/airtrfx/images/Intl/sun_6f_lp_hero_mob.jpg') no-repeat center center;
        background-size: cover;
        margin: 0;
    }

    .europe-hub .ae-content#top, .usa-hub .ae-content#top {margin-bottom: 0px; margin-top: -110px;}
    div#travel-perks .ae-content {padding: 0}
    .destination-container {width: 100%; padding: 0 20px 20px; background:#fff !important;}
    .destination-container .slick-dots {bottom: 0px;}
    .destination-container .slick-dots li:nth-child(n+6) {display: none; }
    .destination-container .item {width: calc(100% - 30px) !important; flex: none; background: #fff; margin: 15px;}
    div#top-offers .gradient-clouds-bg + .ae-content {margin-top: -12em;}
    .destination-container .item img {height: auto;}
    .europe-hub h2.gradient-clouds-bg + .ae-content, .europe-hub div.gradient-clouds-bg + .ae-content,
    .usa-hub h2.gradient-clouds-bg + .ae-content, .usa-hub div.gradient-clouds-bg + .ae-content {margin-top: -6em;}
    div#travel-perks .item-container, .cabin-container, div#top-offers .item-container,
    div#earn-bonus-points .row, div#earn-bonus-points div.row .col-50 .item {flex-direction: column;}
    .cabin-container .item, .cabin-container .item:nth-of-type(2) {margin: 20px;}
    div#top-offers .item-container .item {padding: 20px;}
    div#mll {margin: 0 20px;}
    .covid-box {margin: 3em 20px 0;}

    .europe-hub button.slick-prev, .europe-hub button.slick-prev:hover,
	.europe-hub button.slick-next, .europe-hub button.slick-next:hover,
    .usa-hub button.slick-prev, .usa-hub button.slick-prev:hover,
    .usa-hub button.slick-next, .usa-hub button.slick-next:hover {
	    display: block !important;
	    background: url('https://www.aircanada.com/content/dam/aircanada/loyalty-content/images/prev-arrow.svg') !important;
	    background-size: 20px !important;
	    top: 35%;
	}
	.europe-hub button.slick-next, .europe-hub button.slick-next:hover,
    .usa-hub button.slick-next, .usa-hub button.slick-next:hover{
		transform: rotate(180deg);
	}

    div#earn-bonus-points div.row .col-50 {width: calc(100% - 30px) !important; margin: 10px auto !important;}
    div#earn-bonus-points div.row .col-50 .item {margin: 12.5px auto;}
    div#earn-bonus-points .tc-panel-container {margin: 20px 15px 0; width: calc(100% - 30px); }
    div.tc-panel-content, div.tc-panel-container, div#tc-panel-container-seat,
    div#tc-panel-container-companion {width: calc(100% - 30px);}

    div#advance-seat-selection .row img.col-50 {max-width: 400px; margin: 0 auto 10px; }
    div#advance-seat-selection .row .col-50.white-panel {margin: 20px auto; width: calc(100% - 60px); }
    div#tour-packages .item-container {margin: 30px; flex-direction: column;}
    div#tour-packages .item-container .item {max-width: 100%; margin: 0 0 20px; }
    div#flight-pass {margin-top: 0;}
    div#flight-pass .item-container {margin: 30px;}
    div#flight-pass .item-container .item {flex-direction: column;}
    div#flight-pass .item-container .item .fp-image {height: 200px;}
    div#tc-panel-container-fp, div#tc-panel-container-fp + .tc-panel-content{width: calc(100% - 100px); margin: 0 auto; }

    div#mll .ae-carousel {margin-bottom: 15px;}
    div#mll .ae-carousel ul.slick-dots {bottom: -10px; position: relative;}
    
    section#aeroplan-offer .ae-row {
        flex-direction: column;
    }
    div#join-aeroplan {
        margin: 30px 0;
        text-align: left;
        padding: 10px 20px 0;
        background: #f9f9f9;
    }
    div#join-aeroplan form .form-control {
        background: #f9f9f9;
    }
    .europe-hub .grey-bg .ae-content p:first-child,
    .usa-hub .grey-bg .ae-content p:first-child {
        border-left: none;
    }
    .europe-hub .grey-bg .ae-content p:last-child,
    .usa-hub .grey-bg .ae-content p:last-child {
        border-right: none;
    }
    .europe-hub .grey-bg .ae-content,
    .usa-hub .grey-bg .ae-content {
        padding: 0;
    }
    .europe-hub .nav.nav-tabs li.active a:after,
    .europe-hub .nav.nav-tabs li.active:after,
    .usa-hub .nav.nav-tabs li.active a:after,
    .usa-hub .nav.nav-tabs li.active:after {
        display: none;
    }
    .blue-bg .ae-content nav .nav-tabs li a {
        text-align: center;
    }
    .blue-bg .ae-content nav .nav-tabs li.active a {
        color: #000;
    }
    .blue-bg .ae-content {
        width: 100%;
        padding: 0px;
    }
    .europe-hub .nav.nav-tabs,
    .usa-hub .nav.nav-tabs {
        display: flex;
        flex-wrap: wrap;
    }
    .europe-hub .nav.nav-tabs li,
    .usa-hub .nav.nav-tabs li {
        flex: 50%;
    }
    .blue-bg .tab-content {
        padding: 30px;
    }
    .blue-bg .tab-content img+p,
    .blue-bg .tab-content h3+p {
        width: 90%;
        margin: 0 auto 2em;
    }
    .module-row.module-row--campaign_widget+.container {
        width: 100%;
        max-width: calc(100% + 40px);
    }
    div#flight-pass .ae-content .description {
        flex-direction: column;
    }
    div#flight-pass .ae-content .description div {
        text-align: left;
        margin-bottom: 20px;
    }
    div#flight-pass .ae-content .description div img {
        margin: 0 20px 0;
        float: left;
        width: 85px;
        height: 85px;
    }
    div#flight-pass .ae-content .white-panel {
        padding: 0 20px;
        flex-direction: column;
    }
    div#flight-pass .ae-content .white-panel div {
        padding: 20px 0;
        border-top: 1px solid #e6e6e6;
    }
    #tour-packages .tile {
        flex-direction: column;
    }
    .europe-hub .nav.nav-tabs li img,
    .usa-hub .nav.nav-tabs li img {
        max-width: 100%;
    }
    .europe-hub p.mobile-content,
    .usa-hub p.mobile-content {display: flex; align-items: center; justify-content: space-between; 
    	font-weight: bold !important; font-size: 16px !important; border-top: 1px solid #c8c8c8; padding: 15px; 
    	box-shadow: 0 3px 10px -3px rgba(0,0,0,0.2); width: 100%; margin: 0 auto; text-align: center; }
    p.mobile-content:hover {cursor: pointer;}
    p.mobile-content span.dropdown{
	background: url('https://www.aircanada.com/content/dam/aircanada/loyalty-content/images/icon/chevron-down.svg') no-repeat center center;
    background-size: 10px 10px; display: block; width: 24px; height: 24px; -o-object-fit: contain; object-fit: contain; margin-left: 8px; }
	.mobile-content.rotate span.dropdown {transform: rotateZ(180deg);}
    div#euro-tabs .nav.nav-tabs {display: none;}
    div#euro-tabs .nav.nav-tabs.is-open {display: block;flex-direction: column;width: 100%;margin: 0 auto;
    	position: absolute; z-index: 10; background: #fff; }
    div#euro-tabs .nav.nav-tabs.is-open li {display: flex; font-size: 16px; width:100%; }
    div#euro-tabs .nav.nav-tabs.is-open li.active, div#euro-tabs .nav.nav-tabs.is-open ul li:active,
    div#euro-tabs .nav.nav-tabs.is-open li:hover {cursor: pointer;}
    div#euro-tabs .nav.nav-tabs.is-open li a {display: flex; flex-direction: row; align-items: flex-start; 
    	padding: 15px; justify-content: flex-start; align-items: center; /*border-bottom: 1px solid #e6e6e6;*/
    	border-bottom: none; text-align: left; box-shadow: none; width: 100%; font-size: 14px; color: #000; }
    div#euro-tabs .nav.nav-tabs.is-open li a img {margin: 0 10px 0 0; width: 17px;}
    div#euro-tabs .nav.nav-tabs.is-open li.active a:after {display: none;}
    div#earn-bonus-points p.grey-bg {margin-bottom: 40px;}
    /*div#euro-tabs .nav.nav-tabs.is-open li.active a:after {
    	content: url('https://www.aircanada.com/content/dam/aircanada/loyalty-content/images/icon/icon-check-grey.svg');
    	display: block; width: 12px; height: 12px; -o-object-fit: contain; object-fit: contain; 
    	-webkit-column-break-inside: avoid; break-inside: avoid; border: none; position: relative; 
    	margin: -10px 0 0 auto; }*/
    div#companion .row.box.white-panel div.col-33 {height: 300px;}
    div#companion .row.box.white-panel, .light-blue-bg {width: 100%; flex-direction: column;}
    div#companion .row.box.white-panel .ntp-tooltip { width: 100%;}
    div#companion .row.box.white-panel .row.promotional-code p:first-child + p,
    div#companion .row.box.white-panel .row.promotional-code p:first-child + ul {padding-left: 45px; margin-top: -10px;}

}

.europe-hub .promo-full {
    background: url(https://www.aircanada.com/content/dam/aircanada/airtrfx/images/campaigns/sun-hub/acvTile-beach-795.png) no-repeat top left;
}


@media only screen and (max-width: 767px) and (min-width: 415px) {
    .intl-beach-hero-sm {
        margin-top: -10px!important;
        width: 100%!important;
    }

    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        height: 350px;
    }
    .banner, .other-promo-box, .promo-2col{
     flex-direction: column;
     padding: 0px;
     width:100%
    }
}

@media only screen and (max-width: 414px) {
    .intl-beach-hero-sm {
        margin-top: -10px!important;
        width: 100%!important;
    }
        
    .europe-hub .header-row .hero-image,
    .usa-hub .header-row .hero-image {
        height: 250px;
    }
    .banner, .other-promo-box, .promo-2col {
        flex-direction: column;
        padding: 0px;
        width:100%
    }
    .other-promo-box {
        margin: 20px 0px;
        flex: 100%;
        width: 100%;
        margin: 30px 0;
        padding: 0px;
        display: flex;
        flex-direction: column;
    }


.europe-hub, .usa-hub {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
}