/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/*
 * Global styles 
 */

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ysabeau:ital,wght@0,1..1000;1,1..1000&display=swap');
@import url(https://fonts.googleapis.com/css?family=Dancing+Script);
@import url(https://fonts.googleapis.com/css?family=WindSong);
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');


* {
	color: #333333;
	font-family: "Crimson Text", serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
}
#load {
    display: none !important;
}
/* Katherine logos */
.white-logo {
    filter: brightness(0) invert(1);
}

.subtitle p.elementor-divider__text {
    max-width: 900px;
    width: 75%;
    margin: 0px 15px;
    font-size: 18px;
    line-height: 1.5;
}
#property-select, #property-select-dunes {
    width: 175px;
}

/* direct overrides for some elemets */
select, 
input, 
input::placeholder {
	font-family: "Crimson Text", serif;
}

h1, h2, h3, h4, h5, h6,
#rooms-grid .entry-meta .category-link,
#rooms-grid .ele-entry-title
{
	font-family: "Ysabeau", sans-serif !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: normal !important;
	color: #333333;
}

h1, h2, h5, #rooms-grid .entry-meta .category-link {
	text-transform: uppercase !important;
}
h1, h1 * {font-size: 56px;}
h2, h2 *, .intro h1 {font-size: 40px;}
h3, h3 * {
	/* for posts */
	font-size: 32px;
}

h4, h4 *,
#rooms-grid .ele-entry-title
{
	font-size: 24px !important;
}

h5, h5 *, #rooms-grid .entry-meta .category-link {
	font-size: 16px !important;
	font-family: "Crimson Text", serif !important;
}
h6, h6 * {font-size: 12px;}

h1 span.number, h2 span.number, h3 span.number, h4 span.number, h5 span.number, h6 span.number {
   color: inherit !important;
    font-family: "Open Sans", sans-serif;
    font-size: 90% !important;
}
.elementor-icon i, .elementor-icon svg {
    width: auto;
    height: auto;
}
/*
 * anchors use the same style as text, with an underline
 */
a, 
.elementor a {
	color: #3B99B3; /* Mark changed color */
	font-family: "Crimson Text", serif;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-decoration: underline;
}

a:not(:has(img)):hover, 
.elementor a:not(:has(img)):hover {
	text-decoration: none;
	color: #006488;
}

body {
	background: #222222;
}

#page {
	background: #FFFFFF;
}

#header-logo a:hover {
	filter: none;
}
.header-logo .elementor-icon-wrapper {
	display: flex;
}
.hide {
	display: none;
}

.quote,
.quote div,
.quote div p
{
	color: #BEA89F;
	font-family: "WindSong", cursive;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25em;
	font-size: clamp(24px, 64px, 3.5cqi) !important;
}
.quote h1 {
    font-family: 'WindSong', cursive !important;
    text-transform: none !important;
	font-size: clamp(24px, 64px, 3.5cqi) !important;
	line-height: 1.25em;
}
.elementor-element .elementor-button,
.elementor-element .elementor-button.elementor-size-sm,
.elementor-widget-form .elementor-button, 
.elementor-widget-button .elementor-button,
.elementor-button,
button
{
	background: #3B99B3;
	text-decoration: none !important;
	border-radius: 30px;
	padding: 14px 42px;
	border: none;
}


.elementor-button .elementor-button-content-wrapper *,
.large-button .elementor-button-text,
.elementor-button span,
.elementor-button span span,
.button-link a.elementor-button,
button
{
	color: #FFFFFF !important;
	font-size: 18px;
	text-align: right;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-decoration: none !important;
	transform: scale(1);
	transition: ease 0.3s;
}

.large-button .elementor-button .elementor-button-content-wrapper *,
.large-button .elementor-button-text,
.large-button .elementor-button span,
.large-button .elementor-button span span,
.large-button button
{
	font-size: 24px;
}
.elementor-widget-form .elementor-button:hover, 
.elementor-widget-button .elementor-button:hover,
.elementor-button:hover,
.button-link a.elementor-button:hover,
button:hover
{
	background: #006488;
	box-shadow: 3px 6px 12px rgb(0 0 0/40%);
	transform: scale(1.05);
	transition: ease 0.3s;
}
.outline-button.on-dark a.elementor-button {
    border: solid 2px white;
    background: transparent;
}
.outline-button.on-dark a.elementor-button:hover {
    transform: none;
    box-shadow: none;
    background: white;
}
.outline-button.on-dark a.elementor-button:hover span {
    color: #286077 !important;
}

button.check-availability {
    background: transparent;
    border: white solid;
}
button.check-availability:hover {
    background: #006488;
    border-color: #006488;
}

.wpcf7 input[type="submit"]:hover {
	background: #006488 !important;
	box-shadow: 3px 6px 12px rgb(0 0 0/40%);
	transform: scale(1.05);
}

select, option {
	font-size: 16px;
	color: #FFFFFF;
	cursor: pointer;
}

select, select:not(.elementor-field) {
    padding: 10px 32px 10px 20px;
    background-color: rgba(40, 96, 119, 0.70);
    background-repeat: no-repeat;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: right 15px top 20px, right 10px top 20px;
    background-size: 5px 5px, 5px 5px;
	cursor: pointer;
}

#header-telephone a {
    text-decoration: none;
}
#menu-icon svg line {
    stroke: #286077 !important;
}
.large-selector select, .large-selector option {
	font-size: 24px;
}

#mobile-menu-div, #mobile-menu {
	display: none;
}

#mobile-menu {
	background: #FAFAFA;
	width:100%;
	height: 100%;
}

#mobile-menu li.menu-item:not(:last-child) {
	border-bottom: solid 1px #CDCDCD;
}

#mobile-menu li.menu-item a {
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
    padding: 10px 30px;
}
#mobile-menu li.menu-item a span {
    color: #3B99B3;
}

#mobile-menu li.menu-item a .menu-text {
	font-size: 24px;
}

#footer a, #footer a:hover,
#footer a span, #footer a span:hover {
	color: #FFFFFF;	
}


#footer li a, #footer li a:hover {
	font-size: 12px;
}


#footer-menu {
    list-style: none;
}

#footer-menu li {
    display: inline;
    padding: 0 10px;
    border-left: solid 1px #FFFFFF;
	color: #FFFFFF;
}

#footer-menu li a {
	text-decoration: none;
}

#footer-menu li:first-child {
    border-left: none;
}

.inset-row::after {
    box-shadow: inset 0px 50px 50px -50px #000, inset 0px -50px 50px -50px #000;
    z-index: 10;
    background: transparent;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	pointer-events: none;
}
.elementor-share-btn {
    aspect-ratio: 1 / 1;
    height: 2.5em !important;
}
/*
 * Mark took liberties with
 */
input {
	color: #286077;
	background: #BDDCE5;
	border: solid 1px #286077;
	font-size: 16px;
	padding: 12px;
	border-radius: 3px;
}

#hero {
	min-height:calc(100vh - 97px);
}

.inverse-button .elementor-button .elementor-button-content-wrapper *, 
.inverse-button .large-button .elementor-button-text, 
.inverse-button .elementor-button span, 
.inverse-button .elementor-button span span, 
.inverse-button button 
{
	color: #286077 !important;
}

.inverse-button .elementor-element .elementor-button, 
.inverse-button  .elementor-element .elementor-button.elementor-size-sm, 
.inverse-button  .elementor-widget-form .elementor-button, 
.inverse-button .elementor-widget-button .elementor-button, 
.inverse-button  .elementor-button
{
	background: transparent !important;
    border: solid 1px #286077 !important;
}


.inverse-button .large-button .elementor-button-text:hover, 
.inverse-button button:hover, 
.inverse-button  .elementor-element .elementor-button.elementor-size-sm:hover, 
.inverse-button  .elementor-button:hover
{
	transform:none;
	box-shadow: none;
	background: #006488;
}

#review-bar p {
	font-size: 24px;
}

.njt-fr-starslist-current {
    display: none;
}
.sanibel-reviews, .song-reviews, .dunes-reviews {
    border: solid 2px;
    color: white;
    padding: 10px 20px;
    border-radius: 50px;
	transition: ease .3s;
}
.sanibel-reviews:hover, .song-reviews:hover, .dunes-reviews:hover {
    background: white;
    color: #286077;
    border-color: white;
}
.dunes-reviews.alt {
    background: #3B99B3;
    text-decoration: none !important;
    border-radius: 30px;
    padding: 14px 42px;
    border: none;
    display: inline-block;
    margin: auto;
    line-height: 1.25;
}
.dunes-reviews.alt:hover {
    background: #006488;
	color: white;
    box-shadow: 3px 6px 12px rgb(0 0 0 / 40%);
    transform: scale(1.05);
}
.njt-google-places-reviews-wap {
    border-top: none;
}
.njt-review-avatar {
    display: none;
}
.njt-review .njt-review-info {
    margin-left: 0;
}
.njt-review {
    border-bottom: solid #ccc;
    padding: 10px 0;
}
.njt-read-all-reviews a {
    border: solid 2px;
    padding: 10px 20px;
    border-radius: 50px;
    text-decoration: none;
}
.njt-read-all-reviews {
    margin: 20px 0 30px 0;
    text-align: center;
}
.njt-google-places-reviews-wap > a {
    text-align: center;
    display: block;
}
.pum-theme-7668 .pum-content + .pum-close, .pum-theme-flyout .pum-content + .pum-close {
	color: #505050 !important;
}
.pum-container.pum-scrollable .pum-content {
    max-height: 100%;
}
a.btn-reivew span {
    pointer-events: none;
    font-size: inherit;
    color: inherit;
    text-decoration: inherit;
}
.njt-review .njt-review-content a {
    font-size: 18px;
    color: #3B99B3;
    text-decoration: underline;
    text-transform: capitalize;
	transition: ease .3s;
}
.njt-review .njt-review-content a:hover {
	color: #006488
}
.njt-google-places-reviews-wap {
	padding: 0;
}
.njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-starslist-background .njt-fr-star {
    background-image: none !important;
}
.njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-starslist-background .njt-fr-star:after {
    content: "";
    font-family: 'FontAwesome';
	color: #BEA89FB3;
}
.njt-review .njt-review-info .grp-reviewer-name span {
    font-family: 'Ysabeau';
    text-transform: uppercase;
}
.njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-starslist-current, .njt-fr-starslist-wrapper .njt-fr-starslist-background {
    display: flex;
    gap: 5px;
}
.njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-star {
    width: 20px;
    height: 20px;
    background-size: 100%;
    line-height: 1;
    background-image: none !important;
    margin: 0 !important;
}
.njt-fr-star:after {
    content: "";
    content: "";
    font-family: 'FontAwesome';
    color: #daa520;
}
.njt-google-places-reviews-wap .njt-fr-starslist-wrapper .njt-fr-starslist-background .njt-fr-star:after {
    content: "";
    font-family: 'FontAwesome';
    color: #BEA89FB3;
}
.theme-7668.pum-container {
    top: 0 !important;
}
.pum-theme-flyout {
    display: block !important;
    visibility: visible !important;
    pointer-events: none !important;
    opacity: 1 !important;
}
.pum-theme-flyout.pum-active {
    pointer-events: all !important;
}
.pum-theme-flyout .pum-container {
    left: -110% !important;
    top: 0 !important;
    transition: ease .5s;
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
	width: 400px;
}
.pum-theme-flyout .pum-container.active {
    left: 0 !important;
}
#sign-up-form {
	width: 400px;
	text-align: center;
}
.wpcf7 input:not([type="submit"]), .wpcf7 textarea {
    margin-bottom: 12px;
    width: 100%;
    color: #222 !important;
    background: rgb(255 255 255 / 80%) !important;
    border: none !important;
    font-family: "Crimson Text", serif;
}
input[type="text"]::placeholder, textarea::placeholder, input[type="search"]::placeholder, input[type="tel"]::placeholder, input[type="url"]::placeholder, input[type="email"]::placeholder, input[type="number"]::placeholder, input[type="date"]::placeholder, input[type="range"]::placeholder, input[type="password"]::placeholder, .elementor-field-group .elementor-field-textual::placeholder {
    opacity: .65;
    color: #222;
}

.wpcf7-form input[type="submit"] {
    background: #3B99B3;
    margin: auto;
    text-align: center;
    display: block;
    font-family: 'Crimson Text' !important;
    padding: 14px 42px !important;
	font-size: 18px !important;
}

#sign-up-form button {
	border: none;
	opacity: 0.9;
	padding: 12px 60px;
}

#rooms-grid .post-entry-body {
	display: flex;
	flex-direction: column;
}
.wpcf7 p {
    position: relative;
	margin: 0;
}
.on-image .wpcf7 p {
	color: white;
}
.wpcf7 span.required {
    color: white;
}
.wpcf7-not-valid-tip {
    display: block;
    margin-top: -10px;
    margin-bottom: 10px;
    color: white;
}
.cf7-row {
    display: block;
}
.cf7-row:after {
    content: "";
    clear: both;
    display: block;
}
.one-col-input {
    width: 100%;
    float: left;
    padding: 0 10px;
}
.two-col-input {
    width: 50%;
    float: left;
    padding: 0 10px;
    margin-bottom: 10px;
}
.three-col-input {
    width: 33.3334%;
    float: left;
    padding: 0 10px;
    margin-bottom: 10px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
    height: 80px;
} 
.wpcf7-spinner {
	position: absolute;
    top: 50%;
    transform: translate(100px, -50%);
    right: 0;
    left: 0;
    margin: auto;
}
.popup-message-style .parentFormundefined, .inline-message-style .parentFormundefined, .popup-message-style .wpcf7-mail-sent-ok, .inline-message-style .wpcf7-mail-sent-ok, .popup-message-style .wpcf7-validation-errors, .inline-message-style .wpcf7-validation-errors, .popup-message-style .wpcf7-response-output, .inline-message-style .wpcf7-response-output {
    background: white;
}
.popup-message-style #page .wpcf7-mail-sent-ok:before, .popup-message-style #page .wpcf7-response-output.run-animation:before, .popup-message-style #page .wpcf7-validation-errors:before {
	display: none;
}
.card-button-bottom .elementor-widget-button {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    padding-bottom: 60px;
}
.card-button-bottom {
    padding-bottom: 120px;
}
/**
 * supposed to be same styling as H5
 */
#rooms-grid .entry-meta .category-link {order: 1;}
/**
 * supposed to be same stlying as H4
 */ 
#rooms-grid .ele-entry-title {order: 2;}
#rooms-grid .entry-excerpt {order: 3;}

#rooms-grid * {
	color: #FFFFFF !important;
}
/**
 * post category name
 */
#rooms-grid .post-entry-body .entry-meta {
	margin-bottom: 0;
}

/**
 * Mark adds, not on style guides
 */
a:hover, 
.elementor a:hover
{
	color: #286077;
	/*color: #BDDCE5;*/
}

.no-margin, .no-margin * {
	margin: 0 !important;
}

.no-padding, .no-padding * {
	padding: 0 !important;
}

.esg-entry-skin-washington .esg-media-poster {
    transition: .5s
}
.esg-entry-skin-washington .esg-hovered .esg-media-poster {
    transform: scale(1.1) !important;
}
input.eg-search-input, span.eg-search-submit {
    display: none !important;
}
span.eg-search-clean {
    background: transparent !important;
    border: none !important;
}
i.eg-icon-cancel {
    color: white;
}
span.eg-search-clean:after {
    content: "clear filters";
    color: white;
    font-family: 'Crimson Text', serif;
    font-weight: 400;
    font-size: 18px;
    font-style: italic;
    position: absolute;
    left: -12px;
    bottom: -15px;
}
.minimal-light .esg-filter-wrapper.eg-search-wrapper .eg-search-clean.hovered {
	box-shadow: none !important;
}
#offers-carousel .img-css-resize-wrapper {
	max-height: 400px;
}

#offers-carousel h3.ele-entry-title span {
	font-size: 18px;
}

#offers-carousel .entry-excerpt p {
	font-size: 14px;
}

#review-carousel h4,
#review-carousel div {
	font-family: "Crimson Text", serif !important;
}

/* ROOM RESULTS PAGE */
#room-esg-filters {
	text-align:center;
}

#room-esg-filters .esg-filter-wrapper {
	margin: 0 30px;
} 
#room-esg-filters .esg-selected-filterbutton  {
	background: #FFF;
	border: none;
	padding: 5px 30px;
}
#room-esg-filters .esg-selected-filterbutton span,
#room-esg-filters .esg-selected-filterbutton i {
	color: #286077;
}

#room-esg-filters .minimal-light .esg-filterbutton.selected .esg-filter-checked, 
#room-esg-filters .minimal-light .esg-filterbutton.hovered .esg-filter-checked {
    color: #fff;
    background: #286077;
}
#room-esg-filters .minimal-light .esg-filter-checked {
    font-size: unset;
    display: inline-block;
    height: 25px;
    width: 25px;
    background: transparent;
}

#room-esg-filters .eg-icon-ok-1:before {
    color: white;
    top: 3.5px;
    position: absolute;
}

/**
 * ROOM PAGE
 */
#room-beds li:not(:last-child) span.item-content:after 
{
	content: ',';
	margin-right: 6px;
}

#room-amenities span.item-content {
    font-size: 16px;
    padding: 3px 9px;
}

#room-amenities span.item-content i {
    margin-right: 9px;
    color: #bea89f;
    font-size: 24px;
    vertical-align: middle;
}

#room-amenities li {
    width: 200px;
	margin: 0;
	padding: 0;
	justify-content: left;
}

#room-amenities ul {
    margin: 0;
	padding: 0;
}

#amenities-list li {
	list-style: none;
	float: left;
	width: 280px;
	margin-bottom: 24px;
}
.amenity-icon {
    height: 30px;
    width: 30px;
    display: inline-block;
	text-align: center;
    vertical-align: middle;
    margin-right: 12px;
}

.amenity-icon.icon-balcony { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-balcony.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-hair-dryer { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-hair-dryer.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-iron { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-iron.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-kitchen { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-kitchen.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-news-paper { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-news-paper.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-pool { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-pool.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-safe { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-safe.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-sofa { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-sofa.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-table { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-table.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-tv { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-tv.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-wifi { background: url('https://ios-dev.jcmclients.com/wp-content/uploads/2024/07/icon-wifi.png'); background-size: 30px; background-repeat: no-repeat;}
.amenity-icon.icon-gulf { background: url(https://ios-dev.jcmclients.com/wp-content/uploads/2024/09/icon-gulf.png); background-size: 30px; background-repeat: no-repeat;}

/**
 * room availability form
 */
#check-room-availability-form {

}

#check-room-availability-form input{
	background: rgba(255, 255, 255, 0.70) !important;
	color: #286077;
	width: 240px;
	font-family: "Crimson Text", serif;
}

#check-room-availability-form input:not(:last-child){
	margin-right: 50px;
}

#sanibel-inn-selector, #song-of-the-sea-selector, #the-dunes-selector {
	cursor: pointer;
}

#sanibel-inn-selector.selected {
	background: #286077;
}
#song-of-the-sea-selector.selected {
	background: #3B99B3;
} 
#the-dunes-selector.selected {
	background: #BEA89F;
}

/* activities grid */
/*
#activities-grid  { background: red; }
#activities-grid ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

#activities-grid ul li {
	display: flex;
	background: purple;
}

#activity-gallery *:hover,
h3 a{
	filter: brightness(1) !important;
}

#activity-gallery .elementor-gallery-item__overlay {
	opacity: 0;
}
*/
#activity-intro .elementor-widget-container {
	column-count: 2;
	column-gap: 40px;
	text-align: justify;
}

#other-activities .wf-cell {
	background: #f5f5f5;
}

#other-activities .wf-cell .post-entry-content {
	padding: 20px;	
}

.sixteen-by-nine img {
	aspect-ratio: 16/9;
	object-fit: cover;
}

/* menu */
#menu-icon {
    cursor: pointer;
}
body.overflow-hidden {
	overflow: hidden;
}
#page {
	transition: transform .7s cubic-bezier(.645,.045,.355,1), -webkit-transform .7s cubic-bezier(.645,.045,.355,1);
	z-index: 10;
}
.animate-menu #page {
    transform: translateX(-190px) rotateY(45deg) translateZ(0);
    transform-origin: 50% 50%;
    position: absolute !important;
    left: 0;
    top: 0;
    width: 100%;
	overflow: visible;
}
body.animate-menu {
    overflow: hidden;
}
.animate-menu #door-menu {
    visibility: visible;
    overflow: scroll;
}
body.animate-menu-body {
	-webkit-perspective: 1500px;
    perspective: 1500px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
#door-menu {
    position: fixed;
    height: 100vh;
    display: flex;
    align-items: center;
    padding-right: 2.5%;
	z-index: 5;
	right: 0;
	visibility: hidden;
}
.animate-menu #door-menu {
    visibility: visible;
}
.animate-menu #door-menu li {
    transform: translate(0, 0);
}
#door-menu ul{
	margin-right: 20px;
}
#door-menu li {
    transform: translate(200%, 0);
    transition: ease .7s;
    margin-bottom: 1.5em;
    max-width: 400px;
}
#door-menu li:last-child {
    margin-bottom: 0;
}
/*
 * door menu update
 */
#door-menu li.sanibel-inn, 
#door-menu li.song-of-the-sea, 
#mobile-menu li.sanibel-inn, 
#mobile-menu li.song-of-the-sea {
	display:none;
}

body.selected-property.sanibel-inn #door-menu li.sanibel-inn,
body.selected-property.sanibel-inn #mobile-menu li.sanibel-inn {
	display:block;
}
body.selected-property.song-of-the-sea #door-menu li.song-of-the-sea,
body.selected-property.song-of-the-sea #mobile-menu li.song-of-the-sea{
	display:block;
}


#door-menu li a {
    font-size: 40px;
    text-decoration: none;
    line-height: 1;
    color: #FFFFFF;
    max-width: fit-content;
    position: relative;
    transition: ease .3s;
}
#door-menu li a:after {
    content: '';
    border-bottom: solid 3px #fff;
    transform: scaleX(0);
    transition: transform 250ms ease-in-out;
    position: absolute;
    bottom: -3px;
    width: 100%;
    left: 0;
}

#door-menu li a:hover {
	color: #fff;
}

#door-menu li a:hover:after {
	transform: scaleX(1);
	transform-origin:  0% 50%;
}

#door-menu.door-close-right {
	animation-name: exit-menu;
  	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes enter-menu {
	from {right: -33%}
	to {right:0;}
}

@keyframes exit-menu {
	from {right: 0}
	to {right: -33%;}
}

@keyframes open-door {
	from {transform: translateX(0px) rotateY(0deg) translateZ(0);}
	to {transform: perspective(1800px) translateX(-190px) rotateY(45deg) translateZ(0);}
}

@keyframes close-door {
	from {transform: perspective(1800px) translateX(-190px) rotateY(45deg) translateZ(0);}
	to {transform: translateX(0px) rotateY(0deg) translateZ(0);}
}

#source-menu {
	display:none;
}

.banner-card > .elementor-element > .e-con-inner > .elementor-element {
    backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
.blur-bg {
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
/* Global Elements */
.jcm-carousel .owl-stage-outer {
    transform: scale(1.25);
    transform-origin: top left;
}
.jcm-carousel h3 a {
    font-size: 28px;
    font-family: "Ysabeau", sans-serif !important;
    text-transform: uppercase;
	line-height: 1;
}
.jcm-carousel.elementor-widget.elementor-widget-the7_elements_carousel .ele-entry-title {
    margin-bottom: 0;
    line-height: 1 !important;
}
.jcm-carousel .entry-meta:after {
    content: "";
    display: block;
    height: 1px;
    width: 30px;
    background: #ababab;
    margin-top: 10px;
}
.jcm-carousel .entry-excerpt {
    margin-bottom: 0 !important;
}
/* Home */
.sandy-bg .elementor-motion-effects-container {
    background-image: url(https://ios-dev.jcmclients.com/wp-content/uploads/2024/06/sandy-gradient-2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}

.esg-layout-even .esg-entry-content {
    display: block!important;
}
.esg-entry-skin-ronald-reagan .esg-overflowtrick,
.esg-entry-skin-ronald-reagan-2 .esg-overflowtrick {
    overflow: visible!important;
	height: 100% !important;
}

/* Team Page */
.esg-grid .mainul {
    display: flex !important;
    height: unset !important;
    flex-wrap: wrap !important;
    padding: 20px;
    flex-direction: row;
}
.esg-grid .mainul li.eg-ronald-reagan-wrapper,
.esg-grid .mainul li.eg-ronald-reagan-2-wrapper{
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    left: unset !important;
    position: relative;
    top: unset ! important;
    flex: 1 1 33.3334% !important;
	width: 33.3334% !important;
	max-width: 33.3334% !important;
    padding: 20px !important;
    flex-direction: column !important;
}
.esg-media-cover-wrapper {
    height: 100%;
    background: #FBFBFB;
}
#team-member-grid .esg-entry-content,
#experiences-grid .esg-entry-content
{
    background: transparent;
}
/* name */
#team-member-grid .eg-ronald-reagan-element-11,
#experiences-grid .eg-ronald-reagan-2-element-11 {
	font-size: 32px !important;
	font-family: "Ysabeau", sans-serif !important;
	font-weight: normal !important;
}
/* title */
#team-member-grid .eg-ronald-reagan-element-13,
#experiences-grid .eg-ronald-reagan-2-element-13 {
	display: block;
	text-align: center;
	font-family: "Crimson Text" !important;
	font-size: 16px !important;
	font-weight: normal;
	text-transform: uppercase;
}
/* description */
#team-member-grid .eg-ronald-reagan-element-5, 
#experiences-grid .eg-ronald-reagan-2-element-5 {
    font-family: "Crimson Text", serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 0 5%;
    border: none;
    overflow: hidden;
   /* display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical; */
    margin: 20px 0;
}

#room-data {
	display: none;
}

/* button */
#experiences-grid .esg-entry-content {
    padding-bottom: 90px;
}
#experiences-grid .eg-ronald-reagan-2-element-14-a {
    position: absolute;
    left: 10px;
    right: 10px;
    margin: auto;
    width: fit-content;
    bottom: 30px;
}
#experiences-grid .eg-ronald-reagan-2-element-14 {
	background: #3B99B3;
    border-radius: 30px;
    padding: 14px 42px;
	text-transform: none;
	color: #FFFFFF !important;
    font-size: 18px;
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration: none !important;
	transform: scale(1);
	transition: ease 0.3s;
}
#experiences-grid .eg-ronald-reagan-2-element-14:hover {
	font-weight: normal;
	text-transform: none;
	font-size: inherit;
	font-family: inherit;
	background: #006488;
	box-shadow: 3px 6px 12px rgb(0 0 0/40%);
	transform: scale(1.05);
	transition: ease 0.3s;
}
#experiences-grid .eg-ronald-reagan-2-element-14 p {
    color: white;
    font-weight: 600;
    margin: 0;
}
#about-us-pods a {
    text-decoration: none;
}

/* community involvement */

.community-involvement-row a {
    text-decoration: none;
}

#faqs h3 {
	color: #3B99B3;	
}

body.selected-property.song-of-the-sea #sanibel-inn-gallery,
body.selected-property.song-of-the-sea #song-of-the-sea-gallery h2,
body.selected-property.sanibel-inn #song-of-the-sea-gallery,
body.selected-property.sanibel-inn #sanibel-inn-gallery h2, 
body.selected-property.song-of-the-sea #sanibel-inn-offers,
body.selected-property.song-of-the-sea #song-of-the-sea-offers h3,
body.selected-property.sanibel-inn #song-of-the-sea-offers,
body.selected-property.sanibel-inn #sanibel-inn-offers h3

{
	display:none;
}

/* blog/news/packages and offers */
.post-template-default div#content {
    max-width: 900px;
    margin: auto;
}

#news-list .wf-cell, 
#blog-grid .wf-cell, 
#song-of-the-sea-offers .wf-cell,
#sanibel-inn-offers .wf-cell {
	background: #FBFBFB;
}

#blog-grid .wf-cell .post-content-wrapper,
#song-of-the-sea-offers .wf-cell .post-content-wrapper,
#sanibel-inn-offers .wf-cell .post-content-wrapper {
	flex-direction: column;
}

#news-list .wf-cell .the7-simple-post-thumb {
	width: 300px;
}

#song-of-the-sea-offers .wf-cell .the7-simple-post-thumb,
#sanibel-inn-offers .wf-cell .the7-simple-post-thumb
{
	height: 480px;
}

#blog-grid .wf-cell .the7-simple-post-thumb,
#song-of-the-sea-offers .wf-cell .the7-simple-post-thumb,
#sanibel-inn-offers .wf-cell .the7-simple-post-thumb
{
	width: 100%;
}

#blog-grid .wf-cell .the7-simple-post-thumb img {
	height: 300px;
}

#blog-grid .wf-cell .post-entry-content,
#song-of-the-sea-offers .wf-cell .post-entry-content, 
#sanibel-inn-offers .wf-cell .post-entry-content {
	width: 100%;
	display: block;
	text-align: center;
	margin: 48px 0;
}

#blog-grid .wf-cell .post-entry-content .entry-meta .meta-item.data-link,
#sanibel-inn-offers .wf-cell .post-entry-content .entry-meta .meta-item.data-link,
#song-of-the-sea-offers .wf-cell .post-entry-content .entry-meta .meta-item.data-link {
	text-align: center;
	font-style: italic;
}

.button-link a.elementor-button,
#blog-grid a.elementor-button,
#sanibel-inn-offers a.elementor-button,
#song-of-the-sea-offers a.elementor-button,
#news-list a.elementor-button,
#blog-grid a.elementor-button:visited,
#sanibel-inn-offers a.elementor-button:visited,
#song-of-the-sea-offers a.elementor-button:visited,
#news-list a.elementor-button:visited {
	color: white;
	background-color: rgb(59,153,179);
}

#contact-form-div {
	margin: 45px 0 60px;
	padding: 60px;
	background: #EFE5DFCC;
}

#contact-form-div select,
#contact-form-div input {
	max-width: 600px;
}
#contact-form-div textarea {
	height: 240px;
	resize: vertical;
}

#directions-buttons a {
    min-width: 300px;
}
.map-row .elementor-widget-html {
    overflow: hidden;
}
.map-row iframe {
    margin-top: -49px;
}
.map-embed iframe {
    min-height: 780px;
}
/* esg chnages */
/* Rooms template */
.swiper-slide:not(.swiper-slide-active) {
    filter: brightness(0.5);
}
#more-rooms img {
	height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
/*rooms grid*/
ul .eg-washington-element-13 {
    font-family: "Ysabeau", sans-serif !important;
}
.esg-overlay.esg-transition.eg-washington-container {
		display:none !important;
	}
	
	.eg-washington-element-14 {
		font-size: 1.5cqw !important;
		line-height: 1.25cqw !important;
        /*background: rgba(0, 0, 0, 0.4) !important;*/
        margin: 0 !important;
        padding: 0 !important;
	    text-transform: none !important;        
	}
	
	li .eg-washington-element-13 {
		font-size: 1.25cqw !important;
		margin: 0 0 5px 0 !important;
		padding: 0px !important;
		line-height: 1.25em !important;
	}
	
	.esg-entry-skin-washington li .esg-cc.eec {
		background: rgb(0 47 64 / 65%) !important;
		backdrop-filter: blur(5px);
		padding: 7px 0 10px 0;
	}
	
	.eg-washington-wrapper .esg-entry-cover.esg-transition {
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 2 !important;
	}
	
	.eg-washington-wrapper .esg-cc.eec {
		
		margin-top: 27%;
	}
	
	.eg-washington-wrapper .esg-line-break {
		display: none;
	}

.elementor[data-elementor-post-type="blog-post"] > div:first-child {
   Background: #F1E8E8CC;
   Margin: 0 0 24px 0;
   Padding: 24px 0px 0px 0px;
}


/* Media Queries */
@media only screen and (max-width: 1290px) {
	#right-header-menu {
		justify-content: end;
		align-items: end;
	}
	#right-header-menu.e-con.e-flex>.e-con-inner {
		flex-direction: column;
		gap: 10px;
		margin: 15px;
		max-width: 220px;
	}
	#menu-icon {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translate(0px, -50%);
	}
	#right-header-menu.e-con.e-flex>.e-con-inner > * {
		align-self: center;
	}
}

@media only screen and (max-width: 767px) { /* mobile devices */
	.map-embed iframe {
    	min-height: 350px;
	}
	#right-header-menu {
        justify-content: center;
        align-items: center;
    }
        #right-header-menu.e-con.e-flex>.e-con-inner {
        flex-direction: column;
        gap: 0;
        margin: 10px 0 0 0;
        max-width: unset;
    }
	
	
	
	.esg-grid .mainul li.eg-ronald-reagan-wrapper {
		flex: 1 1 50% !important;
		width: 50% !important;
		max-width: 50% !important;
	}
	.card-button-bottom {
    	padding-bottom: 40px;
	}
	.card-button-bottom .elementor-widget-button {
    	position: relative;
    	padding-bottom: 0;
	}
	#directions-buttons {
		margin-top: 24px;
	}
	
	#directions-buttons a {
		min-width: 400px;
	}
	#menu-icon {
		display: none;
	}
	
	#mobile-menu-div, #mobile-menu-icon {
		display:block;
	}
	
	#booking-form-div.in-header,
	#booking-form-div.in-body {
		
		height: 50vh !important;
		top: 5vh !important;
		left: 10% !important;
		width: 80% !important;
		min-height: 400px !important;
	}
	
	body.booking-overlay {
		overflow: scroll !important;
	}
}

@media only screen and (max-width: 600px) {
	h2, h2 *, .intro h1 {
    	font-size: 32px;
	}
	li .eg-washington-element-13 {
		font-size: 4cqw !important;
		margin: 0 !important;
		z-index: 5 !important;
	}
	
	.esg-entry-skin-washington li .esg-cc.eec {
		background: none;
	}
	
	.eg-washington-element-14 {
		font-size: 3cqw !important;
        margin: 0 !important;
        padding: 20px 0px !important;
	}
	
	.elementor-element:not(.elementor-motion-effects-element-type-background).banner-card {
		 background-position: top center !important;
		background-size: 100% auto !important;
		
	}
	
	#room-amenities ul {
		column-count: 2;
		display: inline-block;
	}
	
	#room-amenities li {
		width: 100%;
		margin-bottom: 20px;
	}
	
	#footer-menu ul{
		/*column-count: 2;*/
		display: block;
		text-align: center;
	}
	
	#menu-icon{
		position:absolute;
		margin-top: -100px;
		right: 10px;
	}
	
	#footer-menu {
		text-align: left;
	}
	
	#footer-menu li {
		display: inline-block;
		border:none;
	}
	
	#check-room-availability-form {
		text-align: center;
	}
	
	#check-room-availability-form input{
		margin: 0 0 20px 0 !important;
	}
	
	#more-rooms h3{
		text-align: center;
	}
    .esg-entry-cover,
    .esg-entry-cover .esg-overlay {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }
	
	.eg-washington-container {
		background: rgba(0,0,0,0.45) !important;
	}
	
	#activity-intro div p, #activity-intro .elementor-widget-container  {
		column-count: 1;
		text-align: justify;
	}
	.esg-grid .mainul li.eg-ronald-reagan-wrapper,
	.esg-grid .mainul li.eg-ronald-reagan-2-wrapper {
		flex: 1 1 50% !important;
	}
	.three-col-input, .two-col-input {
		width: 100%;
	}
	.popmake.theme-7668 {
    	width: 90% !important;
	}
	#popmake-6545 {
    	top: 2.5% !important;
	}
}

@media only screen and (max-width: 480px) { /* mobile devices */
	.eg-washington-element-14 {
        font-size: 4.75cqw !important;
        margin: 0 !important;
        padding: 10px 0px !important;
    }
	
	.jcm-carousel .owl-stage-outer {
		transform: scale(1.8);
		margin-bottom: 20%;
	}
	.jcm-carousel.elementor-widget.elementor-widget-the7_elements_carousel .post-entry-content {
		padding: 15px;
	}
	.jcm-carousel h3 a {
		font-size: 16px;
	}
	.owl-carousel .entry-meta * {
		font-size: 12px;
	}
	#offers-carousel .entry-excerpt p {
		font-size: 10px;
	}
	
	.esg-grid .mainul li.eg-ronald-reagan-wrapper,
	.esg-grid .mainul li.eg-ronald-reagan-2-wrapper{
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

}