/*** RESPONSIVE DESKTOP ***/

@media only screen and (min-width: 993px) {
    header .nav {
        display: block !important;
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1500px) {
    /*** FEATURE BOXES ***/
    .section.features.feature-boxes .box .content {
        padding: 70px 130px;
    }
    /*** HERO ***/
    .section.hero .visit-park {
        right: 5%;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    /*** HEADER ***/
    header {
        background-position: left -350px top;
    }
    header nav ul li a {
        font-size: 15px;
        padding: 14px 0 10px;
        margin-right: 24px;
    }
    /*** FEATURES ***/
    .section.features {
        padding: 15px 0px 0px 0px;
        margin: 0px;
    }
    .section.features .box {
        height: 300px;
        margin-bottom: 15px;
    }
    .section.features .box .title {
        font-size: 1.125rem;
    }
    .section.features .box .content {
        padding-top: 20px;
    }
    .section.features .box .bg-img {
        width: 100%;
        min-height: 300px;
        opacity: 0;
    }
    .section.features .col-main.even {
        border-right: none;
    }
    /*** FEATURE BOXES ***/
    .section.features.feature-boxes .box .content {
        padding: 20px;
    }
    .section.features.feature-boxes .box .content p {
        font-size: 0.8125rem;
    }
    /*** HERO ***/
    .section.hero .visit-park {
        right: 1%;
        bottom: 15px;
    }
    /*** MISC ***/
    .address {
        white-space: normal;
    }
    /*** FOOTER ***/
    .section.foot .top {
        padding: 0 30px;
    }
    .section.foot .col {
        padding-bottom: 100px;
    }
    /*** FOOTER ***/
    footer .social {
        position: relative;
        text-align: center;
        background: #fff;
        margin-top: 40px;
        padding: 30px 30px 0;
        width: 100%;
    }
}

@media only screen and (max-width: 1200px) {
    footer {
        background-size: initial;
    }
}


/*** RESPONSIVE TABLET ***/

@media only screen and (max-width: 991px) {
    /*** HEADER ***/
    header .c-logo {
        position: absolute;
        top: 0;
        left: -60px;
        z-index: -1;
    }
    .c-mobile-button {
        display: block!important;
        position: absolute;
        font-size: 30px;
        top: 3px;
        right: 410px;
        color: #fff;
        z-index: 100000000;
    }
    .c-mobile-button:hover {
        color: #70c6b3;
    }
    /*** IFRAME ***/
    .booking-frame {
        height: 1300px;
    }
    /*** FEATURES ***/
    .section.features {
        padding: 15px 0px 0px 0px;
        margin: 0px;
    }
    .section.features .box {
        height: 300px;
        margin-bottom: 15px;
    }
    .section.features .box .content {
        padding-top: 20px;
    }
    .section.features .box .bg-img {
        width: 100%!important;
        max-width: none;
        min-height: 350px;
        max-height: none;
        opacity: 0;
    }
    .section.features.up .box:hover {
        height: 300px;
        margin: 0;
    }
    .section.content .grid-section .col-md-7,
    .section.content .grid-section .col-md-7 .column {
        padding: 0 10px;
    }
    /*** FEATURE BOXES ***/
    .section.features.feature-boxes .box .content {
        padding: 20px;
    }
    .section.features.feature-boxes .box .content p {
        font-size: 0.8125rem;
    }
    .section.features.feature-boxes .box .content .button {
        width: 70%;
        left: 15%;
    }
    .section.features .box .content .button-holder {
        bottom: 25px;
    }
    /*** HERO ***/
    .section.hero .slide .feature {
        top: 40%;
    }
    .section.hero .hero-flower {
        width: 200px;
    }
    .section.hero .hero-slogan {
        font-size: 35px;
    }
    .section.hero.subhero {
        height: calc(100vh-150px);
    }
    /*** MISC ***/
    .visit-park {
        display: none;
    }
    /*** HEADER ***/
    header .menu {
        right: 15px;
    }
    header .nav {
        top: 50px;
        right: 0;
        left: 0;
        z-index: 100000;
        padding: 0px;
        margin: 0 0 0 -15px;
        width: 100vw;
        height: calc(100vh - 50px);
        display: none;
        overflow: scroll;
    }
    header.active .nav {
        top: 50px;
    }
    header nav ul li:hover ul {
        display: none;
    }
    header .nav nav ul li {
        width: 100%;
        position: relative;
        background: rgba(0, 45, 82, .8);
    }
    header .nav nav ul li a,
    header nav ul li ul li a {
        padding: 15px 15px;
        margin-bottom: 0px;
        display: block;
        width: 100%;
        text-decoration: none;
        color: #fff;
        font-weight: normal;
        line-height: normal;
        text-align: left;
        border: 0px;
        font-size: 14px;
    }
    header .nav ul li i {
        position: absolute;
        font-size: 16px;
        right: 20px;
        top: 15px;
        color: #fff;
        display: block;
        z-index: 1000000000;
    }
    header .nav ul li i:hover {
        color: #70c6b3;
    }
    header nav ul li.active i {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
    }
    header nav ul,
    header nav ul li {
        display: block;
        width: 100%;
    }
    header nav ul li ul li a {
        padding-left: 30px !important;
    }
    header nav ul li ul {
        width: 100%;
        position: relative;
        visibility: visible;
        opacity: 1;
        transition: visibility 0s, opacity 0.2s linear;
        margin: 0px;
        padding: 0px;
        display: none;
        background: none;
    }
    header nav ul li ul li {
        background: none;
    }
    header nav ul li a.active,
    header nav ul li a:hover,
    header nav ul li ul li a:active,
    header nav ul li ul li a:hover {
        color: #70c6b3;
        background: rgba(0, 45, 82, .8);
    }
    /*** MENU ***/
    header .menu {
        position: absolute;
        right: 15px;
        top: 33px;
        width: 40px;
        z-index: 100001;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: -webkit-transform 0.3s ease-in-out;
        -moz-transition: -moz-transform 0.3s ease-in-out;
        -ms-transition: transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out;
    }
    header.active .menu {
        top: 16px;
    }
    header .menu.active {
        right: -312px;
        left: initial;
        top: 26px;
    }
    header .menu span {
        display: block;
        height: 6px;
        background: #333;
        margin-bottom: 4px;
        max-width: 64px;
        margin-left: auto;
        margin-right: auto;
    }
    header .menu.active span:nth-child(1),
    header .menu.active span:nth-child(4) {
        display: none;
    }
    header .menu.active span:nth-child(2) {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        position: relative;
        top: 10px;
    }
    header .menu.active span:nth-child(3) {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    /*** LINE BREAK ***/
    .section.line-break hr {
        margin: 15px 0px 30px 0px;
        padding: 0px;
    }
    /*** FOOTER SOCIAL ***/
    footer .social {
        padding: 0px 0 30px;
        font-size: 0px;
    }
    footer .social .icons {
        display: block;
        width: 100%;
        padding: 0px;
        margin: 0px auto 15px;
        text-align: center;
    }
    footer .social .icons div {
        display: inline-block;
        margin: 0 10px;
    }
    footer .social .container {
        padding: 25px 0 0px!important;
    }
    /*** CONTENT ***/
    .section.content.page .backed {
        padding-top: 0;
    }
    .section.content .text {
        padding-top: 0!important;
        margin-bottom: 30px;
    }
    /*** ROOMS ***/
    .section.content.roomListPage .grid-section .container {
        padding: 30px 0 10px;
    }
    .section.content.roomListPage .img-full {
        margin-top: 25px;
    }
    /*** 360 VIEW PHOTOS ***/
    .view-photos {
        text-align: center;
    }
    .view-photos .ricoh-theta-spherical-image {
        margin: 0 auto!important;
    }
    /*** FOOTER ***/
    .section.foot .top {
        padding: 0 30px;
    }
    .section.foot .col {
        height: 500px;
    }
    /*** GALLERY ***/
    .section.content .gall .grid-item {
        width: 50%;
    }
    .section.content .gall .grid-image {
        max-height: 250px;
    }
    /*** MISC ***/
    .address {
        white-space: normal;
    }
}


/*** RESPONSIVE MOBILE ***/

@media only screen and (max-width: 767px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size: 30px;
    }
    h3,
    .h3 {
        font-size: 22px;
    }
    /*** HEADER ***/
    header {
        height: 50px;
    }
    header .nav {
        margin: 0;
    }
    header .container {
        padding: 0;
    }
    header .c-mobile-button {
        left: 15px;
    }
    header .c-call {
        background: #00345f;
    }
    /*** IFRAME ***/
    .booking-frame {
        height: 1400px;
    }
    /*** LOGO ***/
    header .c-logo {
        top: 50px;
        left: -35px;
    }
    header a.logo img {
        width: 163px;
        height: 130px;
    }
    header.active .c-logo {
        left: -20px;
    }
    header.active a.logo img {
        width: 126px;
        height: 100px;
    }
    /*** LINE BREAK ***/
    .break {
        border-top: 1px solid #eee;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    /* content */
    .section.content {
        margin-top: 0;
    }
    .section.content img {
        width: 100%;
    }
    .section.features .col-main {
        margin-bottom: 10px;
        overflow: hidden;
    }
    .section.features .col-main .bg-img {
        width: 100%;
    }
    .section.content .text {
        padding: 30px 0;
    }
    .section.content.page .column img {
        padding: 0;
    }
    /*** FOOT ***/
    footer {
        background: #00345f;
    }
    .section.foot .contact {
        text-align: right;
        padding-bottom: 15px;
    }
    .section.foot .contact .button {
        margin: 0px auto 15px auto;
    }
    .section.foot .col {
        margin-bottom: 40px;
    }
    .section.foot .gallery {
        background: #70c6b3;
    }
    footer .social .icons {
        padding: 0 30px;
        margin: 0px auto 75px;
        display: flex;
        justify-content: space-between;
    }
    footer .social .icons div {
        align-self: center;
    }
    footer .social .arrow {
        top: auto;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        background: #e12933 url(/images/arrow-up.png) no-repeat;
        background-position: center;
        cursor: pointer;
        z-index: 50;
    }
    footer .copyright {
        display: block;
    }
    footer .copyright>* {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .section.foot .col {
        height: 450px;
    }
    /* features */
    .section.features .box .title {
        padding: 30px 30px 0px;
        font-size: 20px;
    }
    .section.features .box {
        height: 300px;
        width: 100%;
        overflow: hidden;
        position: relative;
        background: url("/images/bg-feature.png") right bottom no-repeat #70c6b3;
    }
    .section.features.up .box:hover {
        height: 300px;
        margin-top: 0;
    }
    .section.features .box .bg-img,
    .section.features.up .box .bg-img {
        min-height: 300px;
        height: auto;
        max-height: none;
        width: 100vw!important;
        max-width: none;
    }
    .section.features .col-main {
        position: relative;
        height: 300px;
    }
    .section.features .box:hover {
        background: #00345f;
    }
    .section.features .box .bg-img {
        position: absolute;
        top: -9999px;
        bottom: -9999px;
        left: -9999px;
        right: -9999px;
        margin: auto;
        width: auto;
        min-height: 400px;
        width: auto!important;
        opacity: 0;
    }
    .section.features .col-main {
        position: relative;
        height: 300px;
    }
    /*** HERO ***/
    .section.hero .slide .feature {
        left: 60px;
    }
    .section.hero .slide .feature h2 {
        margin: 20px 0 15px;
    }
    .section.hero .hero-wifi {
        bottom: 120px;
        left: initial;
        right: 20px;
        width: 40px;
    }
    .section.hero .hero-tgb {
        width: 150px;
    }
    .section.hero .hero-slogan {
        font-size: 28px;
    }
    .section.hero .hero-flower {
        width: 150px;
    }
    .section.hero .hero-slider .slick-next,
    .section.hero .hero-slider .slick-next:hover {
        right: 0px;
        bottom: 20%;
    }
    .section.hero .hero-slider .slick-prev,
    .section.hero .hero-slider .slick-prev:hover {
        left: 0px;
        bottom: 20%;
    }
    .section.hero .slide .feature h2 {
        font-size: 28px;
        margin: 15px 0;
    }
    .section.hero .slide .feature .button {
        font-size: 26px;
    }
    .section.hero .hero-slider .slick-arrow {
        height: 70px;
        width: 35px;
        padding: 0px;
        outline: none;
    }
    .section.hero .hero-slider .slick-next,
    .section.hero .hero-slider .slick-prev,
    .section.hero .hero-slider .slick-next:hover,
    .section.hero .hero-slider .slick-prev:hover {
        background-size: cover;
    }
    .section.features .col-main {
        border-right: none;
    }
    /*** SUB HERO ***/
    .section.hero.subhero {
        margin-top: 50px;
    }
    .section.hero.subhero .hero-top {
        top: 0;
    }
    /*** GALLERY ***/
    .section.content .gall .grid-item {
        width: 100%;
    }
    .section.content .gall .grid-image {
        max-height: 500px;
    }
    /*** ROOMS ***/
    .section.content.roomListPage .grid-section .container {
        padding: 0 0 10px;
    }

    /*** MOBILE DETAIL ***/
    .mobile-detail {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        display: block;
        z-index: 100;
    }
    .mobile-detail i {
        margin-right: 7px;
    }
    .mobile-detail > * {
        display: inline-block;
        padding: 10px;
        background: #70c6b3;
        color: #fff;
        width: 50%;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
    }
    .mobile-detail > a:hover {
        background: #fff;
    }
    .mobile-detail > a:first-child {
        border-right: 1px solid rgba(0,0,0,0.1);
    }
}

@media only screen and (max-width: 550px) {
    .section.hero .slide {
        margin-bottom: 300px;
    }
    .section.hero .slide .feature {
        top: initial;
        bottom: -200px;
    }
    .section.hero .hero-tgb {
        left: 20px;
        bottom: 5px;
        width: 100px;
    }
    .section.hero .hero-flower {
        bottom: -15px;
    }
}

@media only screen and (max-width: 479px) {
    .hidden-xxs {
        display: none;
    }
    /*** HEADER ***/
    header .c-call {
        width: 95px;
        right: 170px;
    }
    header .c-call i {
        margin: 2px 10px 0 15px;
    }
    header .c-booking {
        right: 0;
        width: 170px;
    }
    header .c-booking .book-now {
        text-align: left;
        padding-left: 55px;
    }
    .c-booking .book-now {
        text-align: center;
        width: 100%;
        display: block;
        position: relative;
        padding-top: 11px;
    }
    header.active .c-booking .book-now {
        display: block;
        height: 50px;
        padding-top: 10px;
    }
    header.active .c-booking .book-now .calendar {
        top: 15px;
    }
    header .c-booking .best {
        font-size: 10px;
        padding: 8px;
        text-align: right;
        width: 100%;
        padding-left: 50px;
    }
    /*** HERO ***/
    .section.hero .slide .feature {
        width: 70%;
        bottom: -220px;
        left: 50px;
    }
    .section.hero .slide .feature h2 {
        font-size: 25px;
    }
    .section.hero .slide .feature p.medium {
        font-size: 18px;
    }
    .section.hero .slide .feature .button {
        font-size: 25px;
        color: #fff;
    }
    .section.hero .hero-slogan {
        font-size: 20px;
        width: 150px;
        bottom: 0;
        text-align: right;
    }
    .section.hero .hero-flower {
        width: 100px;
    }
    .section.hero .hero-wifi {
        bottom: 75px;
    }
    footer .social .icons {
        padding: 0 30px;
        margin: 0px auto 75px;
        display: block;
    }
    footer .social .icons div {
        display: inline-block;
        width: 40%;
        padding: 10px;
    }
    footer .social .icons div img {
        width: 100%;
    }
}