/* ====================================
   RAPID REWARDS 3.0 BASE CSS
   ==================================== */

html {
    scroll-behavior: smooth;
}

/* ====================================
   MAIN WRAPPER
   ==================================== */
.swa-landing-page-content-detail {
    /* Base wrapper for all RR content */
}

/* ====================================
   FONTS
   ==================================== */
@font-face {
    font-family: 'SouthwestSans-Regular';
    src: url('https://www.southwest.com/swa-resources/fonts/SouthwestSans-Regular.eot');
    src: url('https://www.southwest.com/swa-resources/fonts/SouthwestSans-Regular.eot?#iefix') format('embedded-opentype'),
         url('/swa-resources/fonts/SouthwestSans-Regular.otf');
    font-display: swap;
}

@font-face {
    font-family: 'SouthwestSans-Bold';
    src: url('https://www.southwest.com/swa-resources/fonts/SouthwestSans-Bold.eot');
    src: url('https://www.southwest.com/swa-resources/fonts/SouthwestSans-Bold.eot?#iefix') format('embedded-opentype'),
         url('/swa-resources/fonts/SouthwestSans-Bold.otf');
    font-display: swap;
}

/* ====================================
   TYPOGRAPHY
   ==================================== */
.yellow-font {
    color: #ffbf27;
}

strong {
    font-family: 'SouthwestSans-Bold', arial, sans-serif;
    font-weight: bold;
}

h1 {
    color: #fff;
    font-family: 'SouthwestSans-Bold', arial, sans-serif;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.2;
    margin: auto 0;
    padding-bottom: 20px;
    text-wrap: pretty;
}

h2 {
    color: #111C40;
    font-family: 'SouthwestSans-Bold', arial, sans-serif;
    font-weight: bold;
    font-size: 1.8rem;
   padding-bottom: 2.5%;
}

h3 {
    font-size: 1.2rem;
    font-weight: bold;
    color: #111b40;
}

h4 {
    font-weight: bold;
    color: #304CB2;
    line-height: 33px;
  text-align: left;
}
.collapse-content h4{
    font-size: 1.3rem;
}
p:not([class^="caption"]) {
    color: #111b40;
    font-family: 'SouthwestSans-Regular', arial, sans-serif;
    font-size: 1.2rem;
    font-weight: normal;
    margin: 0 0 1rem 0;
}


.swa-landing-page-content-detail .body-subheadline{
color: #111C40;
font-family: 'SouthwestSans-Regular', arial, sans-serif;
font-weight: 300;
font-size: 1.5rem;
}
a {
    color: #304cb2;
    text-decoration: none;
}

/* ====================================
   LISTS
   ==================================== */
.swa-landing-page-content-detail ul {
    -webkit-padding-start: 1.1rem;
}

.swa-landing-page-content-detail li {
  list-style-type: disc;
  color: #111b40;
  font-family: "Southwest Sans", arial, sans-serif;
  font-size: 1.125rem;
  font-weight: normal;
}

li.no-span {
    /* Stops column spanning of long names on large devices */
    display: inline-block;
}

/* ====================================
   BUTTONS â€” Custom SWA
   ==================================== */
.swa-button_primary {
    background-color: #ffbf27;
    border: 1px solid #ffbf27;
    box-shadow: 0 1px #8f8f8f;
    color: #111b40;
}

.swa-button_secondary {
    background-color: #cce1fa;
    border: 1px solid #1a2c80;
    color: #1a2c80;
    text-decoration: none;
}

/* ====================================
   BUTTONS â€” Bootstrap Overrides
   ==================================== */
.btn-primary,
.btn-secondary {
    border-radius: 2px;
    font-family: 'SouthwestSans-Regular', arial, sans-serif;
    font-size: 1.2rem;
    font-weight: normal;
}

.btn-primary {
    background-color: #ffbf27;
    border-color: #fad101 #fad101 #d2af01 #fad101;
    color: #111b40;
}

.btn-primary:hover {
    border-color: #111b40;
}

.btn-primary:active {
    box-shadow: 0 2px #8f8f8f inset;
}

.btn-secondary {
   padding: 12px 30px;
    background-color: #fff;
    border-color: #152360;
    color: #152360;
    font-weight: 400;
    border: 2px solid;
    border-radius: 9px;
}

.btn-circle {
    width: 18px;
    height: 18px;
    border-radius: 15px;
    padding: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.42857;
    background: #304CB2;
    color: #fff;
}

.btn a {
    color: #212529;
}

/* ====================================
   Anchor tag
   ==================================== */

.swa-landing-page-content-detail a {
  color: #304cb2;
  text-decoration: none;
}
.swa-landing-page-content-detail a:hover {
  text-decoration: underline;
}
.swa-landing-page-content-detail .subnav-item a{
   color:#111B40;
  text-decoration: none;

} 
.swa-landing-page-content-detail .subnav-item:hover{
   background-color:#EEF6FF;
  border-left: 2px solid #111B40;

}

/* ====================================
   FAQ
   ==================================== */
#faq .collapse-content {
    color: #304cb2;
    font-size: 15px;
    position: relative;
    margin-bottom: 20px;
    background: none;
    border: none;
    width: 100%;
    padding: 20px 80px 20px 20px;
    background-color: #F6F9FC;
}
.arrow-toggle{
    cursor: pointer;
    position: absolute;
    height: 34px;
    width: 26px;
    display: inline;
    float: right;
    bottom: 25%;
    right: 17px;
}
.faq .collapsed .arrow-toggle:after {
    content: url(https://www.southwest.com/swa-resources/images/responsive/icon-arrow-down.png);
    line-height: 0;
    margin: auto 0;
    font-family: "SouthwestSans-Bold", arial, sans-serif;
}
.faq .arrow-toggle:after {
    content: url(https://www.southwest.com/swa-resources/images/responsive/icon-arrow-up.png);
    line-height: 0;
    margin: auto 0;
    font-family: "SouthwestSans-Bold", arial, sans-serif;
}

/* ====================================
   DISCLAIMERS
   ==================================== */

section#rr-disclaimers {
  border-top: 1px solid #C8D4E0;
}

#rr-disclaimers p {
  font-size: 14px;
}

/* ====================================
   LAYOUT
   ==================================== */
section {
    margin: 0;
    width: 100%;
    padding: 2% 0;
}

.row-eq-height {
    display: flex;
    flex: 1 0 auto;
}


/* ====================================
   HERO SECTION
   ==================================== */

.swa-landing-page-content-detail .hero-subheadline{
color: #ffffff;
font-family: 'SouthwestSans-Regular', arial, sans-serif;
font-size: 1.5rem;
}

.swa-landing-page-content-detail .read-time-subtitle{
letter-spacing: 0.1em;
font-weight: bold; 
}


/* ====================================
   NAVIGATION â€” Subnav Bar
   ==================================== */
.swa-landing-page-content-detail .subnav-heading{
 font-weight: bold; 
 text-transform: uppercase;
 letter-spacing: 0.1em;
}


/* ====================================
   SUBNAV DROPDOWN (Tablet/Mobile)
   ==================================== */
.select__trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 22px;
    font-size: 20px;
    font-weight: 300;
    color: #3b3b3b;
    height: 60px;
    line-height: 60px;
    background: #ffffff;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
}

.custom-options {
    position: absolute;
    display: block;
    top: 100%;
    left: 0;
    right: 0;
    border: 1px solid #D1D1D1;
    border-top: 0;
    background: #F4F4F5;
    transition: all 0.5s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 2;
}

.select.open .custom-options {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.custom-option {
    font-family: 'SouthwestSans-Bold', arial, sans-serif;
    position: relative;
    color: #304CB2;
    display: block;
    padding: 0 22px;
    line-height: 60px;
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
    cursor: pointer;
    transition: all 0.5s;
}

.custom-option a {
    display: block;
    width: 100%;
}

.custom-option:hover {
    cursor: pointer;
    background-color: #b2b2b2;
}

/* ====================================
   ARROW (Accordion Toggle)
   ==================================== */
.arrow {
    position: relative;
    height: 15px;
    width: 15px;
}

.arrow::before,
.arrow::after {
    content: "";
    position: absolute;
    bottom: 0px;
    width: 0.15rem;
    height: 100%;
    transition: all 0.5s;
}

.arrow::before {
    left: 5px;
    transform: rotate(45deg);
    background-color: #0B142D;
}

.arrow::after {
    left: -5px;
    transform: rotate(-45deg);
    background-color: #0B142D;
}


/* ====================================
   SVG
   ==================================== */
.st0 {
    fill: #304CB2;
    stroke: #304CB2;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}


/* ====================================
   CARD GRID
   ==================================== */
.tab-content .flex-grid-two-col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.tab-content .flex-grid-two-col .card {
    width: 48%;
    margin-bottom: 3%;
    box-shadow: 0px 2px 7px #ccc;
}

/* ====================================
   UTILITY CLASSES
   ==================================== */
.hide-on-mobile,
.hide-on-tablet,
.hide-on-desktop {
    display: block;
}

/* ====================================
   ACCESSIBILITY
   ==================================== */
.swa-g-screen-reader-only,
.screenreader-only {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.swa-g-screen-reader-only { clip: rect(0,0,0,0); }
.screenreader-only { clip: rect(1px,1px,1px,1px); }

/* ====================================
   MEDIA QUERIES
   ==================================== */

/* IE Specific */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    h1, h2, .btn-primary, .btn-secondary, strong {
        font-weight: bold;
    }
}

/* Large desktops (1884px+) */
@media (min-width: 1884px) {
    .pill-box {
        --contentWidth: 1109px;
    }
}

/* Large desktops (1643pxâ€“1883px) */
@media (min-width: 1643px) and (max-width: 1883px) {
    .pill-box {
        --contentWidth: 1109px;
    }
}

/* Large desktops (1520pxâ€“1642px) */
@media (min-width: 1520px) and (max-width: 1642px) {
    .pill-box {
        --contentWidth: 1109px;
    }
}

/* Desktop (1200px+) */
@media (min-width: 1200px) {
  
}

/* Desktop (max 1200px) */
@media (max-width: 1200px) {
  
}

/* Desktop (993px+) */
@media (min-width: 993px) {
  
    .hide-on-desktop {
        display: none;
    }
}

/* Tablet (max 992px) */
@media (max-width: 992px) {
   

    .hide-on-tablet {
        display: none;
    }

   
}

/* Tablet (768pxâ€“991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .hide-on-tablet {
        display: none;
    }
}

/* Medium devices (max 768px) */
@media (max-width: 768px) {
    h1 {
        font-size: 3.25rem;
        margin: auto 0;
    }

    h2 {
        padding-left: 0;
    }

    .benefits-description {
        padding-left: 7%;
        padding-top: 1%;
        padding-bottom: 2%;
    }

    .rr-hero-section img {
        display: none;
    }

    .rr-hero-section h1 {
        font-size: 2rem;
    }

    .rr-button-container {
        display: flex;
    }

    #rr-create-acct {
        background: url('/swa-resources/images/responsive/rapid-rewards/beach-footer-wide-reflected.jpg') no-repeat;
        background-size: cover;
    }

    #rr-create-acct h2 {
        text-align: center;
    }

    #rr-create-acct h4,
    #rr-create-acct p,
    #rr-create-acct .col-5 {
        text-align: center;
    }

    #rr-create-acct p {
        padding-bottom: 4%;
    }

    #rr-recognition img {
        padding-bottom: 3%;
        width: 100%;
    }

    #rr-recognition h3 {
        font-size: 1.45rem;
        padding-bottom: 3%;
    }

    #rr-recognition h5 {
        font-size: 1.2rem;
    }

    #rr-impt-info h3 {
        font-size: 1.6rem;
        padding-bottom: 3%;
    }

    .partner-grid-box {
        min-height: 221px;
    }

    .hide-on-mobile {
        display: none;
    }

    .pill-box {
        --contentWidth: 538px;
    }

    #fareTabsContent .col-md-4,
    #fareTabsContent .col-12:last-of-type {
        border: none;
    }
}

/* Small devices (max 767px) */
@media (max-width: 767px) {
   
}

/* Small devices (577px+) */
@media (min-width: 577px) {
   

    .hide-on-desktop {
        display: none;
    }
}

/* Extra small devices (max 576px) */
@media (max-width: 576px) {
    h1 {
        font-size: 2.5rem;
        margin: 0;
    }

    h2 {
        padding-bottom: 5px;
    }

    h3 {
        font-size: 1.2rem;
        font-weight: bold;
        color: #111b40;
        display: block;
    }

    .rr-hero-section {
        padding-bottom: 18%;
        background-position: -290px;
    }

    .rr-hero-section h1 {
        line-height: 38px;
    }

    .rr-button-container {
        display: flex;
    }

  }