/* GLOBALS */
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font: inherit;
}
html,body{
    min-height: 100%;
    position: relative;
    background: #e6e6e6;
    font-size: 16px;
    color: #333;
    font-family: 'Raleway', sans-serif;
}
img{
    max-width:100%;
}
img[disabled]{
    opacity: .5;
}
[v-cloak] {
    display: none!important;
}
a{
    text-decoration: none;
}
ul{
    margin-left: 1.2rem;
}
li{
    margin-bottom: 0.2rem;
}
strong{
    font-weight: bold;
}
small{
    font-size: 70%;
}
hr{
    margin: 2rem; 
    border-color: #177ce4;
}

/* HELPERS */
.wrap{
    max-width: 960px;
    margin: 0 auto;
    width: 90%;
    position: relative;
}
.fade-enter-active, .fade-leave-active {
    transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
    opacity: 0;
}

.croppr, .croppr > img{
    width:100%;
}

.recarga_row{
    display: flex;
}
.recarga_col{
    flex: 1;
}
.recarga_col_sep{
    width: 1rem;
}

/* SITE */

#main{}

#header{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:60px;
	overflow: hidden;
    background: #2a6189;
    z-index: 300;
    box-shadow: 0px 0px 0.4rem 0px rgba(0,0,0,1);
}
    #header_logo{
        height: 40px;
        margin: 10px 16px;
        position: absolute;
        top:0;
        left:0;
        cursor: pointer;
    }
    #header_cart{
        height: 28px;
        width: 28px;
        margin: 16px;
        position: absolute;
        top:0;
        right: 1rem;
        border-radius: 100%;
        cursor: pointer;
        overflow: hidden;
        transition: background 0.3s ease-in-out;
    }
        #header_cart:hover{
            background: #177ce4;
        }
        #header_cart_img{
            height: 28px;
            width: 28px;
        }
        #header_cart_count{
            position: absolute;
            top:0.6rem;
            right: 1.2rem;
            padding: 0.2rem 0.4rem;
            border-radius: 4px;
            background: #71b79f;
            color: #fffcfc;
            font-size: 0.86rem;
        }

    #header_avatar{
        display: none;
        height: 28px;
        width: 28px;
        margin: 16px;
        position: absolute;
        top:0;
        right:0;
        border-radius: 100%;
        border: 3px solid #fff;
        cursor: pointer;
        overflow: hidden;
        transition: background 0.3s ease-in-out;
    }
        #header_avatar:hover{
            background: #177ce4;
        }
        #header_avatar_img{
            height: 28px;
            width: 28px;
        }

#body{
    position:fixed;
    top:60px;
    left:0;
    right:0;
    width:100%;
    bottom:0;
    z-index: 100;
    overflow-y: auto;
}
    #body_wrap{
        background: #fff;
        margin: 0 auto;
        position: relative;
        max-width: 960px;
    }
    .section{
        min-height: 600px;
    }

#footer{
	background: #151c36;
	color: #fffcfc;
    position: relative;
    z-index: 200;
    padding-top: 32px;
    padding-bottom: 32px;
}
    #footer_logo{
        display: block;
        margin: 0 auto 24px;
        height: 60px;
    }
    #footer_social_title{
        margin: 12px 0 18px;
        font-size: 24px;
    }
    #footer_social_links{}
        .footer_social_links_item{
            display: inline-block;
            margin-right: 16px;
        }
            .footer_social_links_img{
                width: 30px;
            }
    .footer_separator{
        margin: 24px 0;
        border-top: 1px solid #999;
    }

    #footer_phones{
        display: flex;
    }
        .footer_phones_column{
            flex: 1;
            width: 100%;
        }

        .footer_phone_title{
            font-size: 24px;
            margin-bottom: 18px;
        }
        .footer_phone_item{
            color: #fffcfc;
            display: inline-block;
            margin-bottom: 12px;
        }


    #footer_help_link{
        color: #fffcfc;
        display: block;
        font-size: 24px;
        margin-bottom: 12px;
        display: inline-block;
    }

    #footer_copyright{
        font-size: 12px;
        font-weight: bold;
        margin-bottom: 12px;
    }
 
    #footer_address{
        font-size: 12px;
        margin-bottom: 24px;
    }
 
    #footer_webay{
        display: block;
        margin: 0 auto;
        max-height: 100px;
    }


#home_welcome{
    text-align: center;
}
    #home_welcome_title{
        font-size: 32px;
        color: #2a6189;
        margin-bottom: 12px;
    }
    #home_welcome_text{
        font-size: 20px;
        color: #2a8cae;
        margin-bottom: 24px;
    }

#home_tickets{
    display: flex;
    flex-wrap: wrap;
    padding: 0 0.6rem;
}
.home_tickets_ticket_wrap{
    flex: 1;
    width: 100%;
    padding: 0.6rem;
}
.home_tickets_ticket{
    margin: 0 auto;
    cursor: pointer;
    min-width: 340px;
    max-width: 600px;
}
#home_legal{
    display: block;
    padding: 32px;
    color: #444;
    font-size: 12px;
}
    .home_legal_item{
        margin: 0 6px;
    }

#cart_wrapper{
    padding: 1.2rem;
}
    #cart_title{
        font-size: 1rem;
        color: #2a6189;
        font-weight: bold;
        padding: 0.8rem;
    }
    #cart_total{
        background: #2a6189;
        color: #fffcfc;
        font-weight: bold;
        font-size: 1.2rem;
        padding: 2rem 1rem;
        display: flex;
    }
    #cart_total_title_detail{
        font-size: 0.8rem;
        font-weight: normal;
        margin-top: 0.4rem;
    }
    #cart_total_amount{
        flex: 1;
        text-align: right;
        padding-right:6.8rem;
    }
    #cart_button_wrap{
        text-align: center;
    }

#section_ticket{
    padding-top: 240px;
    position: relative;
}
#ticket_image_main{
    width: 100%;
    position: absolute;
    top:0;
    left:0;
    z-index: 4;
}
#ticket_title{
    font-size: 32px;
    font-weight: bold;
    color: #2a8cae;
    padding: 12px 0;
}
#ticket_content{
    padding-bottom: 12px;
}
#ticket_prices{
    padding: 0 32px 12px;
}
    #ticket_wrapper{
        padding: 0 32px 12px;
        background: rgba(255,255,255,.9);
        margin: 1rem;
        padding-top: 1rem;
        position: relative;
        z-index: 5;
    }
    .ticket_button_wrap{
        margin-bottom: 1rem;
    }
    .ticket_button{
        padding: 0.8rem 1.4rem;
        background: #2a8cae;
        color: #fffcfc;
        border-radius: 4px;
        display: block;
        max-width: 580px;
        font-size: 1.2rem;
        cursor: pointer;
        transition: background 0.3s ease-in-out;
    }
    .ticket_button_inline{
        display: inline-block;
        padding: 0.8rem 2.4rem;
    }
    .ticket_button:hover{
        background: #216e87;
    }
    .ticket_button_second{
        color: #2a8cae;
        background: #fffcfc;
        border: 1px solid #2a8cae;
    }
    .ticket_button_second:hover{
        background: #e2f3f8;
    }
    .ticket_button_full{
        max-width: none;
    }
    .ticket_button_img{
        display: inline-block;
        vertical-align: middle;
        height: 2rem;
        margin-right: 1rem;
    }
    #ticket_calendar{
        margin-bottom: 3rem;
    }

#add_cart_title{
    color: #2a8cae;
    font-size: 24px;
    margin-bottom: 1.6rem;
}

#modal{
    position: fixed;
    z-index: 500;
    top:0;
    bottom:0;
    right:0;
    left:0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.7);
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
    #modal_window{
        padding: 24px;
        background: #fff;
        width: 80%;
        height: 80%;
        position: relative;
        max-width: 640px;
    }
    .modal_close{
        position: absolute;
        cursor: pointer;
        background: #fff;
        top: 0;
        right: 0;
        font-size: 14px;
        padding: 12px;
        font-weight: bold;
        z-index: 200;
    }
    .modal_content{
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        height: 100%;        
        padding: 24px;
        overflow-y: auto;
        z-index: 100;
    }
    .modal_separator{
        margin: 24px 0;
        border-top: 1px solid #ccc;
    }
    .modal_separator_blank{
        margin: 5rem 0;
        border-top: none;
    }

    .modal_icon{
        display: block;
        margin: 5rem auto;
    }
    .modal_icon_title{
        text-align: center;
        color: #2a6189;
        font-size: 1.4rem;
        margin-bottom: 1rem;
        font-weight: bold;
    }
    .modal_icon_text{
        text-align: center;
        color: #444444;
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }


#preloader{
    position: fixed;
    z-index: 500;
    top:0;
    bottom:0;
    right:0;
    left:0;
    width: 100%;
    height: 100%;
    background: #151c36;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
    #preloader_spinner{
        width: 50%;
    }
    
.ir_reserva_link{
    padding: 72px 54px 54px;
    margin: 0.6rem;
    box-shadow: 0px 3px 6px 0 rgba(0,0,0,.16);
    background: #f9f9f9;
    border: none;
    transition: background 0.3s ease-in-out;
}
    .ir_reserva_link:hover{
        background: #f0f0f0;
    }

.ir_reserva_link_titulo{
    margin-bottom: 18px;
    font-size: 34px;
    font-weight: 600;
    color: #318dad;
}


.ir_reserva_link_texto{
    font-size: 24px;
    font-weight: normal;
    color: #4e4338;
}

.ir_reserva_link_boton{
    display: block;
    margin: 42px auto 0;
    width: 70%;
    min-width: 200px;
    background: #318dad;
    color: #fffcfc;
    text-align: center;
    padding: 16px 0;
    border-radius: 4px;
    transition: background 0.3s ease-in-out;
    font-size: 24px;
    font-weight: 600;
}


    .ir_reserva_link:hover .ir_reserva_link_boton{
        background: #009de5;
    }

    .ir_reserva_link_grande{ display: block; }
    .ir_reserva_link_chico{
        padding: 54px 36px;
        display: none;
        margin: 0.6rem auto;
        max-width: 600px;
    }

    @media (max-width: 754px){
        .ir_reserva_link_grande{ display: none; }
        .ir_reserva_link_chico{ display: block; }
    }
	
	
	
	.ir_reserva_link_grande{
		padding: 32px;
	}
	
	.ir_reserva_link_grande .ir_reserva_link_titulo{
		margin-bottom: 12px;
		font-size: 24px;
	}
	.ir_reserva_link_grande .ir_reserva_link_texto{
		font-size: 16px;
	}
	.ir_reserva_link_grande .ir_reserva_link_boton{
		margin: 24px auto 0;
		width: 50%;
		padding: 12px 0;
		font-size: 16px;
	}


    .home_categories{
        display: flex;
        flex-wrap: wrap;
    }
    .home_categories_item_wrap{
        width: 50%;
        padding: 0 6px 12px;
        position: relative;
    }
    .home_categories_item{
        display: block;
        width: 100%;
        padding-bottom: 41%;
        position: relative;
        cursor: pointer;
        background-size: cover;
        background-position: center;
    }
    .home_categories_item_name{
        text-shadow: 0px 1px 4px rgba(0,0,0,.25);
        position: absolute;
        bottom:0;
        left:0;
        width: 100%;
        text-align: center;
        padding: 0.4rem 1rem;
        font-size: 1rem;
        background: #ccc;
        color: #159;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-transform: uppercase;
    }

    .category_header{
        background: #2a6189;
        color: #ccc;
        font-size: 1.2rem;
        padding: 1em;
        cursor: pointer;
    }
    .category_header:hover{
        color:#fff;
    }

    @media (max-width: 640px){
        .home_categories_item_wrap{
            width: 100%;
            padding: 0 6px 12px;
            position: relative;
        }
    
    }


    .daily_ticket{
        padding: 2rem;
    }
    .daily_content{
        padding-bottom: 1rem;
    }
    .daily_button{
        margin: 1rem auto 0;
    }


    .ticket_button_disabled{
        cursor:not-allowed;
        opacity: 0.7;
        pointer-events: none;
        background: #666;       
    }

    .header_cart_count_max{
        background: #eb5a46!important;
    }


    .preloader_spinner_error{
        color:#f0f0f0;
        font-size: 2em;
        text-align: center;
        margin: 0 auto;
    }

    .home_amex{
        padding: 6px;
    }
    .home_amex_item{
        display: block;
    }
    .home_amex_img{
        display: block;
        width:100%;
    }

.cart_paid{
    text-align: center;
    padding: 2rem;
}
.cart_paid_img{
    max-width: 600px;
    width: 100%;
}

@media (max-width: 640px){
    .cart_paid{
        padding: 12px 6px;
    }

}


.maxcart_warning{
    color: #A00;
}


#section_amex{
    padding: 3em 0 1em;
    text-align: center;
    margin: 0 auto;
    min-width: 300px;
    max-width: 500px;
}