

body{
	min-height: 100vh;
	position: relative;
}

.small{
    font-size: 0.9rem;
}

.lh-09{
	line-height: 0.9;
}


a, a:hover{
	color:inherit;
	text-decoration: none;
}

.hide{
	display: none !important;
}


.fit-content{
	width: fit-content;
}

.fade2{
	opacity: 0.2;
	transition: 400ms all linear;
}


i {
    text-align:center;
}

body.fixed{
	padding-top: 60px;
}


@media(min-width:768px){
	
	/* .container-small{
		width: 100%;
	} */

	body.fixed{
		padding-top: 80px;
	}

}



@media (min-width: 1200px) {
	.container-small{
		width: 70%;
	}
	.col-xl-2{
		flex: 0 0 20%;
		max-width: 20%;
	}
}


@media(min-width: 1600px){
	.container-small{
		width: 60%;
	}
}


/* NAVBAR */

.navbar{
	z-index: 1000;
	box-shadow: 0px 10px 30px rgb(0 29 46 / 10%);
}

.navbar-nav{
	/* width: 100%; */
	flex-direction: row;
	justify-content: space-between;
}

.img-brand{
	height:70px;
}

.nav-link{
	margin: 0px 12px;
	vertical-align: middle;
	position: relative;
}

.nav-link.active{
	font-weight: bold;
}

.nav-search.hide{
	display: none !important;
}


.nav-icon {
	width: 100%;
	display: inline-block;
	vertical-align: middle;
	line-height: 30px
}

.icon-desc{
	display:none;
}

.navbar{
	height: 60px;
}

@media(min-width:768px){
	
	.navbar-brand{
		width: auto;
		height: 100%;
		position: relative;
	}

	.icon-desc{
		display:block;
		line-height: 0.8;
	}

	.nav-link{
		margin: 0px 5px;
	}

	.navbar{
		height: 80px;
	}

	.navbar-nav{
		width: auto;
	}

	.nav-link-search{
		display: none;
	}

	.nav-search{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.search-input{
		width: 300px !important;
	}
}

/* phone number field */
.iti{
	width: 100%;
}

/* sidebar */
#sidebar {
    min-width: 250px;
	max-width: 75%;
    position: fixed;
    height: calc(100vh - 50px);
    left: -100%;
    z-index: 1001;
    transition: all 0.3s;
    overflow-y: auto;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
    border-top: 1px solid #ccc;
}

#sidebar.active {
    left: 0;
}

.overlay {
    display: none;
    position: fixed;
    top:0;
    left:0;
    right:0;
    height: 100vh;
    background: rgba(0, 0, 0, 0.2);
    z-index: 998;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.overlay.active {
    display: block;
    opacity: 1;
}

#sidebar .sidebar-header {
    padding: 20px;
}

#sidebar ul li a {
    padding: 10px 20px;
    font-size: 1em;
    display: block;
	line-height: 20px;
}


/* NAVBAR */
#btn-sidebar{
	display: block;
	height: 35px;
	width: 38px;

	line-height: 38px;
	text-align: center;
	border-radius: 7px;
	font-size: 25px;
	position: relative;
  
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
  }
  #btn-sidebar span{
	display: block;
	position: absolute;
	height: 3px;
	width: 22.5px;
	background: #ccc;
	border-radius: 9px;
	opacity: 1;
	left: 7px;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
  }
  
  #btn-sidebar span:nth-child(1) {top: 7px}
  #btn-sidebar span:nth-child(2),#btn-sidebar span:nth-child(3) {top: 15px;}
  #btn-sidebar span:nth-child(4) {top: 23px}
  
  #btn-sidebar.open span:nth-child(1) {
	top: 18px;
	width: 0%;
	left: 50%;
  }
  
  #btn-sidebar.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
  }
  
  #btn-sidebar.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
  }
  
  #btn-sidebar.open span:nth-child(4) {
	top: 18px;
	width: 0%;
	left: 50%;
  }












.dropdown-submenu a::after {
	transform: rotate(90deg);
	position: absolute;
	left: 6px;
	top: .8em;
}

.dropdown-submenu {
	position: relative;
}


.dropdown-submenu .dropdown-menu {
	top: 0;
	left: auto;
	right: 100%;
}

.dropdown-submenu li.active:hover{
	color:white !important;
}

.dropdown-toggle:active{
	color: inherit;
    background-color: inherit;
}

@media(max-width: 991px){

	.dropdown-submenu a::after {
		transform: rotate(0deg);
	}

	.dropdown-user{
		right: 0.4rem;
		left: auto;
	}
	
	.dropdown{
		position: inherit;
	}  

	.dropup, .dropright, .dropdown, .dropleft {
		position: inherit;
	}
	
	.dropdown-user{
		position: absolute !important;
	}
}

.dropdown-flags{
	position: absolute !important;
	right: 9px;
    left: auto;
	top: 51px;
	min-width: inherit;
}

/* .dropdown-menu{
	min-width: auto;
} */

.dropdown-flags .dropdown-item{
	padding: 0.25rem .5rem;
}

.flag{
	width:30px;
}


/* CART */
.cart-badge{
	position: absolute;
	top: 0;
    left: 100%;
	transform: translateX(-50%);
}

.cart-badge.empty{
	display: none;
}

@media(min-width: 768px){
	#cart-nav.active{
		display: block !important;
	}

	.cart-badge{
		left: 70%;
	}
}

#cart-nav{
	position: absolute;
    width: 450px;
	right: 0;
	display: none !important;
	z-index: 1010;
	top: 55px;
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
}


#cart-nav.empty{
	display: none !important;
}

.cart-icon{
	color: #515783;
	font-size: 24px;
	margin-right: 7px;
	float: left;
}

/* .cart-items{
	padding-left:0;
	display: block;
} */
.list-group-flush .list-group-item:first-child {
	border-top: 0;
}

.list-group-flush .list-group-item:last-child {
    margin-bottom: 0;
	border-bottom: 0;
}

.list-group-item.active *{
	color: #fff !important;
}

.list-group-item.term.active *{
	color: inherit !important;
}

.list-group-item.disabled{
	color: white !important;
	background: var(--gray);
	cursor: not-allowed;
	pointer-events: inherit;
}

.list-group-item.disabled * {
	color: #fff !important;
}

.cart-item{
	display: flex;
	align-items: center;
	position: relative;
}

.cart-item:after{
	content: "";
  	display: table;
  	clear: both;
}

.cart-item-img{
	width: 60px;
	/* height: 60px; */
}

.cart-item-title{
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	font-weight: 700 !important;
}



.item-quantity-value::-webkit-inner-spin-button,
.item-quantity-value::-webkit-outer-spin-button{
	-webkit-appearance: none;
}

.item-quantity-value{
	-moz-appearance: textfield;
	padding: 1px 3px;
	text-align: center;
	width: 70px !important;
}


.cart-item-spinner{
	position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
	
.card-cart{
	width: 100%;
	top: 20px;
}


#side-tabs{
	position: fixed;
	top: 23%;
	z-index: 1000;
}

.side-tab{
	position: relative;
	left: -100%;
	border-top-right-radius: 25px;
	border-bottom-right-radius: 25px;
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
	transition:  left 400ms ease-out;
	font-size: 22px;
	height: 65px;
}




@media (min-width: 768px) {
	.collapse.dont-collapse-md {
	  display: block;
	  height: auto !important;
	  visibility: visible;
	}
}




/* #companies-selection{
	display: none;
}

#companies-selection.active{
	display: block;
} */


.btn.disabled{
	cursor: not-allowed;
}

.btn.disabled .btn-text.before{
	display: block;
}

.btn .btn-text.after{
	display: none;
}

.btn.disabled .btn-text.after{
	display: block;
}

.btn.disabled .btn-text.before{
	display: none;
}




  .ribbon {
	height: 80px;
	right: -40px;
	position: absolute;
	top: -40px;
	width: 80px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
  }
    
  .ribbon span {
	color: #f5f5f5;
	font-weight: 700;
	font-size: 0.8rem;	
	bottom: 5px;
	position: absolute;
	width: 80px;
	text-align: center;
  }   


.cart-steps{
	list-style: none !important;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: stretch;
}

.cart-steps li{
	flex-grow: 1;
	margin: 5px;	
	padding: 15px 10px;
	cursor: pointer;
}



/* .cart-tab{
	display: none;
}

.cart-tab.active{
	display: block;
} */
.option-value{
	position: absolute;
	left:50%;
	transform: translateX(-50%) scale(0.5,0.1);
	opacity: 0;
	bottom: -8px;
}


.list-group-radio{
	border: none;
}


.list-group-radio input{
	top: 50%;
	position: absolute;
	transform: translateY(-50%);
	opacity: 0;
	cursor: pointer;
}


.img-payment{
	height: 35px;
}

.img-sm{
	width: 35px;
	height: 35px;
}

.img-md{
	width: 50px;
	height: 50px;
}

@media(min-width:768px){
	.img-md{
		width: 75px;
		height: 75px;
	}

	.img-sm{
		width: 50px;
		height: 50px;
	}
}

.container-large{
	max-width: 1250px;
}

.main{
	margin-top: 1em;
	margin-bottom: 1em;
}

/* main store */

.category{
	color: black;
}
.category:hover{
	color: var(--primary);
}

.category.active{
	color: var(--primary);
	font-weight: bold;
}

.pl-6, .px-6 {
    padding-left: 2.5rem !important;
}

.pl-0 .category{
	font-weight: 600;
}

.subcategory-title{
	color: white;
	z-index: 7;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bolder;
	font-size: 20px;
	letter-spacing: 1px;
}

@media(min-width: 500px){
	.subcategory-title{
		font-size: 30px;
	}
}

@media(min-width: 700px){
	.subcategory-title{
		font-size: 40px;
	}
}

@media(min-width: 1200px){
	.subcategory-title{
		font-size: 35px;
	}
}

.btn-expend-category{
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none !important;
	width: 40px;
	height: 40px;
}

.btn-expend-category:before{
	content: "+";
}

.btn-expend-category.active:before{
	content: "-";
}



/* [1] The container */
.card-article-image {
	overflow: hidden; /* [1.2] Hide the overflowing of child elements */
}
  
/* [2] Transition property for smooth transformation of images */
.card-article-image img {
	transition: transform .5s ease;
}
  
/* [3] Finally, transforming the image when container gets hovered */
.card-article-image img {
	transform: scale(1);
}

.card-article-image img {
	transition: transform 0.4s, filter 0.4s ease-in-out;
	transform-origin: center center;
	filter: brightness(75%);
	object-fit: cover;
}
  
/* The Transformation */
.card-article-image:hover img {
	filter: brightness(85%);
	transform: scale(1.3);
}

.card-article-image{
	cursor: pointer;
}


.badge-stock{
	position: absolute;
	z-index: 500;
	bottom: 5px;
	left: 5px;
}

.pagination{
	justify-content: center;
}

.row-item{
	margin-left: -10px;
	margin-right: -10px;
}

.col-item{
	padding: 10px !important;
}


.item-body{
	height: auto;	
}

.item-description{
	line-height: 16px;
	font-size: 13px;
	overflow: hidden;
}

.list-inline-item.active  img{
	border: 2px solid var(--primary);
}

@media(min-width: 768px){

	.card-cart{
		width: 450px;
		top: 60px;
	}

	.card-article-image{
		width: 75%;
	}
}

@media(min-width: 1200px){	
	.store-item{
		width: calc(25% - 10px);
	}
}

.article-more{
	z-index: 10;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.2);
	color: white;
	display: none;
	
}

.article-img:hover .article-more{
	display: block;
}

.image{
    position:relative;
    overflow:hidden;
    padding-bottom:100%;
}

.image img{
    position: absolute;
	bottom: 50%;
	transform: translateY(50%);
	left: 0;
}


#store-types{
	background: var(--primary);
	color: var(--white);
}

.store-type-btn:hover{
    text-decoration: underline;
    cursor: pointer;
}

.store-type-btn.active{
    font-weight: bold;
}




.store-item{
	margin: 0 5px 10px 5px;
	width: calc(50% - 10px);
	float:left;
}

@media(min-width: 768px){
	.store-item{
		width: calc(33.3% - 10px);
	}
}

@media(min-width: 1200px){
	.store-item{
		width: calc(25% - 10px);
	}
}


.card-img-article{
	width: 100%;
	height: 200px;
}


.barcode{
	width:200px;
}

.center-vert-parent{
	display: flex;
	height: 100%;
}

.center-vert-child{
	margin: auto 0; /* Important */ 
}

@media(min-width: 768px){
	.center-md{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}





.service-item-option.active{
	color: var(--primary) !important;
	font-weight: bold;
}


.term-date{
	cursor: pointer;
	flex: 0 0 auto;
	height: auto;
}

.term-date:focus{
	outline: none;
}

/* reservations */
.term-date.active{
	background-color: var(--primary) !important;
	color:var(--white) !important;
	border-color: transparent !important
}

.term-service.active{
	color: var(--primary) !important;
	background-color: inherit !important;
	border: 2px solid var(--primary) !important;
}

.teterm-servicerm .custom-control{
	padding-left: 0px;
}

.term-service.active .employee-list{
	display: none !important;
}

.term-service .employee-select{
	display: none;
}

.term-service.active .employee-select{
	display: block !important
}

.carousel-control-prev, .carousel-control-next,
.carousel-control-prev:hover, .carousel-control-next:hover{
	color:black !important;
	font-size: 35px;
}


.img-zoom {	
	cursor: zoom-in;
}

.img-zoom::selection { background-color: transparent; }


















/* LOGIN */
.background{
	top: 0;
	min-height: 100vh;
	left: 0;
	right: 0;
	position: fixed;
}

.background img{
	object-fit: cover;
	min-width: 100%;
	height: 100%;
	filter: blur(1px);
}

#card-login, #card-register{
	width: 100%;
	margin: 15px 0;
}

.modal-login{
	margin-top: 100px;
}

@media(min-width:768px){
	#card-login, #card-register{
		width: 33%;
	}	
	.modal-login {		
		width: 525px;
	}
}

/* .modal-dialog {
	margin-top: 70px;
	margin-bottom: 30px;
} */

.modal-login .modal-header {
	border-bottom: none;   
	position: relative;
	justify-content: center;
}
 .avatar {
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: -70px;
	width: 95px;
	height: 95px;
	border-radius: 50%;
	z-index: 9;
	padding: 15px;
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
}
.avatar i {
	width: 100%;
	color: white;
	font-size: 48px;
	line-height: 1.3;
}

.btn-lg .spinner-border{
	width: 1.4rem;
	height: 1.4rem;	
}

/* USER PROFILE */

#nav-user{
	padding: 15px;
}


.order-item{
	font-size: 14px;
}

.order-item-img{
	width: 40px;
	height: 40px;
}

#spinner-items, #spinner-prices{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: none;
}

#spinner-items .spinner-border{
	width: 3rem;
	height: 3rem;
	border-width: 6px;
}

#spinner-prices .spinner-border{
	width: 2rem;
	height: 2rem;
	border-width: 4px;
}

.spinner-lg{
	width: 5rem;
	height: 5rem;
	border-width: 7px;
}


.card-footer{
	background: inherit;
}

footer{
	width: 100%;
	position: absolute;
	bottom: 0;
}


.pagination .page-item a{
	position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: var(--primary);
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.pagination .page-item.active a{
	z-index: 1;
	color: #fff;
	background-color: var(--primary);
	border-color: var(--primary);
}

.barcode-image{
	width:100%;
}

@media(min-width: 768px){
	.barcode-image{
		max-width: 240px;
	}
}
	
.text-muted{
	color: #999 !important;
}


#cookiescript_link{
	visibility: hidden;
}

#cookiescript_badge{
	display: none !important;
}



.popover-danger {
    background-color: #d9534f;
    color: white;
}

.popover-header {
    background-color: #d9534f;
    color: white;
}

.popover-danger .arrow:after {
    border-top-color: #d9534f;
}

#itemimageCarousel .list-inline, #itemimageCarouselTwo .list-inline {
    white-space:nowrap;
    overflow-x:auto;
}

#itemimageCarousel .carousel-indicators, #itemimageCarouselTwo .carousel-indicators {
    position: static;
    left: initial;
    width: initial;
    margin-left: initial;
}

#itemimageCarousel .carousel-indicators > li, #itemimageCarouselTwo .carousel-indicators > li {
    width: initial;
    height: initial;
    text-indent: initial;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  height: 100px;
  width: 100px;
  background-size: 100%, 100%;
  background-image: none;
}

.carousel-control-next-icon:after{
  content: '🡢';
  font-size: 50px;
  color: black;
}

.carousel-control-prev-icon:after {
  content: '🡠';
  font-size: 50px;
  color: black;
}


table{
	width: 100%;
}









/* seat selection */

svg text{
	pointer-events:none;
}

#seats{
	transition: all .5s ease-out;
	transform-origin: 0% 0%;
	transform: scale(1);
}

#modal-seat-select .modal-dialog{
	max-width: none;
	width: 734px;
}

.sector{
    fill:white;
    stroke:#aaa;
    stroke-width: 2;
	pointer-events:none;
}

.sector.disabled{
	/* fill:#f57272 !important;
	stroke:rgb(163, 8, 8); */
	fill:#777 !important;
	stroke:#000;
	cursor: not-allowed;
}

.sector-select, .sector-stands{
	cursor:pointer;
	pointer-events: initial;
}

.sector-select:hover, .sector-stands:hover{
	fill:#ddd;
	animation: fill 600 ease-in-out;
}

.sector-stands.active{
	fill:var(--primary);
}

.sector-stands.active:hover{
	filter: brightness(85%);
	animation: brightness 600 ease-in-out;
}

.sector-text.active{
	fill:white;
}

.sector-text.active{
	fill:white;
}

.seat{
    fill: white;
    stroke:#555;
    stroke-width: 1.5;
	pointer-events:none;
}

.seat-select{
	cursor:pointer;
	pointer-events: initial;
}

.seat-select:hover{
	fill: #ccc;
	animation: fill 600 ease-in-out;
}

.seat.disabled{
    /* fill: #f57272 !important; */
	fill: #777 !important;
    cursor: not-allowed;
}

.seat.active{
    fill: var(--primary) !important;
}

.seat.active:hover{
    filter: brightness(85%);
}

.modal-fullscreen {
	padding: 0 !important;
}

.modal-fullscreen .modal-dialog {
	width: 90%;
	max-width: none;
	height:auto;
	margin: 0;
}

@media(min-width:576px){
	.modal-fullscreen .modal-dialog {
		width: 75%;
	}
}

@media(min-width:768px){
	.modal-fullscreen .modal-dialog {
		width: 55%;
	}
}

@media(min-width:992px){
	.modal-fullscreen .modal-dialog {
		width: 45%;
	}
}

@media(min-width:1300px){
	.modal-fullscreen .modal-dialog {
		width: 35%;
	}
}

.modal-fullscreen .modal-body {
	overflow-y: hidden;
}


.custom-control-input:disabled ~ .custom-control-label {
    color: #d7d7d7;
}