/*
Theme Name: Shore Forest Campground
Theme URI: #
Description: Designed by <a href="https://www.fiverr.com/usamafayyaz99">Usama Fayyaz</a>.
Author: Usama Fayyaz
Version: 1
Template: genesis
Tags: Custom Theme for Shore Forest Campground. Developed by Usama Fayyaz
*/

/***Theme Defaults***/
:root{
    --primary-color: #065200;
    --secondary-color: #136734;
    --tertiary-color: #f4ed37;
    --quaternery-color: #6ec1e4;
    --header-bg-color: #fff;
    --header-sticky-bg-color: #fff;
    --logo-height: 250px;
    --logo-height-sticky-header: 250px;
    --primary-menu-item-color: #136734;
    --primary-menu-item-color-hover: var(--primary-color);
    --body-font: "Open Sans", sans-serif;
    --heading-font-primary: "Posterama", sans-serif;
    --heading-font-secondary: "Posterama", sans-serif;
}

/***Genesis Core***/

html {
	font-family: var(--body-font);
	width: 95vw;
	margin: 0 auto;
}

body {
    font-family: var(--body-font);
    color: #000;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font-primary);
    font-weight: 700;
}

/*Site Containers*/
.wrap {
    margin:0 auto;
    max-width:1200px
}

.site-inner {
    width: 100%;
	background-image: url(./images/bg.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.site-container {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/*Site Header*/
.site-header {
	width: 100%;
	transition: 0.3s;
	background-color: var(--header-bg-color);
	height: 60vh;
	display: flex;
	justify-content: start;
	align-items: end;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 75px;
}

.home .site-header {
	justify-content: start;
	align-items: center;
}

.sticky-header {
    background-color: var(--header-sticky-bg-color);
    /* position: fixed; */
    box-shadow: 1px 2px 10px rgb(0 0 0 / 70%);
}

.site-header .wrap {
    display: flex;
    padding: 0.5rem 1rem;
    width: 100%;
	justify-content: start;
	align-items: end;
}

.home .site-header .wrap {
	justify-content: center;
    align-items: center;
}

/*Header Widget Area*/
.site-header .header-widget-area {
    text-align: right;
    white-space: nowrap;
    display: flex;
    align-items: stretch;
    grid-gap: 25px;
    justify-content: end;
    flex-wrap: wrap;
}

/*Title Area*/
.header-full-width .title-area {
    width:100%
}

.site-title {
    font-size:32px;
    font-size:3.2rem;
    font-weight:400;
    line-height:1.2
}

.header-image .site-title > a {
    /* float: left; */
    height: var(--logo-height);
}

.header-image .sticky-header .site-title > a {
    height: var(--logo-height-sticky-header);
}

.custom-logo {
    width: auto;
    max-height: var(--logo-height);
    object-fit: contain;
    transition: 0.3s;
    margin: 0 auto;
}

.sticky-header .custom-logo {
    max-height: var(--logo-height-sticky-header);
}

.wp-custom-logo .title-area {
	max-width: none;
	margin-top: 0;
}

.wp-custom-logo .site-title {
	text-indent: 0 !important;
}

.wp-custom-logo .site-title > a {
	min-height: 0;
	transition:0.3s;
	/* margin: 0 auto; */
}

.custom-logo-link {
	display: block;
}

.header-image .site-description,.header-image .site-title {
	display:block;
	text-indent:-9999px;
	margin-top: 0px;
}

/*Site Navigation*/
.genesis-nav-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
    grid-gap: 35px;
}
.genesis-nav-menu a {
    color: var(--primary-menu-item-color);
    font-weight: 700;
    text-decoration: none;
    display: block;
    padding: 20px 0px;
    font-size: 20px;
    transition: 0.3s;
    border-bottom: 5px solid transparent;
    font-family: var(--heading-font-primary);
}
.genesis-nav-menu a span {
    display: flex;
    align-items: center;
}

.genesis-nav-menu a:hover {
    border-bottom-color: var(--primary-color);
    color: var(--primary-color);
}

.genesis-nav-menu .current-menu-item a {
	border-bottom: 5px solid var(--primary-color);
}

li.menu-item-has-children > a > span:after {
    content: "\f078";
    font-family: 'FontAwesome';
    font-size: 7px;
    padding-left: 5px;
}
.sub-menu li.menu-item-has-children > a > span:after {
    content: "\f054";
    font-family: 'FontAwesome';
    font-size: 7px;
    position: absolute;
    padding: 3px 5px;
}
.genesis-nav-menu .sub-menu {
    left: -9999px;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .3s ease-in-out;
    -moz-transition: opacity .3s ease-in-out;
    -ms-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    width: 250px;
    z-index: 99999;
    margin-left: 0px;
    box-shadow: 0px 5px 10px rgb(0 0 0 / 20%);
    white-space: normal;
}
.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	padding: 20px;
	position: relative;
	width: 250px;
	word-wrap: break-word;
	transform: unset;
	transition: 0.3s;
}

.genesis-nav-menu .sub-menu a span{
    transform: unset;
}

.genesis-nav-menu .sub-menu a:hover {
	background-color: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}

.genesis-nav-menu li.menu-item-has-children:hover>a {
    transition:0.3s;
}
.genesis-nav-menu .sub-menu .sub-menu {
    margin:-47px 0 0 250px
}
.genesis-nav-menu .menu-item:hover {
    position:static
}
.genesis-nav-menu .menu-item:hover > .sub-menu {
    left:auto;
    opacity:1
}

/*Entry Content*/
.home .entry {
    margin-bottom: 0px;
    padding: 0px;
}

.entry-content ol,.entry-content ul {
    margin-bottom:28px;
    margin-left:40px
}

.entry-content ol > li {
    list-style-type:decimal
}

.entry-content ol > li > ol > li {
    list-style: lower-alpha;
}

.entry-content ul > li {
    list-style-type:disc;
    padding-bottom:10px;
}

.entry-content ul > li > ul >li {
    list-style: circle;
}

.entry-content ol ol,.entry-content ul ul {
    margin-bottom:0
}

/*Entry Meta*/
.entry-meta {
	margin-bottom:0;
	font-family: var(--body-font);
}
.entry-header .entry-meta {
    margin-bottom: 24px;
}
.entry-footer .entry-meta {
	border-top:2px solid #f5f5f5;
	padding-top:24px
}

/* ## Pagination
--------------------------------------------- */
.pagination {
    clear:both;
    margin:50px 0
}

.adjacent-entry-pagination {
    margin-bottom: 0px;
    line-height: 1.8em;
    border-top: 1px solid #e1e1e1;
    padding-right: 10px;
    padding-left: 10px;
}

.adjacent-entry-pagination a {
    display: table;
    margin: 0 auto;
}

.archive-pagination li {
    display:inline
}

.archive-pagination li a {
    color:#fff;
    cursor:pointer;
    font-family: var(--body-font);
    display:inline-block;
    font-size:16px;
    font-size:1.6rem;
    padding:8px 12px;
    text-decoration:none
}
.archive-pagination li a:hover,.archive-pagination li a:focus,.archive-pagination .active a {
    background-color:#353640;
    text-decoration:none
}

/* ## Comments
--------------------------------------------- */
.comment-respond,.entry-comments,.entry-pings {
    background-color:#fff;
    margin-bottom:40px
}
.comment-respond,.entry-pings {
    padding:40px 40px 16px;
    margin-top: 30px;
    }
.entry-comments {
    padding:40px;
    border: 1px solid #e1e1e1;
}
.comment-header {
    font-size:16px;
    font-size:1.6rem
}

.comment-content {
    clear: both;
    word-wrap: break-word;
    border: 2px solid #f2f2f2;
    padding: 10px;
    border-radius: 2%;
}

.comment-list li {
    margin-top:24px;
    padding:25px
}

.comment-list li li {
    margin-right:-32px
}

.comment-respond input[type="email"],.comment-respond input[type="text"],.comment-respond input[type="url"] {
    width:50%
}

.comment-respond label {
    display:block;
    margin-right:12px
}

.entry-comments .comment-author {
    margin-bottom:0
}

.entry-pings .reply {
    display:none
}

.form-allowed-tags {
    background-color:#f5f5f5;
    font-size:16px;
    font-size:1.6rem;
    padding:24px
}

.comment-list .children {
    border-left: 2px solid #f2f2f2;
    padding-left: 20px;
    margin-left: 20px;
}

.comment-reply-link:hover {
    background-color: #353640;
}

.comment-reply-link {
    padding: 0px 5px;
    margin-top: 10px;
    border-radius: 3px;
    font-size: 14px;
    color: #fff;
    background-color: #232621;
    float: right;
}

.comment-reply-link:before {
    content: "\f112";
    font-family: FontAwesome;
    font-size: 10px;
    margin-right: 5px;
}

.entry-comments .leave-reply{
    float: right;
    margin-top: -45px;
    text-transform: uppercase;
    background-color: #232621;
    color: #fff;
    padding: 8px;
    font-size: 15px;
    font-family: var(--body-font);
    border-radius: 3px;
}

.entry-comments .leave-reply:hover{
    background-color: #353640;
}

@media only screen and (max-width: 960px) {
            
    .entry-comments {
        padding: 30px 10px 30px 10px;
    }

    ol.comment-list ul.children {
        padding-left: 0px; 
        margin-left: 0px; 
    }

}

/*Sidebars*/
.sidebar li {
    border-bottom:1px dotted #ddd;
    margin-bottom:10px;
    padding-bottom:10px
}
.sidebar p:last-child,.sidebar ul > li:last-child {
    margin-bottom:0
}
.sidebar .widget {
    background-color:#fff;
    margin-bottom:30px;
    padding:35px;
    z-index:999;
}

/*Site Footer*/
.footer-widgets {
    color: #fff;
    background-color: rgb(27 49 107 / 85%);
    padding: 50px  15px;
    box-shadow: 1px 2px 10px #000000b3;
}

.footer-widgets .wrap {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 40px;
    align-items: center;
    justify-content: space-around;
}

.footer-widgets .wrap .footer-widget-area {
    z-index: 1;
}

.widget-area.footer-widgets-5.footer-widget-area {
    padding: 0;
    text-align: center;
    flex: 1 1 100%;
}

.footer-widgets a {
    color: #fff;
    transition:0.3s;
}

.footer-widgets a:hover {
	text-decoration: underline;
}

.footer-widgets .widgettitle {
	color: #fff;
	font-weight: 400;
	font-family: 'BebasNeue';
	font-size: 28px;
}

.footer-widgets li {
    list-style-type:none;
    word-wrap:break-word
}

.footer-widget-area {
    box-sizing: border-box;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 20px;
    flex: 1 1 calc(25% - 30px);
}

.footer-widget-area-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.footer-widget-area .menu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    grid-gap: 15px;
    align-items: start;
    justify-content: end;
}

.footer-widget-area .menu a {
    position: relative;
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: capitalize;
    letter-spacing: 1px;
    line-height: 1.5;
    text-shadow: 0.5px 0px 0px rgb(0 0 0 / 30%);
}

.footer-widget-area .menu a:before {
    left: -8px;
    margin-top: -11px;
}

.site-footer {
    font-size: 16px;
    z-index: 1;
}

.site-footer .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 15px;
    align-items: center;
    padding: 10px 0;
}

.site-footer .wrap > p {
    margin: 0;
}

.site-footer a {
	transition:0.3s;
}

.site-footer a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 960px) {

    .footerwidgetheader-container .wrap a {
        display: block;
        line-height: 2rem;
    }

    .site-footer p{
        float:none;
        padding-top:0px;
        text-align: center;
        font-size: 14px;
    }

}

@media only screen and (max-width:768px){

    .footer-widgets {
        padding: 25px 10px;
    }

    .footer-widgets .widget-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footer-widget-area {
    flex: 0 1 calc(50% - 20px);
    }

    .footer-widget-area .menu {
        align-items: center;
    }

}

@media only screen and (max-width:767px) {

    .footer-widget-area-inner {
        flex-direction: column;
        justify-content: center;
        grid-gap: 2em;
    }

    .footer-widget-area .menu {
        justify-content: center;
    }

	.footer-widget-area {
        flex: 0 1 100%;
    }
}

/***Theme Core***/

/* Back-to-top */
.to-top {
	display:inline-block;
	z-index:99999;
	height:40px;
	width:40px;
	position:fixed;
	bottom:60px;
	right:10px;
	box-shadow:0 0 10px rgba(0,0,0,0.05);
	overflow:hidden;
	white-space:nowrap;
	background: var(--primary-color);
	visibility:hidden;
	opacity:0;
	-webkit-transition:all .3s;
	-moz-transition:all .3s;
	transition:all .3s;
	display: flex;
	align-items: center;
}

a.to-top i.top-icon{
	margin: 0 auto;
    color: #fff;
    padding-bottom: 5px;
}

.to-top.top-is-visible {
    visibility:visible;
    opacity:1;
    z-index: 9999999999;
}

.to-top.top-fade-out {
    opacity:.5
}

.no-touch .to-top:hover {
    background-color:#353640;
    opacity:1
}

a.to-top:hover {
	background-color:#6e6e6e;
	opacity:1;
}

@media only screen and (max-width: 960px) {
	/* Back-to-top */
    a.to-top:focus {
        background-color: var(--primary-color);
    }
    a.to-top:hover {
        background-color: var(--primary-color);
        opacity: .5;
    }
    .to-top {
        right:20px;
        bottom:80px
    }
}

@media only screen and (min-width: 1024px) {
    /* Back-to-top */
    .to-top {
        height:60px;
        width:60px;
        right:30px;
        bottom:60px
    }
}

/*Menu Sidebar*/

.menu-sidebar {
	transition:0.3s;
}

.sub-menu-toggle {
	display: none;
}

.sub-menu .sub-menu-toggle {
    margin-right: 10px;
}

.sub-menu-toggle-icon {
    color: #fff;
    font-size: 12px;
    transition: 0.3s;
}

.sub-menu-toggle-icon-rotate{
    transform: rotate(-180deg);
}

.mobile-menu-toggle-container {
    display: none;
}

.mobile-toggle {
    height: 50px;
    width: 50px;
    display: none;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    grid-gap: 5px;
    cursor: pointer;
    z-index: 999999;
    position: relative;
    transition: 0.3s;
    background-color: var(--primary-color);
    padding: 10px;
    border-radius: 10px;
    margin: 10px 0;
}

.menu-toggle-bar {
    background-color: #fff;
    height: 2px;
}

.menu-toggle-bar {
    transform-origin: left;
    transition: 0.3s;
    width: 100%;
    display: block;
}

.mobile-toggle.menu-open .menu-toggle-bar:nth-child(2) {
    visibility: hidden;
    transition: 0s;
    width: 0px;
}

.mobile-toggle.menu-open .menu-toggle-bar:not(.mobile-toggle.menu-open .menu-toggle-bar:nth-child(2)) {
    translate: 5px 0;
}

.mobile-toggle.menu-open .menu-toggle-bar:nth-child(1) {
    transform: rotate(45deg);
}

.mobile-toggle.menu-open .menu-toggle-bar:nth-child(3) {
    transform: rotate(-45deg);
}

@media (max-width:1100px) {
    .mobile-menu-toggle-container {
        display: block;
    }
    
    .mobile-toggle {
        display: flex;
    }

    .booking-navigation-menu {
        display: flex;
        z-index: 99999;
        align-items: center;
        justify-content: center;
        margin-top: 0px;
        background-color: #fff;
        transform: translateX(100%);
        transition: 0.3s;
        position: fixed;
        width: 100%;
        right: 0;
        height: 100%;
        top: 0;
        border-radius: 0;
        opacity: 0;
        padding: 25px;
        box-sizing: border-box;
        overflow-y: scroll;
    }
    
    .booking-navigation-menu.full-mobile-menu {
        transform: translateX(0%);
        opacity: 1;
    }
    
    i.fa.mobile-toggle {
        display: inline-block;
        text-align: right;
        color: #1A191C;
        font-size: 2.5vmax;
        padding: 12px 15px;
        border-radius: 5px;
        z-index: 99999999;
        position: relative;
        cursor: pointer;
    }
    
    .sub-menu-toggle {
        display: inline-block;
        padding: 0;
        margin: 0;
        margin-left: 5px;
        cursor: pointer;
        vertical-align: text-bottom;
        background-color: var(--primary-color);
        padding: 2px 5px;
        border-radius: 3px;
    }

    .booking-navigation-menu .menu {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        grid-gap: 20px;
    }
    
    .booking-navigation-menu .menu-item a {
        color: #000;
        font-size: 1.2rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 400;
    }
    
    .booking-navigation-menu .sub-menu {
        display:none;
        opacity: 1;
        left: unset;
        position: unset;
        width: 100%;
        max-width: 250px;
        background-color: var(--primary-color);
        border-radius: 10px;
        box-shadow: unset;
        padding: 0 1em 0 1em;
        flex: 1 1 100%;
        margin-top: 15px;
    }
    
    .booking-navigation-menu .sub-menu a {
        font-size: 1rem;
        letter-spacing: calc(.5px);
        font-weight: 400;
        text-transform: uppercase;
        background-color: var(--primary-color);
        color: #fff !important;
    }
    
    .booking-navigation-menu .sub-menu .menu-item {
        margin: 0;
    }

	.genesis-nav-menu li {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .genesis-nav-menu a span {
        justify-content: center;
        text-shadow: none;
    }

}

@media only screen and (max-width:768px){

    .title-area {
        display: inline-block;
        width: auto ;
        padding: 0px;
        text-align: left;
    }

    li.menu-item-has-children > a > span:after {
        content: '';
    }
    
    .genesis-nav-menu {
        flex-direction: column;
    }

    .genesis-nav-menu a {
		padding: 8px 9;
		border: 0;
		color: var(--primary-color);
		font-size: 24px;
		line-height: 28px;
		text-align: center;
	}

    .genesis-nav-menu .sub-menu .sub-menu{
		margin-top:0px;
		margin-left: 20px;
	}

}

/***Theme Extended***/

/* Booking Navigation */
.booking-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.booking-button-container a {
    background-color: var(--primary-color);
    display: block;
    color: #fff;
    font-size: 28px;
    padding: 30px 25px;
    position: absolute;
    top: 0;
    text-align: center;
    text-shadow: 2px 2px 2px rgb(0 0 0 / 30%);
    background-image: url(images/booking-button-bg.png);
    background-position: center bottom;
    background-size: auto;
    background-repeat: no-repeat;
    transition: 0.3s;
    font-family: var(--heading-font-primary);
    text-transform: uppercase;
}

.booking-button-container a:hover {
    scale: 1.1;
}

.booking-button-container {
    z-index: 99999;
}

/* Home */

/* About Contents */
.about-right-content:nth-child(4n-3) h3 {
    background-color: #db6700;
}

.about-right-content:nth-child(4n-2) h3 {
    background-color: #f5dd41;
}

.about-right-content:nth-child(4n-1) h3 {
    background-color: #1b316b;
}

.about-right-content:nth-child(4n) h3 {
    background-color: var(--primary-color);
}

/* About Contents */
.events-carousel .swiper-slide:nth-child(4n-3) h3 {
    background-color: var(--secondary-color);
}

.events-carousel .swiper-slide:nth-child(4n-2) h3 {
    background-color: #db6700;
}

.events-carousel .swiper-slide:nth-child(4n-1) h3 {
    background-color: #d0ba31;
}

.events-carousel .swiper-slide:nth-child(4n) h3 {
    background-color: #1b316b;
}

/* Swiper */
.swiper-pagination {
    position: unset !important;
    margin-top: 20px;
}

.swiper-pagination-bullet {
    background-color: #a2a2a2 !important;
}

.swiper-pagination-bullet-active {
    background-color: #000000 !important;
}

/* Email Subscription */
.email-subscription-images > div:nth-child(1) {
    margin-right: 40px;
}

.email-subscription-images > div:nth-child(1) img {
    max-width: 185px;
}

.email-subscription-images > div:nth-child(2) img {
    margin-top: -40px;
}

.email-subscription-images > div:nth-child(3) img {
    max-width: 300px;
    margin-top: -150px;
    margin-right: -40px;
}

@media (max-width:768px) {
    .email-subscription-images > div:nth-child(2) img {
        max-width: 250px;
    }
    .email-subscription-images > div:nth-child(3) img {
        max-width: 200px;
    }
}

/***Gallery***/
.gallery-images {
    display: flex;
    flex-wrap: wrap;
	grid-gap: 20px;
}

.gallery-images .gallery-image {
    flex: 1 1 calc(25% - 15px);
    line-height: 0;
    overflow: hidden;
    cursor: pointer;
}

.gallery-images img {
    padding: 0;
    border: 0 !important;
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    transition: 0.3s;
}

.gallery-images .gallery-image:hover img {
    transform: scale(1.1);
}

@media only screen and (max-width:767px) {
    .gallery-images .gallery-image {
        flex-basis: 100% !important;
    }
}

.section-3-bg {
    background-attachment: fixed;
}

.swiper-wrapper {
	max-width: 90vw;
}

.local_attractions .amenity-container p {
    transform: translateY(100%);
    position: fixed;
	transition: 0.3s;
}

.amenity-container {
    overflow: hidden;
}

.amenity-container a:hover p {
    transform: translateY(0px);
    position: relative;
}

.dining-title-section {
    flex: 1 1 calc(100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.amenities {
    width: 100%;
    display: flex;
}

.alignleft {
    float: left;
    margin-right: 25px;
}

/* Gravity Form */
.gform-theme--framework input[type]:focus, .gform-theme--framework textarea:focus {
    outline-color: #136734 !important;
    border-color: #136734 !important;
}

.gform-theme--framework input[type=checkbox]::before {
    color: #136734 !important;
}

.gform-theme--framework input[type=submit] {
    background-color: #136734 !important;
    font-family: 'Posterama', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 24px !important;
    padding: 10px 25px !important;
}

.gform-theme--framework input[type]:where(:not(.gform-theme--framework input[type='checkbox']):not(.gform-theme--framework input[type='submit'])), .gform-theme--framework textarea {
    box-shadow: unset !important;
    background-color: transparent !important;
}

.gform-theme--framework .gform-field-label--type-inline {
    color: #136734 !important;
}

/* Light Gallery */
.lg-has-iframe {
    max-width: 70% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
}

.lg-backdrop {
    background-color: rgb(0 0 0 / 70%) !important;
}