@font-face {
    font-family: 'Alice-Regular';
    src: url('assets/fonts/Alice-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Barlow-Regular';
    src: url('assets/fonts/Barlow-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background:var(--background-color);
    color:var(--color-text);
    font-family: 'Barlow-Regular';
}

header {
    height: 60vh;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

h2 {
    font-family: 'Alice-Regular';
    color:var(--primary-color);
    border-bottom:1px solid var(--secondary-color);
    display: inline-block;
    padding-bottom: 5px;
    text-align:center;
}

a {
    text-decoration:none;
    color:var(--primary-color);
}

a:hover {
    text-decoration:none;
    color:var(--primary-color);
}

.overlay {
    /* background: rgb(var(--overlay), 0.7);
    display:inline-block; */
    /* linear-gradient(rgb(var(--overlay), 0.2), rgb(var(--overlay), 0.6)) */
    /* background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.8)); */
    /* padding: 40px; */
    text-align: center;
    color: var(--color-text);
    width:100%;
    /* width: calc(60% - 40px);
    padding:20px;
    border-radius:20px; */
    /* padding-top:80px; */

}

.overlay_inner {
    /* background: rgb(var(--overlay), 0.3); */
    display:block;
    margin-top:0px;
    
    margin-bottom:20px;
    width: calc(100% - 0px);
    /* padding:20px; */
    /* border-radius:20px; */

}

.overlay h1 {
    font-size: 2.5rem;
    margin: 0;
    padding:0;
   font-family: 'Alice-Regular';
   color:var(--primary-color);
   text-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
}

.overlay p {
    padding:0;
    margin:0;
    font-size: 1.2rem;
}

.overlay img {
    height:120px;
}


.btn {
    background:var(--background-color);
    /* transform: rotate(-10deg);    
    transition: all 0.4s ease;  */
    color: var(--primary-color);
    padding: 14px 44px;
    border:2px solid var(--primary-color);
    border-radius: 10px;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    margin: 10px;
    text-transform:uppercase;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25),
                0 4px 10px rgba(0, 0, 0, 0.15);
}

.btn:hover {
    transform: scale(1.05);
    /* transform: rotate(-10deg);   */
    transition:0.2s;
}

.btn_text {
    /* transform: rotate(10deg);     */
    transition: all 0.4s ease; 
}

.btn-secondary {
    background: rgb(0, 0, 0, 0.3);
    color: white;
    padding: 14px 24px;
     border:2px solid rgb(255, 255, 255, 0.5);
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    margin: 10px;
}

.btn-secondary:hover {
    transform: scale(1.05);
    transition:0.2s;
}

.text-center {
    text-align:center;
}
.gallery {
    display: flex;
    overflow-x: auto;
}

.gallery img {
    width: 100%;
    max-width: 300px;
}

.menu {
    padding: 20px;
}



/* Menu Section */
.menu h2 {
    text-align: center;
    margin-bottom: 20px;
}

.menu-section {
    margin-bottom: 25px;
}

.menu-section h3 {
    margin-bottom: 10px;
    border-bottom: 2px solid var(--border-color);
    display: inline-block;
    padding-bottom: 5px;
}

/* Individual menu items */
.menu-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px dashed #ccc;
}

.item-details strong {
    font-size: 1rem;
    /* color:#EDEDED; */
}

.item-details small {
    display: block;
    color: var(--small-color);
    font-size: 0.85rem;
    margin-top: 2px;
}

.item-price {
    font-weight: bold;
}

.info {
    padding: 20px;
    /* background: #f4f4f4; */
          

}

.info a {
    text-decoration:none;
    color:inherit;
    padding-bottom:5px;
    line-height:36px;
    border-bottom:1px solid rgb(var(--text-colornum), 0.6);
}

.info a:hover {
    border-bottom:1px solid var(--border-color);
}

.about {
    padding: 20px;
}

.hours {
    padding: 5px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /* background:var(--grad_overlay, 0.1); */
    background:rgb(var(--overlay), 0.3);
    margin-bottom:5px;
    border-bottom:1px solid rgb(255, 255, 255, 0.25);

}

.hours h4 {
    padding:0;
    margin:0;
}

.hours_day {
    width:200px;
}

.hours_times {
    width:calc(100% - 200px);
    text-align:right;
}

footer {
    text-align: center;
    padding: 20px;
}

.closebutton {
    display:inline-block;
    background:#000;
    border:1px solid rgb(159, 159, 159, 0.5);
    padding:5px;
    padding-left:10px;
    padding-right:10px;
    cursor: pointer;
    position: absolute;
    right:0;
}

.frameholder {
    display:none;
    position:fixed;
    top:0px;
    width:440px;
    margin-left:calc(50% - 220px);
    /* max-width: 440px; */
    z-index:1006;
    /* background:#ccc; */
}

.copyright {
    text-align:center;
    color:rgb(var(--text-colornum), 0.7);
    font-size:12px;
    padding-bottom:20px;

}
.booking-frame {
    width: 100%;
    height: 650px;
    border: none;
}

.floating-buttons {
    position: fixed;
    bottom: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 999;
}

.fab {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 24px;
    color: #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Call button */
.call-btn {
    background: var(--primary-color);
}

/* WhatsApp button */
.whatsapp-btn {
    background: #fff;
}

.whatsapp-btn img {
    height:24px;
    /* filter: brightness(0) invert(1); */
}

/* google maps stuff */
.map {
    padding: 20px;
}

.map h2 {
    text-align: center;
    margin-bottom: 15px;
}

.map iframe {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 8px;
}

.map-actions {
    text-align: center;
    margin-top: 10px;
}


/* nav bar stuff  */
.navbar {
	color:rgb(255, 255, 255);
	/* background:rgb(0, 0, 0, 0.7); */
    background:rgb(var(--overlay), 1);
	/* background-image: linear-gradient(to top, rgb(49, 49, 49), rgb(0, 0, 0));
	background:rgb(49, 49, 49); */ 
	height:53px; width:100%;
	position:fixed;
	overflow:hidden;
	z-index:1004;
	top:0px;
	left:0;
	font-size:14px;
	display:flex;
	flex-direction:horizontal;
	justify-content: flex-start;
	align-items: left;
	gap: 0px;     
	 box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.15);
}

.contact_bg {
    background:rgb(var(--overlay), 0.7);
    /* padding:20px; */
}

.navleft {
	text-align:left;
	width:50px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding-left:20px;
}

.navright {
	text-align:right;
	width:50px;
	padding:0px;
	padding-right:20px;
	display:flex;
	flex-direction:column right;
	justify-content: right;
}

.navmiddle {
	width:calc(100% - 100px);
	text-align:center;
	padding-top:7px;
}

.navopener {
    /* background:rgba(0, 0, 0, 0.95); */
    background:rgb(var(--overlay), 0.3);
	border:1px solid rgb(var(--primary-colornum), 0.6);
	width:20px;
	height:20px;
	margin-top:5px;
	text-align:center !important;
	padding:10px;
	font-size:24px; line-height:18px;
	border-radius:5px;
	cursor:pointer;
	z-index:1003;
}

.navopener:hover {
	border:1px solid rgba(255, 255, 255, 0.9);
}

.navsearch {
	/* border:1px solid rgba(255, 255, 255, 0.2); */
	width:20px;
	height:20px;
		margin-top:10px;
		margin-right:10px;
	text-align:center !important;
	padding:10px;
	font-size:24px; line-height:18px;
	border-radius:5px;
	cursor:pointer;
	color:rgb(255, 255, 255, 0.5);
}

.navsearch:hover {
	color:rgb(255, 255, 255, 0.9);
}

.navmenuline {
	width:100%;
	height:1px;
	/* background:var(--border-color); */
    background:rgb(var(--primary-colornum), 0.9);
	margin-bottom:5px;
	border-radius:5px;
}

.navmenulineshort {
    width:70% !important;
    margin-left:30%;
}

.navmenu {
	position:fixed;
	z-index:1001;
	/* border:1px solid rgba(55, 55, 55, 0.1); */
	/* background:rgba(0, 0, 0, 0.7); */
    background:rgb(var(--overlay), 0.7);
	width:calc(300px - 0px);
	height:auto;
	/* padding:15px; */
	right:20px;
	top:53px;
	text-align:center;
	/* border-radius:10px; */
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.navmenu a {
	display:block;
	width:calc(100% - 22px);
	padding:6px;
	background:var(--background-color);
    border-left:1px solid rgb(var(--primary-colornum), 0.8);
	margin:5px;
	border-radius:0px;
	text-decoration:none;
	color:var(--color-text);
	font-family: 'DMsans-Light', Arial, sans-serif;
    /* text-transform:uppercase; */
}

.primary {
    background:var(--border-color) !important;
    color:var(--background-color) !important;
}

.navmenu a:hover {
    background:var(--border-color) !important;
    color:var(--background-color) !important;
}

.navmenu i {
	font-size:16px;
}

.hide {
	display:none;
}

.show {
	display:inline;
}

.shadow {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

/* .contactimage img {
    width:40%; margin-left:30%; height:40%; border-radius:10px;
} */

.contactimage {
    width:40%; margin-left:30%; height:300px; border-radius:10px;
}

/* animations */
.animate-top {
  /* position: relative; */
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.5s;
  animation-name: animatetop;
  animation-duration: 0.5s
}

@-webkit-keyframes animatetop {
  from { top:-55px; opacity:0 } 
  to { top:55px; opacity:1 }
}

@keyframes animatetop { 
  from{ top:-55px; opacity:0 } 
  to{ top:55px; opacity:1 }
}

/*zoom open anim */
.animate-zoom {
	-webkit-animation: bummer 0.25s;
    animation: bummer 0.25s;
    -webkit-transform: scale(0,0); 
    transform: scale(0,0);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; 
	
}

@-webkit-keyframes bummer {
    80% {
        -webkit-transform: scale(1.05,1.05); 
    }
	100% {
        -webkit-transform: scale(1,1); 
    }
}

@keyframes bummer {
	 80% {
        transform: scale(1.05,1.05); 
    }
    100% {
        transform: scale(1,1); 
    }
}
/*end zoom open */

.animation {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.7s ease-out;
    transition-delay: 0.1s;

}

.scroll-animation {
    opacity: 1;
    transform: translateX(0);
}

.rotate-center {
	-webkit-animation: rotate-center 0.6s ease-in-out both;
	        animation: rotate-center 0.6s ease-in-out both;
}

.shake-horizontal {
	-webkit-animation: shake-horizontal 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
	        animation: shake-horizontal 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}

/**
 * ----------------------------------------
 * animation rotate-center
 * ----------------------------------------
 */
@-webkit-keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}


/**
 * ----------------------------------------
 * animation shake-horizontal
 * ----------------------------------------
 */
@-webkit-keyframes shake-horizontal {
  0%,
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  20%,
  40%,
  60% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  80% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
  90% {
    -webkit-transform: translateX(-8px);
            transform: translateX(-8px);
  }
}
@keyframes shake-horizontal {
  0%,
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  20%,
  40%,
  60% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  80% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
  90% {
    -webkit-transform: translateX(-8px);
            transform: translateX(-8px);
  }
}



@media (max-width: 600px) {

    /* .contactimage img {
    width:80%; margin-left:10%; height:80%; border-radius:10px;
} */

.contactimage {
    width:80%; margin-left:10%; height:300px; border-radius:10px;
}

    .overlay h1 {
        font-size: 1.8rem;
    }

    header {
        height: 60vh;
    }

    .frameholder {
        top:0;
        margin-left:0;
        width:100% !important;
        
    }

    .navmenu {
        width:calc(100% - 40px);
    }
}

@media (min-width: 768px) {
    .floating-buttons {
        display:none;

    }
}