/* AEM page hack */
.page-heading-section + .content-wrapper {
  margin: 0;
  width: 100%;
  border: none;
}

.page-heading-section.container,
.page-content-bottom.section-wrapper,
.home-disclaimer.section-wrapper {
  display: none;
}

.template-basic .section-wrapper {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.template-basic .section-content {
  padding: 0px;
}
.template-basic .section-content .row {
  margin-left: 0px;
  margin-right: 0px;
}

main#pageMain {
  padding-bottom: 0px;
}

.container.home-disclaimer.section-wrapper {
  margin: 0;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: #F4F4F4;
}

::-webkit-scrollbar-thumb {
  background: #A2A2A4;
}

::-webkit-scrollbar-thumb:hover {
  background: #6C6C6E;
}

/* AEM Page hack END */

section.mobile-app {
    padding-bottom: 0;
}

.offer-card .offer-card__content {
    padding: 24px;
}

.offer-card .offer-card__description {
    font-size: 14px;
}

.offer-cards-grid {
    justify-content: center;
}

img.partners-image {
    border-radius: 14px;
}

a {
    white-space: nowrap;
}

.flex-component.flex-component--full-width.flex-component--no-margin h3 {
    padding: 24px 0;
}

.flex-component.flex-component--full-width.flex-component--no-margin a {
    margin: 12px 0;
}

.flex-component__content-right, .flex-component__content-left {
    text-align: left;
    align-items: flex-start;
}

.ac-card--round .ac-card__image {
    width: 109px;
    height: 109px;
}

.ac-card.ac-card--round .text-md {
    font-weight: 700;
    margin-top: 24px;
}

section.know-your-rights p, section.know-your-rights a {
    text-align: center;
    display: flex;
    justify-content: center;
}

.airline-partners-logos div {
    width: 180px;
    height: 54px;
    background: #FFF;
    padding: 10.42px;
    display: flex;
    justify-content: center;
    border-radius: 5.21px;
    background: #FFF;
    box-shadow: 0 0 4.885px 0 rgba(0, 0, 0, 0.15);
}

.airline-partners-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}

.airline-partners-logos div {
    width: 172px;
    height: 44px;
    background: #FFF;
    padding: 10.42px;
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
}

.airline-partners-ctas div {
    padding: 24px 48px;
    width: 50%;
    display: flex;
    align-items: center;
    max-width: 511px;
    justify-content: flex-end;
}

.airline-partners-ctas {
    display: flex;
    margin: 0 auto;
    justify-content: center;
}

.airline-partners-ctas img {
    margin-right: 16px;
    width: 64px;
    height: 64px;
}

section.contact-us h2.text-center {
    margin-bottom: 24px;
}

section.contact-us img.offer-card__image {
    width: 64px !important;
    height: 64px !important;
}

.mobile-app-content {
    display: flex;
    justify-content: space-between;
}

.mobile-app-content .app-ctas {
    margin: 24px 0;
}

.mobile-app-section-background {
    background-image: url("https://www.aircanada.com/content/dam/aircanada/portal/images/flight-disruption-pamphlet/cloud.png");
    background-size: cover;
    background-repeat: no-repeat;
}

.mobile-app-content .app-ctas a {
    margin: 0 16px 0 0;
}

.airline-partners-logos img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
}

.airline-partners-ctas a {
    font-size: 18px !important;
    font-weight: 700 !important;
}

section.card-insurance {
    padding-bottom: 0;
}

section.mobile-app {
    padding-top: 0;
}

.mobile-app-section-background {
    padding: 56px 0 24px;
}

.offer-card .offer-card__cta:hover {
    text-decoration: underline !important;
}

.airline-partners-ctas a {
    text-wrap: wrap;
}

.hero-section .hero-content {
    gap: 48px !important;
}

section.airline-partners .__content-container {
    display: flex;
    align-items: center;
}

.airline-partners-ctas div {
    margin: 0;
}

section.airline-partners .__content-container p {
    margin-top: 24px !important;
}

@media screen and (min-width: 1025px) {
    section {
        padding: 56px 0;
    }

    h2.text-center {
        margin-bottom: 56px;
    }

    section.flight-delays-cancellations .offer-card, section.contact-us .offer-card {
        width: 50% !important;
        max-width: 540px;
    }

    img.partners-image {
        max-width: 384px;
    }

    .flex-component__image-right, .flex-component__image-left {
        width: 34%;
    }

    .flex-component__content-right {
        min-width: 64%;
    }

    .flex-component.flex-component--full-width.flex-component--no-margin:nth-of-type(1) {
        margin-bottom: 56px;
    }

    .ac-card.ac-card--round {
        width: 258px;
    }

    .airline-partners-ctas div {
       margin-top: 56px;
    }

    .airline-partners-ctas div:nth-of-type(2) {
        border-left: 1px solid #C9CACC;
    }

    .airline-partners-ctas div:nth-of-type(1) {
        border-right: 1px solid #C9CACC;
    }

    .hero-section .hero-text h1 {
        font-size: 36px;
    }

    .know-your-rights h2.text-center, .airline-partners h2.text-center {
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 767px) {
    section {
        padding: 40px 0;
    }

    img.partners-image {
        max-width: 384px;
    }

    .hero-section .hero-content {
        flex-direction: column;
        gap: 24px !important;
        align-items: flex-end;
    }

    .hero-image img {
        width: 382px !important;
        padding: 16px;
    }

    .hero-section .hero-text {
        padding: 0 16px 0 16px;
    }

    .flex-component.flex-component--full-width.flex-component--no-margin:nth-of-type(1) {
        margin-bottom: 24px;
    }

    .six-column-layout .column {
        min-width: 150px;
    }

    .__content-container .six-column-layout {
        justify-content: center;
    }

    .airline-partners-ctas div:nth-of-type(1) {
        border-bottom: 1px solid #C9CACC;
    }
    
    .airline-partners-ctas div:nth-of-type(2) {
        border-top: 1px solid #C9CACC;
    }

    .airline-partners-ctas {
        flex-direction: column;
        width: 100%;
        max-width: 320px;
    }

    .airline-partners-ctas {
        align-items: center;
        max-width: 100%;
    }

    .airline-partners-ctas div {
        width: 100% !important;
    }

    section.airline-partners .flex-component {
        flex-direction: column !important;
    }

    .offer-card {
        min-width: 100% !important;
    }

    .flex-component.flex-component--full-width.flex-component--no-margin:nth-of-type(1) {
        flex-direction: column-reverse;
    }

    section.card-insurance {
        padding-bottom: 0 !important;
    }

    section.post-travel-assistance {
        padding-top: 0 !important;
    }

    .post-travel-assistance .flex-component.flex-component--full-width.flex-component--no-margin {
        display: flex;
        flex-direction: column;
    }

    .flex-component__image-left, .flex-component__image-right {
        padding: 0;
    }

    .mobile-app-content {
        flex-direction: column;
        align-items: flex-end;
    }

    .airline-partners-logos div {
        width: 158px !important;
    }

    .mobile-banner-image {
        padding-top: 16px;
    }

    .airline-partners-ctas div {
        display: flex;
        flex-direction: column;
    }

    .airline-partners-ctas div img {
        margin-bottom: 24px;
    }

    .mobile-app-content a {
        font-weight: 700 !important;
    }

    .airline-partners-ctas a {
        text-wrap: wrap;
        text-align: center;
    }

    section.airline-partners .__content-container {
        flex-direction: column;
    }

    .flex-component__content-right {
        margin-top: 24px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1024px) {
    section {
        padding: 40px 0;
    }

    section.flight-delays-cancellations .offer-card, section.contact-us .offer-card {
        width: 100% !important;
        max-width: 100%;
    }

    .flex-component.flex-component--full-width.flex-component--no-margin:nth-of-type(1) {
        margin-bottom: 24px;
    }

    .flex-component.flex-component--full-width.flex-component--no-margin {
        flex-direction: row;
    }

    .airline-partners-ctas div:nth-of-type(2) {
        border-left: 1px solid #C9CACC;
    }
    
    .airline-partners-ctas div:nth-of-type(1) {
        border-right: 1px solid #C9CACC;
    }

    .airline-partners-logos div {
        width: 158px !important;
    }

    .offer-cards-grid {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .flex-component__image-left, .flex-component__image-right    {
        width: 250px !important;
    }

    section.post-travel-assistance {
        padding-bottom: 20px;
    }

    .mobile-banner-image img {
        max-width: 158px;
        margin-top: 64px;
    }

    .mobile-app-section-background {
        background-image: url(https://www.aircanada.com/content/dam/aircanada/portal/images/flight-disruption-pamphlet/cloud.png);
        background-size: cover;
        background-position: center;
    }

    .airline-partners-ctas div:nth-of-type(2) img {
        margin-left: 24px;
    }

    .airline-partners-ctas div {
        padding: 24px 0;
    }

    .airline-partners-ctas div {
        display: flex;
        padding: 0 !important;
        margin: 16px 0 !important;
    }

    .hero-section .hero-content {
        flex-direction: row !important;
    }
}

.template-basic .page-content-top .bannerStyle {
    padding: 0;
}