article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {display: block; margin: 0; padding: 0;}
* {box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box;}
html {font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
html, body, div, h1, h2, h3, h4, h5, h6, p, ul, li, form {margin: 0; padding: 0; list-style: none; font-weight: normal;}
button, input, select, textarea {margin: 0; padding: 0; border: none;}
.custfield:focus {outline: none; border: none; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none;}
body {font-size: 14px; color: #000000;}
a {text-decoration: none;}
a:hover, a:focus {text-decoration: none; outline: none;}
img {border: none; vertical-align: middle; max-width: 100%; width: 100%;}

@font-face {
    font-family: 'montserratbold';
    src: url('../fonts/montserrat-bold-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'montserrat_lightregular';
    src: url('../fonts/montserrat-light-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'montserrat_mediumregular';
    src: url('../fonts/montserrat-medium-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'montserratregular';
    src: url('../fonts/montserrat-regular-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'montserrat_semiboldregular';
    src: url('../fonts/montserrat-semibold-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gobold_thinregular';
    src: url('../fonts/gobold_thin-webfont.woff2') format('woff2'),
         url('../fonts/gobold_thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gobold_thin_lightregular';
    src: url('../fonts/gobold_light-webfont.woff2') format('woff2'),
         url('../fonts/gobold_light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gobold_boldregular';
    src: url('../fonts/gobold_bold-webfont.woff2') format('woff2'),
         url('../fonts/gobold_bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

::-webkit-input-placeholder {font-size: 18px;}
::-moz-placeholder {font-size: 18px;}
:-ms-input-placeholder {font-size: 18px;}
:-moz-placeholder {font-size: 18px;}
a {transition: all .5s ease-in-out 0s;
    -moz-transition: all .5s ease-in-out 0s;
    -webkit-transition: all .5s ease-in-out 0s;
    -o-transition: all .5s ease-in-out 0s;}
/****************
 * Common Css
 ****************/
body, .home-page, body .allhome,
.about-page, .menu-page {
    position: relative;
}
 .container {
    max-width: 1170px;
    margin: 0 auto;
 }
 .clearfix:after,
 .clearfix:before {
    display: table;
    content: "";
 }
 .clearfix:after {
    clear: both;
 }
 .fleft {
    float: left;
 }
 .fright {
    float: right;
 }

/* home page */
header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.logo a {
    display: inline-block;
    width: 54%;
    padding-top: 30px;
    float: right;
}

/* menu css start */
header button {
    background-color: #FF3E54;
    width: 80px;
    height: 80px;
    position: relative;
}
header button:after {
    position: absolute;
    content: "\f0c9";
    font-family: 'Font Awesome\ 5 Free';
    font-weight: bold;
    font-size: 30px;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
}
/* Overlay style */
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #22262B;
}

/* Overlay closing cross */
.overlay .overlay-close {
    width: 80px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
    border: none;
    color: transparent;
    outline: none;
    z-index: 100;
    background-color: #FF3E54;
}
.overlay .overlay-close:after {
    position: absolute;
    content: "\f00d";
    font-family: 'Font Awesome\ 5 Free';
    font-weight: bold;
    font-size: 30px;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
}
/* Menu style */
.overlay nav {
    text-align: center;
    /*position: relative;
    top: 50%;
    height: 60%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);*/
}

.overlay ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
    position: relative;
    width: 50%;
}

.overlay ul li {
    display: block;
    padding: 30px 0;
    border-bottom: solid 1px #fff;
}
.overlay ul li:last-child {
    border-bottom: 0;
}
.overlay ul li a {
    font-size: 17px;
    font-weight: 300;
    display: block;
    color: #fff;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    font-family: 'montserrat_lightregular';
}

.overlay ul li a:hover,
.overlay ul li a:focus {
    color: #FF3E54;
    font-weight: bold;
}

/* Effects */
html, body {
    overflow-x: hidden;
}

.allhome {
    overflow-x: hidden;
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s; 
}

.allhome.overlay-open {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
}

.allhome::after {
    content: '';
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s;
}

.allhome.overlay-open::after {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.overlay-contentpush {
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.5s, visibility 0s 0.5s;
    transition: transform 0.5s, visibility 0s 0.5s;
    background-image: url(../images/toggle-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #22262B;
    background-position: bottom;
}

.overlay-contentpush.open {
    visibility: visible;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    z-index: 99;
}
.overlay .social-icon {
    position: inherit;
    width: auto;
}

@media screen and (max-height: 30.5em) {
    .overlay nav {
        height: 70%;
        font-size: 34px;
    }
    .overlay ul li {
        min-height: 34px;
    }
}
.overlay nav {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
}
.toggle-menu-logo {
    display: flex;
    height: 100vh;
    align-items: center;
    position: relative;
}
.toggle-menu-logo img {
    width: 60%;
    position: relative;
}
.toggle-menu-logo a {
    position: relative;
}
.toggle-menu-logo a:after {
    position: absolute;
    content: url(../images/about-line-right.png);
    right: 0;
    top: 6px;
}
/* menu css end */

/* home page banner */
#myCarousel {
    height: 100vh;
}
#myCarousel .carousel-inner {
    height: 100%;
}
#myCarousel .item.item1 {
    background: url(../images/banner-2.png);
}
#myCarousel .item.item2 {
    background: url(../images/banner-1.jpg);
}
#myCarousel .item.item3 {
    background: url(../images/banner-3.jpg);
}
#myCarousel .item.item1,
#myCarousel .item.item2,
#myCarousel .item.item3 {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    width: 100%;
    height: 100%;
    box-shadow:inset 0 0 0 2000px rgba(0,0,0,0.6);
}
#myCarousel .item .banner-img {
    width: 450px;
    height: 500px;
    position: absolute;
    right: 0;
    bottom: 0;
    padding-bottom: 177px;
}
#myCarousel .item .banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-prev-next {
    position: relative;
}
.controls {

}
.carousel-control {
    background-image: none;
    width: 80px;
    background-image: none !important;
    background-color: rgba(74, 86, 104, 0.7);
    height: auto;
    opacity: 1;
}
.carousel-control.right {
    height: 160px;
    bottom: 0;
    top: auto;
    margin-bottom: 177px;
    padding-top: 35px;
}
.carousel-control.left {
    right: 0;
    left: auto;
    height: 162px;
    top: auto;
    bottom: 0;
    padding-bottom: 20px;
    margin-bottom: 337PX;
    padding-top: 50px;
    background-color: rgba(74, 86, 104, 0.9);
}
.slide-prev-next:before {
    
    position: absolute;
    top: 0;
}
.left .slide-prev-next:before {
    content: url(../images/arrow-up.png);
}
.right .slide-prev-next:before {
    content: url(../images/arrow-down.png);
}
.carousel.fade {
     opacity: 1;
}
.carousel.fade .item {
    transition: opacity ease-out .7s;
    left: 0;
    opacity: 0; /* hide all slides */
    top: 0;
    position: absolute;
    width: 100%;
    display: block;
}
.carousel.fade .item:first-child {
    top: auto;
    opacity: 1; /* show first slide */
    position: relative;
}
.carousel.fade .item.active {
    opacity: 1;
}
/* home page banner end */
.booking-link {
    position: absolute;
    right: 0;
    width: 100%;
    bottom: 0;
}
.booking {
    background: rgba(255,62,84,0.8);
    width: 450px;
    float: right;
    padding: 30px 50px 50px 50px;
    box-shadow:inset 0 0 0 2000px rgba(0,0,0,0.5);
}
.dark-booking{
    background: #FF3E54;
    box-shadow: none;
}
.booking h2  {
    text-transform: uppercase;
    color: #fff;
    font-size: 24px;
    line-height: 29px;
    padding-bottom: 40px;
    font-family: 'montserratregular';
    position: relative;
    letter-spacing: 0.3em;
}
.booking-link a {
    color: #fff;
}
.booking h2 span {
    font-family: 'montserratbold';
    letter-spacing: normal;
}
.booking h2:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: url(../images/about-line-small.png);
}
.social-icon {
    height: 100vh;
    position: absolute;
    left: 0;
    width: 200px;
    text-align: center;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
}
.social-icon a {
    display: block;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.social-icon a i:hover {
    color: #FF3E54;
}
.social-icon a i {
    font-size: 22px;
    padding: 25px 0;
}
.page-title {
    width: 620px;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-title {
    max-width: 420px;
    margin: 0 0 0 auto;
}
.page-title h1 {
    font-family: 'montserratregular';
    font-size: 46px;
    color: #fff;
    padding-bottom: 20px;
}
.page-title a.home-btn,
a.home-btn {
    text-transform: uppercase;
    color: #fff;
    font-size: 24px;
    font-family: 'montserratregular';
    border: solid 1px #fff;
    padding: 10px;
    max-width: 300px;
    text-align: center;
    display: block;
    letter-spacing: 0.2em;
}
.page-title a.home-btn:hover,
a.home-btn:hover {
    background-color: #FF3E54;
    border-color: #FF3E54;
}
/* home page end*/

/* about page start*/
.banner-img img {
    object-fit: cover;
    max-height: 1390px;
}
.about-page {
    position: relative;
}
.about-page:after {
    position: absolute;
    top: 28%;
    left: 0;
    width: 100%;
    z-index: 99;
    content: url(../images/our-story.png);
}
.about-txt {
    position: absolute;
    top: 0;
    width: 60%;
    background: rgba(34,38,43,0.9);
    height: 100%;
    color: #fff;
    padding-left: 200px;
    padding-top: 150px;
}
.about-page .social-icon,
.menu-page .social-icon,
.book-table-page .social-icon {
    position: fixed;
}
.about-img {
    width: 40%;
    margin: 0 0 0 auto;
}
.about-txt h2 {
    text-transform: uppercase;
    font-size: 46px;
    font-family: 'gobold_thinregular';
    max-width: 450px;
    line-height: 65px;
    margin-bottom: 40px;
    position: relative;
    padding-top: 90px;
}
.about-txt h2:before,
.food-menu .tabs:before,
.booking-details h2:before {
    position: absolute;
    left: 0;
    top: -10px;
    content: url(../images/about-line.png);
}
.about-txt h2 span {
    color: #ff3e54;
}
.about-txt p,
.contact-details p,
.booking-details p {
    font-size: 23px;
    line-height: 43px;
    color: #fff;
    font-family: 'montserratregular';
    max-width: 490px;
    margin-bottom: 20px;
}
/* about page end*/

/* contact us page start*/
.contact-page,
.book-table-page {
    background: #22262B;
    color: #fff;
    padding-bottom: 50px;
}
.book-table-page {
    background-image: url(../images/book-your-table.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.contact-details,
.map-newsletter,
.booking-details,
.booking-table {
    float: left;
    width: 50%;
}
.contact-details,
.booking-details,
.booking-table {
    padding-left: 200px;
    padding-top: 150px;
}
.contact-details h2, 
.map-newsletter h2,
.booking-details h2,
.booking-table h2 {
    font-size: 46px;
    line-height: 60px;
    color: #fff;
    text-transform: uppercase;
    font-family: 'gobold_thin_lightregular';
    padding-bottom: 50px;
    padding-top: 50px;
}
.contact-details h2:first-child {
    padding-top: 0px;
}
.contact-details p {
    margin-bottom: 0;
    max-width: 435px;
}
.contact-details p a, 
.contact-details h5,
.booking-details p a {
    font-size: 23px;
    line-height: 43px;
    color: #fff;
    font-family: 'montserratregular';
}
.contact-details p a:hover,
.booking-details p a {
    color: #ff3e54;
}
.booking-details p a:hover {
    font-weight: bold;
}
.contact-details h5,
.booking-details h5 {
    font-family: 'montserratbold';
    padding: 50px 0;
    text-transform: uppercase;
}
.contact-details p a.follow-link {
    color: #ff3e54;
}
.map-newsletter form {
    max-width: 400px;
}
.map-newsletter form input {
    width: 100%;
    background: transparent;
    border: solid 1px #979797;
    padding: 15px;
    font-size: 17px;
    color: #fff;
    font-family: 'montserratregular';
    margin-bottom: 20px;
}
.map-newsletter form input::placeholder {
    color: #fff;
}
.subscribe-btn {
    background: #ff3e54;
    color: #fff;
    font-family: 'gobold_thin_lightregular';
    font-size: 28px;
    padding: 10px 100px 10px 30px;
    display: inline-block;
    position: relative;
    border: solid 1px #ff3e54;
}
.subscribe-btn:after {
    position: absolute;
    right: 15px;
    content: url(../images/about-line-small.png);
    top: 7px;
}
.subscribe-btn:hover {
    color: #fff;
    background: transparent;
    border: solid 1px #fff;
}
#map{
    width: 100%;
    float: left;
    height: 1000px;
    margin-bottom: 50px;
}

.marker-content{
    width: 100%;
    text-align: center;
    float: left;
}

.marker-content h1{
    font-size: 22px;
    color: #ff3e54;
}
.marker-content p{
    font-size: 16px;
    color: #333333;
}
.minhcall {
    max-width: 650px !important;
}
.minhcall span {
    color: #ff3e54;
}
/* contact us page end*/

/* food menu page start*/

.food-menu,
.food-img {
    width: 50%;
    float: left;
}
.food-menu {
    background: #22262B;
    color: #fff;
    padding-left: 200px;
    padding-top: 150px;
    background-image: url(../images/food-menu.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-attachment: fixed;
}
.food-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.food-menu table {
    width: 100%;
}
.food-menu table tr th {
    font-size: 24px;
    line-height: 29px;
    font-family: 'montserratbold';
    text-transform: uppercase;
    color: #FF99A5;
    padding: 30px 0;
}
.food-menu table tr td {
    font-size: 18px;
    font-family: 'montserratbold';
    line-height: 29px;
    color: #fff;
    vertical-align: top;
    padding-bottom: 25px;
    padding-right: 40px;
}
.food-menu table tr td span {
    font-family: 'montserratregular';
}
.food-menu table tr th span {
    font-family: 'montserratregular';
    font-size: 18px;
    line-height: 29px;
    color: #fff;
    font-weight: 400;
}
.food-menu table tr td.price {
    font-family: 'montserratbold';
    color: #FF3E54;
    font-size: 24px;
    padding-right: 0;
}
.food-menu table tr.sub-t-main {
    height: 70px;
}
.food-menu table tr td.sub-title {
    font-size: 25px;
    color: #FF3E54;
}
.food-menu table tr.sub-t-main td i {
    font-size: 25px;
}
.nav-tabs>li>a {
    font-size: 32px;
    line-height: 53px;
    padding: 0 10px;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-family: 'gobold_thin_lightregular';
    cursor: pointer;
    background: transparent;
    background-color: transparent;
    border: none;
    position: relative;
}
.nav-tabs>li>a:after {
    content: '';
    background: #fff;
    position: absolute;
    right: 0;
    width: 2px;
    display: block;
    height: 52px;
    top: 0;
}
.nav-tabs>li:first-child>a {
    padding-left: 0;
}
.nav-tabs>li.last-tab>a:after {
    display: none;
}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
    color: #FF3E54;
    background: transparent;
    background-color: transparent;
    border: none;
}
.nav-tabs>li>a:hover {
    background-color: transparent;
    border: none;
    color: #FF3E54;
}
.panel {
    background-color: transparent;
    border: none;
}
.panel-default>.panel-heading+.panel-collapse>.panel-body {
    border: none;
    padding: 40px 20px 40px 0;
}
.nav-tabs {
    border: none;
}
.panel-body {
    padding-left: 0;
}
.panel-collapse.collapse {
    display: block;
}
.food-img {
    height: 100vh;
    position: fixed;
    right: 0;
}
.panel-body h4 {
    font-family: 'montserratbold';
    font-size: 18px;
    line-height: 29px;
    color: #fff;
    font-weight: 400;
    text-align: center;
    padding: 10px 0 20px 0;
}
.panel-body p {
    font-family: 'montserratregular';
    font-size: 14px;
    text-align: center;
    color: #fff;
}
.title-small {
    font-size: 15px;
}
/* food menu page end*/

/* book table page start*/
.booking-details h2 span {
    color: #FF3E54;
}
.booking-details h2 {
    position: relative;
    padding-top: 90px;
    padding-bottom: 30px;
}
.booking-details h2:before {
    top: -35px;
}
.booking-details h5 {
    font-family: 'gobold_thin_lightregular';
    font-size: 46px;
    line-height: 60px;
}
.booking-table h2 {
    padding-top: 90px;
}
.booking-details p {
    padding-bottom: 30px;
}
.booking-table {
    padding-left: 0;
}
.book-table-calander {
    padding-left: 80px;
    position: relative;
    z-index: 99;
}
.booking-tbl-img {
    position: absolute;
    width: 100%;
    top: 640px;
    height: 905px;
}
.booking-tbl-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.booking-table {
    position: relative;
}
/* book table page end*/