* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

li { 
    list-style: none;
    line-height: 1.8;
}
a { text-decoration: none; }
a, address { transition: all 0.3s ease; }

p, footer, address {
    line-height: 1.8;
    color: #757575;
}

/* General */
.container { 
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
}

html, body { overflow-x: hidden; }
body { font-family: 'Kumbh Sans', sans-serif; }

.page-header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 15px 30px;
    color: #ffffff;
    z-index: 10000;
    transition: all 0.3s ease;
}

.page-header.scroll {
    color:  #854d27;
    background: white;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
    border-bottom: 1px solid #dee2e6;
}

#navbar-logo {
    width: 40px;
    height: auto;
}

.site-logo-link { color: #ffffff; }
/* .site-logo-link .text-highlight { color: #dd7230; } */
.site-logo-link:hover { color: #854d27; }
.page-header.scroll .site-logo-link { color: #854d27; }
.page-header.scroll .site-logo-link:hover { color: #dd7230; }
.site-icon { font-size: 2.5rem; }
.navbar-toggler { display: none; }

.nav ul {
    display: flex;
    color: #fff;
}

.nav li {
    list-style: none;
    margin-right: 15px;
}

.nav li a {
    display: inline-block;
    padding: 14px 20px 12px;
    color: #ffffff;
    font-size: 1.1rem;
}

.page-header.scroll .nav li a {
    color: #854d27;
    border-radius: 2px;
}

.page-header.scroll .nav li a.current,
.page-header.scroll .nav li a:hover,
.nav li a:hover {
    background-color:  #854d27;
    color: white;
    border-radius: 2px;
}

.section {
    padding-top: 150px;
    padding-bottom: 80px;
}

.section-title {
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #854d27;
}

.section-description {
    max-width: 800px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* Home */
#home {
    height: 100vh;
    min-height: 640px; 
}

.parallax {
    min-height: 100vh;
    background: transparent;
}

#home .img-overlay {
    width: 100%;
    height: 100%;
    min-height: 640px;
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    left: 0;
}

.flex-center {
    display: flex;
    justify-content: center;
    height: 100%;
    align-items: center;
}

.intro-text {
    position: relative;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.intro-title {
    font-size: 3.5rem;
    margin-bottom: 80px;
}

.intro-description { font-size: 1.6rem; }
.intro-description-2 { font-size: 1.3rem; }

.btn-round {
    color: #dadada;
    background-color: rgb(133 77 39 / 0.75);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.btn-round:hover { background-color:#dd7230; }

/* About */
#about { background-color: #fdfcf7; }
.about-boxes {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
}

.about-col {
    flex: 0 0 50%;
    width: 50%;
    border: 1px dashed #e2dede;
}

.about-box {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    padding: 30px;
    margin-bottom: 30px;
}

.about-icon { color:#854d27; }

.about-title {
    margin-bottom: 20px;
    color: rgb(116 117 121);
}

/* Food Menu */
#menu { 
    background-color: #f1dabf;
    background-image: url(../img/bg-food-menu.png);
}

.grid {
	position: relative;
	margin: 0 auto;
	padding: 1em 0 4em;
	max-width: 960px;
	list-style: none;
	text-align: center;
}

/* Common style */

.grid-item { width: 33.3334%; }

.grid figure {
	position: relative;
	overflow: hidden;
    margin: 3%;
    max-width: 300px;
	background: #f1dabf;
	text-align: center;
	cursor: pointer;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
}

.grid figure figcaption {
	padding: 2em;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

.grid figure figcaption,
.grid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}

.grid figure h2 {
	word-spacing: -0.15em;
	font-weight: 300;
}

.grid figure h2 span { font-weight: 800; }

.grid figure h2,
.grid figure p {
	margin: 0;
}

.grid figure p {
	letter-spacing: 1px;
    font-size: 68.5%;
    color: white;
}

/*---------------*/
/***** Sadie *****/
/*---------------*/

figure.effect-sadie figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(top, rgba(72,76,97,0) 0%, rgba(72,76,97,0.8) 75%);
	background: linear-gradient(to bottom, rgba(72,76,97,0) 0%, rgba(72,76,97,0.8) 75%);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}

figure.effect-sadie h2 {
	position: absolute;
	bottom: 10%;
	left: 0;
    width: 100%;
    opacity: 0;
	color:#f1dabf;
	-webkit-transition: -webkit-transform 0.35s, color 0.35s;
	transition: transform 0.35s, color 0.35s;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
}

figure.effect-sadie figcaption::before,
figure.effect-sadie p {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-sadie p {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 2em;
	width: 100%;
	opacity: 0;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
}

figure.effect-sadie:hover h2 {
    opacity: 1;
	color:#f1dabf;
	-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}

figure.effect-sadie:hover figcaption::before ,
figure.effect-sadie:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/* Location/Map */
#location {
    background-color: #f1dabf;
    background-image: url(../img/bg-food-menu.png);
    padding-top: 74px;
}

#gmap-canvas { margin-bottom: -4px; }

/*  Contact */
.contact-row {
    display: flex;
    margin-left: -20px;
    margin-right: -20px;
}

.contact-col {
    flex: 0 0 50%;
    width: 50%;
    padding-left: 20px;
    padding-right: 20px;
}

.contact-form { width: 90%; }
.form-group { margin-bottom: 30px; }

.form-control {
    background: transparent;
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #854d27;
    font-size: inherit;
    font-family: inherit;
    transition: all 0.3s ease;
}

.form-control:focus {
    outline: none;
    box-shadow: 0px 1px 0px 0px rgba(133,39,77,0.5);
}

.pull-right {
    display: block;
    margin-left: auto;
    margin-right: 0;
}

.btn {
    background-color: #854d27;
    color: white;
    border: none;
    padding: 15px 40px;
    font-family: inherit;
    font-size: 1.2rem;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn:hover { background-color: #b65f25; }
.text-link-dark { color: #854d27; }
.text-link-dark:hover { color: #dd7230; }
address { font-style: normal; }

.footer {
    padding: 20px;
    background-color: #222;
    color: #dadada;
}

.text-link-light { color: #dadada; }
.text-link-light:hover { color: #f1dabf; }

.contact-link {
    display: inline-flex;
    align-items: center;
}

.contact-icon {
    display: inline-block;
    width: 50px;
}

#btn-top {
    position: fixed;
    right: 5px;
    bottom: 5px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
}

#btn-top.show {
    opacity: 1;
    visibility: visible;
}

.mr-10 { margin-right: 10px; }
.mb-30 { margin-bottom: 30px; }
.mb-50 { margin-bottom: 50px; }
.text-white { color: #dadada; }
.text-primary { color: #854d27; }
.text-center { text-align: center; }
.text-small { font-size: 0.9rem; }
.img-fluid { max-width: 100%; }
.text-link { color: #854d27; }
.text-highlight, .text-link:hover { color: #dd7230; }

@media (max-width: 1200px) {
    h1 { font-size: 1.7rem; }
    .site-icon { font-size: 2rem; }
    .nav li { margin-right: 5px; }
    .nav li a { 
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 992px) {
    .page-header { position: absolute; }
    .page-header.scroll { background: transparent; }

    .navbar-toggler {
        display: block;
        width: 50px;
        height: 45px;
        font-size: 1.5rem;
        margin-right: 0;
        margin-left: auto;
        background-color: rgba(255,255,255,1);
        color: #854d27;
        border: none;
        cursor: pointer;
        outline: none;
        border-radius: 2px;
        position: fixed;
        top: 0;
        right: 0;
    }

    .nav ul {
        position: fixed;
        top: 45px;
        right: -160px;
        flex-direction: column;        
        background-color: white;
        padding: 5px;
        box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
        border: 1px solid #dee2e6;
        transition: all 0.3s ease;
    }

    .nav ul.show { right: 0; }

    .nav li {
        margin-right: 0;
        margin-bottom: 5px;
    }

    .nav li a {
        display: block;
        color: #854d27;
        border-radius: 2px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .nav li a.current {
        color: white;
        background-color: #854d27;
    }

    .section { padding-top: 80px; }

    figure.effect-sadie h2 {
        bottom: 15%;
        padding-left: 5px;
        padding-right: 5px;
    }

    figure.effect-sadie p { padding: 15px; }
    #location { padding-top: 0; }
}

@media (max-width: 767px) {
    .grid-item { width: 50%; }
    h2 { font-size: 1.3em; }
}

@media (max-width: 710px) {
    .contact-form { width: 100%; }
    .contact-row { flex-direction: column; }

    .contact-col {
        flex: 0 0 100%;
        width: 100%;
        margin-bottom: 40px;
    }    
}

@media (max-width: 560px) {
    .about-col {
        flex: 0 0 100%;
        width: 100%;
    }

    .about-box {
        width: 100%;
        max-width: 420px;
    }    
}

@media (max-width: 480px) {
    h1 { font-size: 1.4rem; }
    .page-header { padding: 15px; }

    .intro-title {
        font-size: 2.5rem;
        margin-bottom: 50px;
    }

    .grid { max-width: 320px; }    
    .grid-item { width: 100%; }
}

@media (max-width: 378px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    .intro-description { font-size: 1.2rem; }
    .intro-description-2 { font-size: 1.1rem; }
}