/* --------------- MODAL KIT SOCIO --------------- */
.modal.modal-kit-socio.active {
    display: block;
    overflow: auto;
    opacity: 1;
}

.modal.modal-kit-socio {
    position: fixed;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.85);
    top: 0;
    left: 0;
    z-index: 1000;
    padding: 0 3.75% 104px 3.75%;
}

.modal-kit-socio .popup {
    margin-top: 25px;
    max-width: 700px;
}

    .modal-kit-socio .popup .close-popup {
        display: block;
        float: right;
        margin-bottom: 10px;
        cursor: pointer;
    }

        .modal-kit-socio .popup .close-popup svg {
            height: 32px;
            width: 32px;
            stroke: #fff;
            transition: all 500ms ease-in-out;
        }

.modal-kit-socio .popup-content {
    background-color: #fff;
    padding: 40px 24px 150px;
    width: 100%;
    margin: 0 auto;
    max-width: 700px;
}

    .modal-kit-socio .popup-content .svg-icon {
        width: 60px;
        height: 40px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

        .modal-kit-socio .popup-content .svg-icon svg {
            width: 100%;
            height: 100%;
            stroke: #c30000;
        }

    .modal-kit-socio .popup-content h3 {
        text-align: center;
        margin-bottom: 20px;
        font-size: 25px;
    }

    .modal-kit-socio .popup-content .kit-socio-paragraph {
        text-align: center;
        display: block;
        margin: 0 auto;
        width: 75%;
        margin-bottom: 20px;
    }

    .modal-kit-socio .popup-content .code-area-wrapper .code-form {
        position: relative;
        display: block;
        margin: 0 auto;
    }

        .modal-kit-socio .popup-content .code-area-wrapper .code-form .input-wrapper {
            width: 50%;
            margin: 0 auto;
        }

.modal-kit-socio input[type="text"] + label[placeholder] {
    left: auto;
}

.modal-kit-socio #kit-soc-code-input {
    height: 40px;
    text-transform: uppercase;
    padding: 10px 15px;
    width: 100%;
    border: 1px solid #ccc;
}

.modal-kit-socio .popup-content .code-area-wrapper .button-wrapper {
    display: block;
    margin: 20px 0 0 0;
    text-align: center;
}

.modal-kit-socio .input-error-message {
    color: #c30000;
    padding: 10px 0;
    margin: auto;
    width: 75%;
    text-align: center;
}

.modal-kit-socio #kit-soc-code-input {
    border: solid 1px #c30000;
}

/* --------------- END MODAL KIT SOCIO --------------- */

/* --------------- MODAL VOUCHER FAMÍLIA --------------- */
.modal.modal-voucher-familia.active {
    display: block;
    overflow: auto;
    opacity: 1;
}

.modal.modal-voucher-familia {
    position: fixed;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.85);
    top: 0;
    left: 0;
    z-index: 1000;
    padding: 0 3.75% 104px 3.75%;
}

.modal-voucher-familia .popup {
    margin-top: 25px;
    max-width: 700px;
}

    .modal-voucher-familia .popup .close-popup {
        display: block;
        float: right;
        margin-bottom: 10px;
        cursor: pointer;
    }

        .modal-voucher-familia .popup .close-popup svg {
            height: 32px;
            width: 32px;
            stroke: #fff;
            transition: all 500ms ease-in-out;
        }

.modal-voucher-familia .popup-content {
    background-color: #fff;
    padding: 40px 24px 150px;
    width: 100%;
    margin: 0 auto;
    max-width: 700px;
}

    .modal-voucher-familia .popup-content .svg-icon {
        width: 60px;
        height: 40px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

        .modal-voucher-familia .popup-content .svg-icon svg {
            width: 100%;
            height: 100%;
            stroke: #c30000;
        }

    .modal-voucher-familia .popup-content h3 {
        text-align: center;
        margin-bottom: 20px;
        font-size: 25px;
    }

    .modal-voucher-familia .popup-content .kit-socio-paragraph {
        text-align: center;
        display: block;
        margin: 0 auto;
        width: 75%;
        margin-bottom: 20px;
    }

    .modal-voucher-familia .popup-content .code-area-wrapper .code-form {
        position: relative;
        display: block;
        margin: 0 auto;
    }

        .modal-voucher-familia .popup-content .code-area-wrapper .code-form .input-wrapper {
            width: 50%;
            margin: 0 auto;
        }

.modal-voucher-familia input[type="text"] + label[placeholder] {
    left: auto;
}

.modal-voucher-familia #kit-soc-code-input {
    height: 40px;
    text-transform: uppercase;
    padding: 10px 15px;
    width: 100%;
    border: 1px solid #ccc;
}

.modal-voucher-familia .popup-content .code-area-wrapper .button-wrapper {
    display: block;
    margin: 20px 0 0 0;
    text-align: center;
}

.modal-voucher-familia .input-error-message {
    color: #c30000;
    padding: 10px 0;
    margin: auto;
    width: 75%;
    text-align: center;
}

.modal-voucher-familia #kit-soc-code-input {
    border: solid 1px #c30000;
}
}

/* --------------- END MODAL VOUCHER FAMÍLIA --------------- */

#landing-store.has-tickets section#cover,
#landing-store.no-tickets section#tickets {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}



#landing-store section > a {
    padding: 3%;
}

#landing-store > div > div > section {
    margin-bottom: 2.6%;
}

#landing-store section > a .button {
    width: 100%;
    text-align: center;
}
/* issue 577 */
#highlights .description.left-black > div:before {
    background: linear-gradient(to bottom, transparent 45%, rgba(255, 255, 255, 0.6) 100%);
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

#highlights .button {
    padding: 5px 0;
}

/* Specific ticket styles in store landing */

#landing-store #tickets {
    margin-top: 20px;
}

#landing-store .ticket {
    padding: 0 12px;
}

.edge-button-path {
    stroke: #fff;
}

/* Official Products */

.aspect-ratio > .inner-item,
.aspect-ratio-3-1 > .inner-item {
    background-size: cover;
    background-position: center;
}

.aspect-ratio-3-1 > .inner-item {
    height: 450px;
}

.inner-item .description {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    padding-bottom: 65px;
    z-index: 1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.30) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.30) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}

    .inner-item .description > div {
        text-align: center;
        padding: 0 2%;
    }

        .inner-item .description > div > * {
            text-transform: uppercase;
            font-weight: normal;
        }

    #membership .description > div > *,
    .inner-item .description.right-white-2 > div > *,
    .inner-item .description.right-white > div > * {
        color: white;
        text-transform: uppercase;
        font-weight: normal;
    }

    .inner-item .description h6 {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .inner-item .description h2 {
        font-size: 40px;
        margin-bottom: 5px;
    }

    .inner-item .description h5 {
        font-size: 24px;
        margin-bottom: 25px;
    }

    #membership .description .button,
    .inner-item .description .button {
        background-color: white;
        color: rgb(36,36,36);
        border: none;
    }

        #membership .description .button:hover,
        .inner-item .description .button:hover {
            color: white;
        }

    .inner-item .description.white-box {
        justify-content: center;
    }

        .inner-item .description.white-box > div {
            background-color: white;
            padding: 2%;
            width: 75%;
        }

        .inner-item .description.white-box h5 {
            margin-bottom: 0;
        }

#oficial-products .inner-item .description.right-white-2 > div,
#oficial-products .inner-item .description.right-white > div {
    width: 100%;
    padding: 0px 5%;
}

    #oficial-products .inner-item .description.right-white-2 > div .button,
    #oficial-products .inner-item .description.right-white > div .button {
        width: 100%;
    }

/* Highlights */

#highlights .item {
    padding: 0 4.5%;
}

    #highlights .item:first-child {
        margin-bottom: 4%;
    }

#highlights .aspect-ratio {
    position: relative;
    width: 100%;
    height: 0px;
    padding-top: 64.65%;
}

    #highlights .aspect-ratio > .inner-item {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgb(244,244,244);
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: inherit;
    }

    #highlights .aspect-ratio > .inner-item {
        height: 100%;
    }

#highlights .description {
    justify-content: center;
    align-items: center;
    padding-bottom: 0;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
}

    #highlights .description.left-black {
        justify-content: flex-start;
        align-items: flex-end;
    }

        #highlights .description.left-black > div {
            text-align: left;
            padding: 8% 6%;
            width: 100%;
        }

        #highlights .description.left-black h2 {
            margin-bottom: 4%;
        }

        #highlights .description.left-black .button {
            color: white;
            background-color: rgb(36,36,36);
            border: none;
            width: 100%;
            text-align: center;
        }

    #highlights .description.right-promotion {
        justify-content: flex-end;
        padding-right: 6%;
    }

        #highlights .description.right-promotion > div {
            padding-top: 10%;
            width: 47%;
        }

.inner-item .description.right-promotion > div > * {
    text-align: center;
}

.inner-item .description.right-promotion.black > div > * {
    color: #242424;
    height: auto; /* FIX (IE) height:initial 09/07/2018*/
    padding: 0 !important;
}

.inner-item .description.right-promotion.red > div > * {
    color: #c30000;
    height: auto; /* FIX (IE) height:initial 09/07/2018*/
    padding: 0 !important;
}

.inner-item .description.right-promotion h1 {
    font-size: 28px;
    font-weight: bold;
    padding: 15px 0px;
}

.inner-item .description.right-promotion.black h1 {
    color: #fff !important;
    font-size: 16px;
}

.inner-item .description.right-promotion.red h1 {
    /*color: #242424 !important; */
    font-size: 16px;
}

.inner-item .description.right-promotion.black h1 {
    background-color: #242424;
}

.inner-item .description.right-promotion.red h1 {
    background-color: unset;
    transition: color 250ms ease-in-out;
    transition: color 250ms ease-in-out;
    transition: color 250ms ease-in-out;
}

.inner-item .description.right-promotion.black .promotions-black {
    width: 100%;
    background: #242424;
}

    .inner-item .description.right-promotion.black .promotions-black h1 {
        background: none;
    }

.inner-item .description.right-promotion.red .promotions-red {
    width: 100%;
    background: #c30000 !important;
}

.inner-item .description.right-promotion.red .promotions-black h1 {
    background: unset;
}

.inner-item .description.right-promotion.red .promotions-red:hover h1 {
    color: #242424 !important;
}

.inner-item .description.right-promotion.red .promotions-red:before {
    /* background-color: #C30000;*/
    background-color: unset; /* bug 943*/
}
/* bug 943 */
.inner-item .description.right-promotion .promotions-red:hover {
    background-color: white !important;
}

.inner-item .description.right-promotion h4 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 15px;
}

.inner-item .description.right-promotion h6 {
    font-size: 18px;
    margin-bottom: 0;
    margin-top: 8px;
}

/* Membership */

#membership .description {
    justify-content: center;
    align-items: center;
    padding-bottom: 0;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
    align-items: flex-end;
    padding-bottom: 10%;
}

    #membership .description > div {
        width: 100%;
        padding: 0 5%;
    }

#membership .inner-item .description h2 {
    margin-bottom: 25px;
}

#membership .description .button {
    width: 100%;
}

@media (max-width: 350px) and (min-width: 320px) {
    #membership .cover-video .inner-item .content .inner {
        top: 20px;
    }
}

@media (max-width: 425px) {
    .product .inner-item .description h2 {
        font-size: 31px;
    }

    .cover-video .inner-item .content .inner {
        top: 57px;
    }

    .cover-video .inner-item .content h2 {
        width: 70%;
        font-size: 26px;
        margin-left: auto;
        margin-right: auto;
    }

    .cover-video .inner-item .content h6 {
        font-size: 13px;
        margin-top: 60px;
    }

    #landing-store .ticket {
        padding: 0;
    }



    #highlights .description.left-black > div {
        width: 100%;
    }

    #highlights .description.left-black h2 {
        margin-bottom: 4%;
        font-size: 26px;
    }

    .inner-item .description h6 {
        font-size: 12px;
    }

    .inner-item .description h2 {
        font-size: 35px;
    }

    .inner-item .description h5 {
        font-size: 20px;
    }
}

@media screen and (min-width:520px) {
    .inner-item .description.right-promotion.black h1 {
        color: white;
        font-size: 28px;
    }

    .inner-item .description.right-promotion.red h1 {
        color: white;
        font-size: 28px;
    }
}

@media (max-width: 600px) {
    #highlights .description.right-promotion {
        padding-right: 2%;
    }

    .inner-item .description.right-promotion h1 {
        padding: 10px 0;
        font-size: 18px;
    }

    #highlights .description.right-promotion > div {
        padding-top: 15%;
        width: 50%;
    }

    .inner-item .description.right-promotion h4 {
        font-size: 20px;
        margin-top: 5%;
    }

    .inner-item .description.right-promotion h6 {
        font-size: 14px !important;
        margin-top: 0px !important;
    }
}

@media (min-width: 768px) {
    /* issue 577 */
    #highlights .description.left-black > div:before {
        background: linear-gradient(to bottom, transparent 50%, rgba(255, 255, 255, 0.1) 100%);
    }

    #landing-store section > a {
        float: right;
        margin-right: 1.8%;
        margin-top: 15px;
        width: auto;
        padding: 0;
    }

        #landing-store section > a .button {
            width: auto;
        }

    #landing-store #tickets .edge-holder.slick-arrow.previous {
        margin-bottom: 6px;
        width: 6%;
        background: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,1));
        background: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,1));
        background: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,1));
        background: linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,1));
    }

    #landing-store #tickets .edge-holder.slick-arrow.next {
        margin-bottom: 6px;
        width: 6%;
        background: -webkit-linear-gradient(right, rgba(0,0,0,0), rgba(0,0,0,1));
        background: -o-linear-gradient(right, rgba(0,0,0,0), rgba(0,0,0,1));
        background: -moz-linear-gradient(right, rgba(0,0,0,0), rgba(0,0,0,1));
        background: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1));
    }

    .inner-item .description .button {
        width: 140px;
    }

    .aspect-ratio-3-1 {
        position: relative;
        width: 100%;
        height: 0px;
        padding-top: 56.25%;
    }

        .aspect-ratio-3-1 > .inner-item {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
        }

        .aspect-ratio-3-1 > .inner-item {
            height: 100%;
        }

    .inner-item .description {
        justify-content: center;
        align-items: center;
        padding-bottom: 0;
        background: none;
    }

        .inner-item .description > div {
            padding: 0;
        }

        .inner-item .description.white-box > div {
            width: auto;
            padding: 60px 54px;
        }

    #membership .description {
        align-items: center;
        padding-bottom: 0%;
    }

        #membership .description > div {
            width: 50%;
            padding: 0%;
        }


        #membership .description .button {
            width: auto;
        }

    /* Highlights */

    #highlights .item {
        padding: 0 1.68%;
    }

    #highlights .description.right-promotion > div {
        width: 52%;
    }

    #highlights .description.left-black {
        align-items: center;
    }

        #highlights .description.left-black h2 {
            margin-bottom: 9%;
        }

    #highlights .item:nth-child(1) {
        padding-right: 0.84%;
        margin-bottom: 0%;
    }

    #highlights .item:nth-child(2) {
        padding-left: 0.84%;
    }

    #highlights .description.left-black > div {
        width: 75%;
        padding: 0 0 0 6%;
    }

    .inner-item .description.right-promotion h1 {
        font-size: 32px;
        padding: 10px 0;
    }

    #highlights .description.left-black .button {
        width: 140px;
    }

    #oficial-products .inner-item .description.right-white-2 > div,
    #oficial-products .inner-item .description.right-white > div {
        width: auto;
        padding: 0;
    }

        #oficial-products .inner-item .description.right-white-2 > div .button,
        #oficial-products .inner-item .description.right-white > div .button {
            width: 137px;
        }
}

@media (min-width: 992px) {
    #landing-store .cover-video {
        padding-top: 33.333334%
    }

    /* Common store footer */

    footer.advantages .item p {
        font-size: 15px;
    }

    #membership .description > div {
        width: 37%;
    }

    #highlights .description.left-black > div {
        width: 59%;
    }

    .aspect-ratio-3-1 {
        padding-top: 33.333333%;
    }

    #highlights .description.right-promotion > div {
        width: 42%;
    }
}

@media (min-width: 1200px) {
    /* Common store footer */
    footer.advantages .item p {
        font-size: 18px;
    }

    .inner-item .description {
        justify-content: flex-start;
    }

        .inner-item .description.right-white-2 {
            padding-top: 5%;
        }

    #membership .description > div {
        width: 31%;
    }

    #highlights .description.left-black > div {
        width: 50%;
    }

    .inner-item .description.right-promotion h1 {
        padding: 29px 0;
    }

    #highlights .description.right-promotion > div {
        width: 47%;
        padding-top: 8%;
    }
}

#oficial-products .slick-slide, .slick-slide::before, .caption {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

    #oficial-products .slick-slide::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
