a,abbr,acronym,address,applet,article,
aside,audio,b,big,blockquote,body,canvas,
caption,center,cite,code,dd,del,details,
dfn,div,dl,dt,em,embed,fieldset,figcaption,
figure,footer,form,h1,h2,h3,h4,h5,h6,header,
hgroup,html,i,iframe,img,ins,kbd,label,legend,
li,mark,menu,nav,object,ol,output,p,pre,q,ruby,
s,samp,section,small,span,strike,strong,sub,
summary,sup,table,tbody,td,tfoot,th,thead,time,
tr,tt,u,ul,var,video {
    font: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
}

html {
    line-height: 1.5;
    tab-size: 4;
    font-family: AmericanSans Var, Helvetica, Arial, sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

header {
    line-height: var(--adc-typography-body1-line-height,1.375rem);
    font-weight: var(--adc-typography-body1-font-weight,400);
    letter-spacing: var(--adc-typography-body1-letter-spacing,0.01em);
    text-decoration: var(--adc-typography-body1-text-decoration,inherit);
    text-transform: var(--adc-typography-body1-text-transform,inherit);
    font-family: AmericanSans, sans-serif;
    font-size: 16px;
    bottom: 0px;
    left: 0px;
    width: 100%;
}

header .adc-row,
header .adc-column,
header .adc-tab {
    outline: 0px;
}

.grid-top {
    max-width: 1216px;
    margin: 0px auto;
}

header .grid-bottom, header .grid-top {
    max-width: 1216px;
    margin: 0px auto;
}

@media (min-width: 1440px) {
    .adc-grid {
        max-width: 1216px;
        width: 100%;
        margin: 0px auto;
    }
}

@media (min-width: 1280px) {
   .adc-column[col-desktop="3"] {
       display: block;
       flex: 0 0 25%;
       max-width: 25%;
   }
}

.adc-grid {
    display: block;
    flex-grow: 1;
    margin: 0px;
    box-sizing: border-box;
    width: 100%;
}

.adc-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: -1rem;
}

.adc-column {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    flex-basis: 0px;
    flex-grow: 1;
    max-width: 100%;
    box-sizing: border-box;
    /*border: solid 1px red; /* TODO: Borrar*/
}

.aa-button {
    border: 0px;
    background: 0px center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.aa-language-select-indicator {
    height: 24px;
    vertical-align: middle;
    display: inline-block;
    margin-right: 4px;
    padding: 0px;
    width: 24px;
    overflow: hidden;
}

.language-text {
    font-family: AmericanSans, sans-serif;
    color: rgb(24, 30, 37);
    font-size: 16px;
}

:host(:not(:root)) {
    overflow: hidden;
}

:host {
    fill: currentcolor;
    color: inherit;
    display: inline-flex;
    pointer-events: none;
    vertical-align: text-top;
}

:host {
    display: flex;
}

html, :host {
    line-height: 1.5;
    tab-size: 4;
    font-family: AmericanSans Var, Helvetica, Arial, sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

svg {
    display: inline;
}

img, svg, ::slotted(*) {
    vertical-align: top;
}

img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
}

::before, ::after {
    --tw-content: "";
}

*, ::before, ::after {
    box-sizing: border-box;
    border-width: 0px;
    border-style: solid;
    border-color: currentcolor;
}

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

.aa-language-select-indicator {
    height: 24px;
    vertical-align: middle;
    display: inline-block;
    margin-right: 4px;
    padding: 0px;
    width: 24px;
    overflow: hidden;
}

.language-text {
    font-family: AmericanSans, sans-serif;
    color: rgb(24, 30, 37);
    font-size: 16px;
}

.font-medium {
    font-weight: 500;
    font-variation-settings: "wght" 500;
}

.text-neutral-060 {
    color: rgb(80, 101, 124);
}

.leading-5 {
    line-height: 1.25rem;
}

  .text-sm {
    font-size: 0.875rem;
}

  .font-sans {
    font-family: AmericanSans Var, Helvetica, Arial, sans-serif;
}

.items-center {
    align-items: center;
}

.inline-flex {
    display: inline-flex;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.items-center {
    align-items: center;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex {
    display: flex;
}

.relative {
    position: relative;
}

.pointer-events-none {
    pointer-events: none;
}

.font-normal {
    font-weight: 400;
    font-variation-settings: "wght" 400;
}

.text-neutral-010 {
    color: rgb(24, 30, 37);
}

.leading-6 {
    line-height: 1.5rem;
}

.text-base {
    font-size: 1rem;
}

.font-sans {
    font-family: AmericanSans Var, Helvetica, Arial, sans-serif;
}

.pr-12 {
    padding-right: 3rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.bg-neutral-140 {
    background-color: rgb(255, 255, 255);
}

.border-neutral-070 {
    border-color: rgb(99, 126, 156);
}

.border-solid {
    border-style: solid;
}

.border {
    border-width: 1px;
}

.rounded {
    border-radius: 0.25rem;
}

.appearance-none {
    appearance: none;
}

.w-full {
    width: 100%;
}

.h-12 {
    height: 3rem;
}

.pointer-events-auto {
    pointer-events: auto;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0px;
    padding: 0px;
      padding-right: 0px;
      padding-left: 0px;
}

.last\:right-1:last-child {
    right: 0.25rem;
}

.text-blue-060 {
    color: rgb(8, 96, 196);
}

.p-0 {
    padding: 0px;
}

.bg-transparent {
    background-color: transparent;
}

.rounded {
    border-radius: 0.25rem;
}

.justify-center {
    justify-content: center;
}

.items-center {
    align-items: center;
}

.appearance-none {
    appearance: none;
}

.cursor-pointer {
    cursor: pointer;
}

.w-9 {
    width: 2.25rem;
}

.h-9 {
    height: 2.25rem;
}

.flex {
    display: flex;
}

.box-border {
    box-sizing: border-box;
}

.-mt-px {
    margin-top: -1px;
}

button, [role="button"] {
    cursor: pointer;
}

button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) {
    appearance: button;
    background-color: transparent;
    background-image: none;
}

button, select {
    text-transform: none;
}

svg path {
    fill: var(--icon-fill, currentcolor);
}

header .lng-selector-desktop {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    min-height: 50px;
}

header adc-row, header adc-column, header adc-tab {
    outline: 0px;
}

:host(.adc-column) {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    flex-basis: 0px;
    flex-grow: 1;
    max-width: 100%;
    box-sizing: border-box;
}

#header[_ngcontent-emh-c86] {
    font-family: AmericanSans Var,Arial,sans-serif;
    color: #181e25;
    font-size: 44px;
    font-weight: 700;
    line-height: 48px;
}

#booking-module-tabs {
    padding: 0px 24px;
}

@media (min-width: 768px) {
    .desktop-view--hidden {
        display: none!important;
    }
}

#paymentFormButton {
    font-size: 12px!important;
    width: 60%;
}

/**Mobile css*/
@media (max-width: 768px) {
    .mobile-view--hidden {
        display: none!important;
    }

    .mobile-home-page-hero {
        width: 100%;
        display: block;
    }

    .mobile-hero-container {
        min-height: 66px;
        max-width: 100vw!important;
        width: 100vw!important;
    }

    .container {
        max-width: 100vw!important;
        width: 100vw!important;
    }

    .hero {
        margin-left: 0px;
        max-width: 100vw!important;
        width: 100vw!important;
    }

    .hero-mobile {
        margin-left: 0px;
        max-width: 95vw!important;
        width: 95vw!important;
    }

    .site-content-hero {
        margin-top: -500px!important;
        margin-left: 10px!important;
        margin-right: 10px!important;
        border-radius:4px!important;
        box-shadow: 0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)!important;
        transition: border-radius .5s,box-shadow .5s,margin .5s,-webkit-transform .5s;
    }

    #booking-module-tabs {
        padding: 5px 24px!important;
    }

    #bookingCheckboxContainer > .span4 {
        display: inline-flex;
    }

    .mobile-footer {
        display: block;
        margin-top: 50px!important;
    }
    
    #additionalCharges {
        margin-top: 24px;
        font-family: arial,sans serif;
        font-size: 11px;
        line-height: 20px;
    }

    #additionalCharges > p {
        padding: 0 15px;
        margin: 6px 0 0;
    }

    #contact-footer {
        padding: 20px 16px;
        margin-top: 24px;
        font-family: arial,sans serif;
        font-size: 11px;
        line-height: 20px;
        width: 100%;
        background-color: #d0dae0;
    }

    #contact-footer a {
        color: rgb(24, 30, 37);
        text-decoration: none;
        
    }

    #contact-footer p {
        margin-bottom: 20px;
    }

    .footer-links {
        display: flex;
        justify-content: space-between;
        padding: 0 16px;
        margin-top: 24px;
    }

    .mobile-footer-icon {
        width: 24px;
        height: 24px;
    }

    .precioTachado {
        font-size: 12px!important;
    }

    .precio {
        font-size: 12px!important;
    }

    .vuelos-container {
        font-size: 12px!important;
        margin: 0px!important;
    }

    .date-selector {
        font-size: 12px!important;
    }

    h1 {
        font-size: 24px!important;
    }

    .container {
        padding: 0px 10px;
        margin-top: -20px;
    }

    .mobile-trip-summary {
        background-color: #fff;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        align-items: center;
        box-shadow: 0 -4px 8px rgba(0,0,0,.2);
        font-family: AmericanSans,Helvetica,Arial,sans-serif;
        font-size: 14px;
        padding: 10px;
    }

    #passenger_button {
        font-size: 12px!important;
        width: 95vw!important;
    }

    .payment-container {
        display: block!important;
        gap: 20px;
        margin: 20px auto;
        max-width: 1200px;
    }

    .flex {
        flex-wrap: wrap
    }

    #paymentFormButton {
        font-size: 12px!important;
        width: 95vw!important;
    }

    #ui-datepicker-div {
        left: 0px!important;
        max-width: 100%!important;
        width: 100%!important;  
    }

}

.ui-datepicker-trigger img {
    display: block!important;
}

.ui-datepicker-trigger::before {
    content: ""!important;
}

.loading {
    position: relative;
    margin: 0; 
    min-height: 100vh; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    background: url('https://www.aa.com/content/images/booking-path/ads-loader/aaBusyCard-ChooseFlights-en.png') no-repeat center center; 
    background-size: 100vw; 
}

@keyframes typing {
    from { width: 0; }
    to { width: 100%; }
}

.loading::before {
    content: "Loading...";
    position: relative;
    text-align: center;
    color: black;
    font-weight: bold;
    margin-top: -200px;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    animation: typing 3s steps(30, end) infinite alternate;
}
