/*!
Theme Name: Paradise on Ridge
Theme URI: http://underscores.me/
Author: S2 Web Solutions
Author URI: http://www.s2websolutions.co.za
Description: Built on Underscores framework, by S2 Web Solutions, for Paradise on Ridge
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: paradiseonridge_fw

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

paradiseonridge_fw is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */
html {line-height: 1.15; -webkit-text-size-adjust: 100%; }

/* Sections
	 ========================================================================== */
body {margin: 0;}
h1 {font-size: 2em; margin: 0.67em 0;}

/* Grouping content
	 ========================================================================== */
hr {box-sizing: content-box; height: 0; overflow: visible;}
pre {font-family: monospace, monospace; font-size: 1em;}
a {background-color: transparent;}

abbr[title] {border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: monospace, monospace; font-size: 1em; }
small {font-size: 80%;}

sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}

/* Embedded content
	 ========================================================================== */
img {border-style: none;}

/* Forms
	 ========================================================================== */
button, input, optgroup, select, textarea {font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button; appearance:button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}

/* Interactive
	 ========================================================================== */
details {display: block;}
summary {display: list-item;}

/* Misc
	 ========================================================================== */
template {display: none;}
[hidden] {display: none;}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body, button, input, select, optgroup, textarea {color: #000000; font-family: 'Arima', sans-serif; font-size: 16px; font-size: 1.15rem; line-height: 1.8;}
h1, h2, h3, h4, h5, h6, .boxed-content-title {clear: both; color: #1da6ac; font-weight: 400;  font-family: 'Whisper', 'cursive'; line-height: 1.25;}
h1 {font-size: 3rem;}
h2 {font-size: 2.8rem;}
h3 {font-size: 2.6rem;}
.bodyfont {font-family: 'Arima', sans-serif; font-size:2rem;}

.boxed-content-title {font-size: 2.5rem; padding:1rem 0;} 
.site-footer-title {font-size: 2.5rem; color:#000000;}
.entry-title {margin-bottom: 0;}
p {margin-bottom: 1.5em;}
dfn, cite, em, i {font-style: italic;}
blockquote {margin: 0 1.5em;}
address {margin: 0 0 1.5em;}
pre {background: #eee; font-family: "Courier 10 Pitch", Courier, monospace; font-size: 15px; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1.6em;}
code, kbd, tt, var {font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 15px; font-size: 0.9375rem;}
abbr, acronym {border-bottom: 1px dotted #666; cursor: help;}
mark, ins {background: #fff9c0; text-decoration: none;}
big {font-size: 125%;}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {box-sizing: border-box;}
*, *:before, *:after {box-sizing: inherit;}
body {background: #fff;}
hr {background-color: #ccc; border: 0; height: 1px; margin-bottom: 1.5em;}
ul, ol {margin: 0 0 1rem 0;}
ul {list-style: disc;}
ol {list-style: decimal;}
li > ul, li > ol {margin-bottom: 0; margin-left: 1.5em;}
dt {font-weight: bold;}
dd {margin: 0 1.5em 1.5em;}
img {height: auto; max-width: 100%;}
figure {margin: 1em 0;}
table {margin: 0 0 1.5em; width: 100%;}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button, input[type="button"], input[type="reset"], input[type="submit"] {border: 1px solid; border-color: #ccc #ccc #bbb; border-radius: 3px; background: #e6e6e6; color: rgba(0, 0, 0, 0.8); font-size: 12px; font-size: 0.75rem; line-height: 1; padding: .6em 1em .4em;}
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {border-color: #ccc #bbb #aaa;}
button:active, button:focus, input[type="button"]:active, input[type="button"]:focus,input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:active, input[type="submit"]:focus {border-color: #aaa #bbb #bbb;}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {color: #666; border: 1px solid #ccc; border-radius: 3px; padding: 3px;}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {color: #111;}
select {border: 1px solid #ccc;}
textarea {width: 100%;}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {color: #1da6ac; text-decoration: none;}
a:visited {color: inherit;}
a:hover, a:focus, a:active {color: inherit;}
a:focus {outline: none;}
a:hover, a:active {outline: 0;}
.site-footer a, .site-info a {color: #000000; text-decoration: none;}
.site-footer a:hover {color: #1da6ac;}
a.blue-btn {text-decoration: none; text-transform: uppercase; text-align: center; border:1px solid #1da6ac; background-color: #1da6ac; color:#ffffff; transition: 0.9s; padding:0.6rem 1rem; font-size: 1rem;}
a.blue-btn:hover {background-color: #dbe2e5; color:#1da6ac;}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
/**.main-navigation {clear: both; display: block; float: left; width: 100%;}**/
.main-navigation {display: block; width:100%; max-width: 1440px; margin:0 auto;}
.main-navigation ul {display: none;}
nav.main-navigation.toggled {background-color: #1da6ac;}
/* Small menu. */
.menu-toggle, .main-navigation.toggled ul {display: block;}
.main-navigation.toggled ul {list-style: none; text-align: center; width:100%; margin:0; padding:0 0 1rem 0;}
.main-navigation.toggled ul li a {display: block; width:100%; color: #000000;}
button.menu-toggle {width: 95%; margin: 1rem auto;}
.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {margin: 0 0 1.5em; overflow: hidden;}

.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous {float: left; width: 50%;}
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {float: right; text-align: right; width: 50%;}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
.screen-reader-text {border: 0;	clip: rect(1px, 1px, 1px, 1px);	clip-path: inset(50%);	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px;	word-wrap: normal !important;}
.screen-reader-text:focus {background-color: #f1f1f1;border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000;}
#content[tabindex="-1"]:focus {outline: 0;}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {display: inline; float: left; margin-right: 1.5em;}
.alignright {display: inline; float: right; margin-left: 1.5em;}
.aligncenter {clear: both; display: block; margin-left: auto; margin-right: auto;}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before, .clear:after {content: ""; display: table; table-layout: fixed;}
.clear:after {clear: both;}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {margin: 0 0 1.5em;}
.widget select {max-width: 100%;}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {display: block;}
.post, .page {margin: 0;}
.updated:not(.published) {display: none;}
.page-content, .entry-content, .entry-summary {margin: 0 auto;}
.entry-content p:first-of-type, .no-space-p p:first-of-type {margin-top:0;}
.page-links {clear: both; margin: 0 0 1.5em;}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {word-wrap: break-word;}
.bypostauthor {display: block;}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {display: none;}
.infinity-end.neverending .site-footer {display: block;}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {border: none; margin-bottom: 0; margin-top: 0; padding: 0;}
embed, iframe, object {max-width: 100%;}
.custom-logo-link {display: inline-block;}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {margin-bottom: 1.5em; max-width: 100%;}
.wp-caption img[class*="wp-image-"] {display: block; margin-left: auto; margin-right: auto;}
.wp-caption .wp-caption-text {margin: 0.8075em 0;}
.wp-caption-text {text-align: center;}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {margin-bottom: 1.5em; display:grid; width:fit-content; margin:0 auto; grid-gap: 1rem;}
/**.gallery-item {display: inline-block; text-align: center; vertical-align: top; width: 100%;}
.gallery-columns-2 .gallery-item {max-width: 50%;}
.gallery-columns-3 .gallery-item {max-width: 33.33%;}
.gallery-columns-4 .gallery-item {max-width: 25%;}
.gallery-columns-5 .gallery-item {max-width: 20%;}
.gallery-columns-6 .gallery-item {max-width: 16.66%;}
.gallery-columns-7 .gallery-item {max-width: 14.28%;}
.gallery-columns-8 .gallery-item {max-width: 12.5%;}
.gallery-columns-9 .gallery-item {max-width: 11.11%;}**/
.gallery-columns-2, .gallery-columns-4, .gallery-columns-8 {grid-template-columns: repeat(2,1fr);}
.gallery-columns-3, .gallery-columns-6 {grid-template-columns: repeat(3,1fr);}
.gallery-columns-5 {grid-template-columns: repeat(5,1fr);}
.gallery-columns-7 {grid-template-columns: repeat(7,1fr);}

.gallery-item {display: block; text-align: center; margin:0; line-height: 0;}
.gallery-caption {display: block;}

/*--------------------------------------------------------------
## Short Code Layouts
--------------------------------------------------------------*/
.clear_all {clear: both; display:block;}
.row_start {display:inline-block; width:100%; float:none; clear:both;}
.one_half, .two_quarter, .one_quarter, .three_quarter, .one_third, .two_third, .one_fifth {display: block; float: none; list-style: none; box-sizing: border-box; margin: 0 auto; width: 100%;}

#backtotop{z-index:999; display:inline-block; position:fixed; visibility:hidden; bottom:20px; right:20px; width:36px; height:36px; line-height:36px; font-size:16px; text-align:center; opacity:.2; background:#1da6ac; border-radius: 100%; color: #ffffff; text-decoration: none;}
#backtotop i{display:block; width:100%; height:100%; line-height:inherit;}
#backtotop.visible{visibility:visible; opacity:.5;}
#backtotop:hover{opacity:1;}

/*--------------------------------------------------------------
## Grids
--------------------------------------------------------------*/
.grid, .site-footer {display: grid; width: 100%; max-width: 1440px; margin: 0 auto; padding: 0;}
.nested-grid, .full-width-grid {max-width: 95%;}
.one-col, .two-col, .two-col-auto, .three-col, .four-col, .footer-grid, .site-footer {grid-template-columns: 100%;}
.aligned-grid {align-items: center;}
.gapped-grid-small {grid-gap: 0.5rem;}
.gapped-grid, .site-footer {grid-gap: 1rem;}
.gapped-grid-large {grid-gap: 2rem;}
.grid-image {line-height: 0; text-align: center;}
.text-centered, .site-footer {text-align: center;}
.site-info {max-width:fit-content; font-size: 0.95rem; text-align: center;}
.so-me-grid {margin:0 auto; width:fit-content; font-size: 1.5rem;}

/*--------------------------------------------------------------
## Theme Wrappers and colours
--------------------------------------------------------------*/
#nav-bar {position: fixed; top:0; z-index: 999; background-color: rgb(102 91 57 / 50%); left: 0; right: 0; margin: 0 auto; transition: 0.5s ease all;}
.navbar-fixed {top:0 !important; background-color: #1da6ac !important;}
.wrapper, #content, .max-1440 {display: block; width: 100%; margin: 0 auto; padding: 0; position: relative;}
#content, .max-1440, .full-width-grid {max-width: 95%;}

.whitebg {background-color: #ffffff;}
.lightbg {background-color: #e7ead6;}
.bluebg {background-color: #e4f0ef;}

.page-header-item {display: grid; grid-template-columns: 100%; max-width:1920px; width: 100%; margin: 0 auto; padding: 0; position: relative;}
.page-header-item > picture {grid-row: 1; grid-column: 1; position:relative; z-index:10; line-height: 0;}
.page-header-item > picture > img {line-height: 0;}
.page-header-item > .page-header-caption {grid-row:1; grid-column:1; position: absolute; align-self: start; z-index:20; text-align: center;}
.page-header-item > .page-header-caption {display: grid; width:100%; max-width: 175px; margin:0 auto; left:0; right:0; grid-template-columns:1fr; grid-gap: 1rem; margin-top:21%;}
/**.page-header-item > .page-header-caption > .page-header-caption-text {max-width: 66%;}**/

.site-footer {font-size: 1rem;}
ul.footer-list, #four-o-four-menu {list-style: none; margin:0; padding:0;}
ul.footer-list li {display: grid; width:fit-content; margin:0 auto; margin-bottom:1rem; grid-template-columns: 1fr; grid-gap: 0.5rem; align-items: center;}
ul.footer-list li span:first-of-type {text-align: center;}
ul#footer-menu {margin:0; padding:0; list-style: none;}

.boxed-content {display: grid; height: 100%;  width: 100%; background-color: #ffffff;  border: 1px solid #1da6ac;  margin: 0 auto;text-align: center; padding: 2rem 1rem 0 1rem;}
.boxed-content > .boxed-content-img, .boxed-content > .boxed-content-img > picture, .boxed-content > .boxed-content-img > picture > img {line-height: 0; display: block; margin:0 auto;}

.whatsapp_btn {display: grid; grid-template-columns: 2rem auto; width: fit-content; margin: 0 auto; align-items: center; height: 100%; color:#103928; grid-gap:0.25rem;}
.whatsapp_btn .fab {font-size:2rem; color:#103928; background-color:#ffffff; text-align: center; border-radius: 50%; background-size:1rem;}
.whatsapp_btn span:last-of-type {font-size: 1.25rem; line-height: 2; font-weight: bold; font-family: Arial, Helvetica, sans-serif; color:#103928;}

#nb-mobi {display: block; background-color: #1da6ac; text-align: center; padding:1rem;} 
#nb-desk {display: none;}

@media screen and (min-width:768px) {
	.page-header-item > .page-header-caption {max-width: 250px;  margin-top:5rem;}
	.gallery-columns-4, .gallery-columns-8 {grid-template-columns: repeat(4,1fr);}
	.gallery-columns-6 {grid-template-columns: repeat(6,1fr);}
}

@media screen and (min-width: 978px) {
	#nav-bar {top:1rem;}
	h1, h2, h3, h4, h5, h6 {line-height: 2;}
	.menu-toggle {display: none;}

	.main-navigation ul {display: flex; list-style: none; padding: 0; width: 100%; flex-basis: auto; text-transform:none; align-items:center; max-width: 1440px; margin: 0 auto;}
    .main-navigation ul > li {flex: auto; position: relative; text-align:center;}
    .main-navigation ul > li > a {display: block; text-decoration: none; line-height:2.5; color: #ffffff;}

    .main-navigation ul.sub-menu {display: block; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); float: left; position: absolute; z-index: 99999; width: max-content; background: #ffffff; padding: 0.25rem 1rem; margin:1rem 0 0 0; visibility: hidden; opacity: 0; transition: visibility 0.4s ease-in-out, margin 0.4s ease-in-out, opacity 0.4s ease-in-out; text-transform:unset;}
    .main-navigation ul.sub-menu ul {top: 0; text-transform:unset;}
    
    .main-navigation ul.sub-menu li:hover > ul, .main-navigation ul.sub-menu li.focus > ul {visibility: visible; opacity: 1; margin:0rem;}
    .main-navigation ul li:hover > ul.sub-menu, .main-navigation ul li.focus > ul.sub-menu {visibility: visible; opacity: 1; margin:0rem;}

	.main-navigation ul#main-menu > li::after {bottom:0; left: 1px; content: ""; width:100%; background-color: #f7eee7; position: absolute; z-index: -1; height:0; transition: .5s;}
	.main-navigation ul#main-menu > li:hover::after {height: calc(100% + 1px); }

    .main-navigation ul.sub-menu > li a {transition: margin-left 0.25s ease-in-out;}
    .main-navigation ul.sub-menu > li:hover a {margin-left: 3%;}
    .main-navigation ul.sub-menu > li > a {width:95%; color: #ffffff; line-height:1.5; white-space: nowrap;}
    .main-navigation ul.sub-menu > li {display: block; text-align:left; padding: 0.5rem 0;}
    .main-navigation ul.sub-menu > li::after {display: none;}
    
	.main-navigation ul > li.current-menu-item > ul.sub-menu > li > a, .main-navigation ul li.current-menu-parent > ul.sub-menu > li > a {background:none; color:#e4f0ef; border-radius:unset;}
	.main-navigation ul > li.current-menu-item > a, ul.submenu > li.current-menu-item > a, .main-navigation ul li.current-menu-ancestor > a,  .main-navigation ul > li > a:hover  {color: #e4f0ef !important;}
	
    .main-navigation ul > li.menu-item-has-children {position: relative;}
    .main-navigation ul > li.menu-item-has-children > a {padding-right:0.65rem;}
    .main-navigation ul > li.menu-item-has-children > a::after {position: absolute; padding-top: 0.35rem; padding-left: 0.35rem; margin: 0 auto; content:'\f107'; font-family: 'Font Awesome 5 Free'; font-display:swap; font-weight: 900; font-size: 0.75rem;}
    ul.sub-menu > li > a::after {display: none;}
	.main-navigation ul > li:last-of-type > ul.sub-menu {left: unset; right: 0;}
	.main-navigation ul > li:last-of-type > ul.sub-menu > li {text-align: right;}
	.main-navigation ul > li:last-of-type > ul.sub-menu > li > a {width:100%;}
	.main-navigation ul > li:last-of-type:hover > ul.sub-menu {overflow: hidden;}
    
    .one_half:first-of-type, .two_quarter:first-of-type, .one_quarter:first-of-type, .three_quarter:first-of-type, 
	.one_third:first-of-type, .two_third:first-of-type, .one_fifth:first-of-type {margin-left: 0; clear: left;}
    .one_half, .two_quarter, .one_quarter, .three_quarter, .one_third, .two_third, .one_fifth {display: block; float: left; margin: 0 0 0 3.06748466257669%;}
    .one_half, .two_quarter {width: 48.46625766871166%;}
    .one_quarter {width: 21.69938650306748%;}
    .three_quarter {width: 74.23312883435584%;}
    .one_third {width: 31.28834355828221%;}
    .two_third {width: 62.47668711656442%;}
    .one_fifth {width: 17.29938650306748%;}

	.gallery-columns-8 {grid-template-columns: repeat(8,1fr);}
	
	.two-col-auto {grid-template-columns: auto auto;}
	.two-col, .four-col, .site-footer {grid-template-columns: 1fr 1fr;}
	.site-footer {text-align: left;}
	ul.footer-list li {margin:0; grid-template-columns: 25px auto;}
	ul#footer-menu {list-style:disc; margin:0 0 0 1.5rem;}
	.three-col {grid-template-columns: 1fr 1fr 1fr;}
	.full-width-grid {max-width: 100%;}
	#nb-mobi {display: none;}
	#nb-desk {display: block;}
	.page-header-item > .page-header-caption {max-width: 350px;}
	.so-me-grid {margin:0; padding-top:1rem;}
}

@media screen and (min-width: 1140px) {
	.page-header-item > .page-header-caption {max-width: 450px;}
	#content, .max-1440, .nested-grid, .site-footer {max-width: 98%;}
	.full-width-grid {width: 100%;}
}

@media screen and (min-width:1440px) {
	#content, .max-1440, .site-footer, .nested-grid {max-width: 1280px;}
}

@media screen and (min-width:1500px) {
	.page-header-item > .page-header-caption {max-width: 6000px;  margin-top:4rem;}
	.max-1440 {max-width: 1440px;}
	.full-width-grid {max-width: 1920px;}
}

@media screen and (min-width:1920px) {
	.wrapper {width: 100%; max-width: 1920px;}
}