/*
Theme Name: Nifty 2024
Template: twentytwentyone
Author: Nifty Development
Author URI: https://niftymarketing.com/
Description: A lightweight theme for use of our clients.
Version: 2.0
*/
/*Theme Variables*/
:root{
	/*site colors*/
	--color-1: #348081;
	--color-2: #0a2e4c;
	--color-3: #ebaa3f;
	--white: #ffffff;
	--black: #000000;
	--blue: #7cb0ff;
	--dark-blue: #091b37;
	--dark-blue-v2: #062f6e;
	--dark-blue-v3: #071429;
	--dark-blue-bg: #0e141f;
	--gray-blue: #848d9b;
	--gray-blue-v1: #2a3952;
	--gray-blue-v2: #555555;
	--gray-blue-v3: #8d8d8d;
	--light-blue: #d7e7ff;
	/*font sizes*/
	--fsize-xl: clamp(40px, 4vw, 75px);
    --fsize-lg: clamp(48px, 11vw, 138px);
	--fsize-md: clamp(28px, 2.2vw, 40px);
	--fsize-sm: clamp(20px, 1.6vw, 30px);
	--fsize-default: clamp(16px, 1vw, 18px); /*ADA requires at least 16px*/
	/*font families*/
	--heading-font: "Big Shoulders Display", serif;
	--text-font: "DM Sans", sans-serif;
	--host-font: "Host Grotesk", sans-serif;
	--dm-sans: "DM Sans", sans-serif;
	--albert-font: "Albert Sans", sans-serif;
}
/*Default Overall Styles*/
html, body{scroll-behavior: smooth; font-size: var(--fsize-default); font-variant-ligatures: none; overflow-anchor: none;}
body{margin:0; -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-family: var(--text-font);line-height: 1.5em;}
*{box-sizing: border-box; -webkit-appearance: none;font-family:inherit;}
/* lazy loading flow fixes */
img{object-fit:contain;min-width:1px;}
a{color: var(--dark-blue);text-decoration:none;transition: ease all .25s;}
nav a:hover,
.language-switcher-dropdown a:hover {color: var(--blue)}
nav a {padding: .25em;}
article a {text-decoration: underline;text-underline-position: under;text-decoration-thickness: 2px;}
code, pre, kbd, samp {font-family: monospace;}
/*Font Defaults*/
h1, h2, h3, h4, h5, h6{font-family: var(--heading-font); line-height: 1.25em;margin-bottom:0.5em;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.5em;}
h1{font-size:var(--fsize-xl);}
h2{font-size:var(--fsize-lg); letter-spacing: -.032em; font-weight: 400; text-transform: uppercase;}
h3{font-size:var(--fsize-md);}
h4{font-size:var(--fsize-sm);}
ul {list-style: none;}
ul.modified-list li {position: relative;}
ul.modified-list li:after {content:''; position: absolute; top: 12px; left: -18px; width: 6px; height: 6px; background-color: var(--blue);}
ul.modified-list a {text-decoration: none; color:  var(--blue);}
ul.modified-list a:hover {color:  var(--dark-blue);}
/*Layout*/
.section-padding{padding: 5% 0;}
.content-width{width: 1800px; max-width: 90%; padding: 0 15px; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
.container {width: 1242px; max-width: 100%; padding: 0 15px; margin: 0 auto;}
/* ADA header */
.masthead{background: transparent; padding: 15px 25px; color: var(--white)}
.masthead a {color: inherit;}
.masthead ul{list-style: none;}
.skip-bar{position: absolute; display: block; width: 100%; text-align: center; height: 0; overflow: hidden; background:white; color:black; font-weight:600; top: 0; left: 0; z-index: 10;}
.skip-bar:focus{height: auto; padding: 20px;}
.inner-masthead{justify-content: space-between;}
.logo-container{width: 15%;}
.header-content {width: 85%;}
.logo-container img {max-width: 100%; width: 154px; height: auto;}
.mobile-nav-input{display: none;}
#menu-main{padding: 0; text-transform: uppercase;}
/*.masthead ul .current-menu-item > a:first-child, .masthead ul .current-menu-ancestor > a:first-child{color:var(--dark-blue)}*/
.menus{ justify-content: flex-end;padding: .5em 0}
.header-call-box{display:flex; align-items:start; justify-content:flex-end; gap:5px;font-size:.9em;flex-direction:column;}
.header-call-box .indiv-phone{display:flex;gap: 10px; align-items:center;font-weight:bold;}
.header-phone-number svg{width:25px; height:25px;}
#menu-main > li .sub-menu a{padding:.25em .5em .25em 0;}
.masthead .content-wrapper{margin-bottom:0;}
.content-wrapper {justify-content: end; gap: 24px; margin-bottom: 5px; align-items: center;}
.language-switcher-dropdown {margin: 0; gap: 18px; padding: 0;}
.language-switcher-dropdown li a {display: flex; align-items: center; gap: 8px;}
.language-switcher-dropdown li span,
.language-switcher-dropdown li a {display: flex; line-height: 1;}
.language-switcher-dropdown li a:not(.active) {color:  var(--gray-blue);}
.nav-translation .glink img {display: none;}
.nav-translation a.glink.gt-current-lang{font-weight:normal;}
.language-switcher-dropdown img {width: 24px;height: 24px;}
.language-switcher-dropdown li a.gt-current-lang {color: white;font-weight: normal;}
.main-nav {text-transform: uppercase; letter-spacing: -.015em;}
.main-nav a {font-weight: 500; transition: color .3s;}
.masthead .nav-translation a {padding-right: 0;}
/* Replace the English flag image */
.glink[data-gt-lang="en"] img {
    content: url('/wp-content/uploads/2025/04/en.webp');
}
/* Replace the Spanish flag image */
.glink[data-gt-lang="es"] img {
    content: url('/wp-content/uploads/2025/04/es.webp');
}
@media (min-width: 1001px){
	/* 	"FIXED" IS AN ANIMATEABLE CLASS FOR SMOOTH ANIMATION ON MASTHEAD */
		.masthead.fixed{position: fixed; left: 0; width: 100%; z-index: 1000; top: 0;}
		.masthead.fixed:before{content: ''; position: absolute; top: 0%; left: 0%; width: 100%; height: 0; background: var(--dark-blue); transition: ease .5s; z-index: -1;border:1px solid black; box-shadow:0 0 11px rgba(0,0,0,.5);}
		.masthead.fixed.active:before{height:100%;}

		body.admin-bar .masthead {top: 32px;}
		.mobile-nav{display: none;}

		.inner-masthead{padding-top: 21px;}
		#menu-main{display: flex; margin: 0; flex-wrap: wrap; justify-content: flex-end;gap: .2em;}
		#menu-main > li{position: relative; margin-bottom: 0!important;}
		.sub-menu{position: absolute; top: 100%; left: 0;  height: 0; overflow: hidden; z-index: 1000; box-shadow: 0 2px 7px rgba(0,0,0,.4); background: var(--dark-blue);}
		.sub-menu .sub-menu{left: 99%; top: 0;}
		#menu-main > li:hover > .sub-menu, .masthead #menu-main > li > a:focus + .sub-menu, .masthead #menu-main > li:focus-within > .sub-menu{height: auto; padding: 15px 0 15px 15px; min-width: 315px; overflow: initial;border: 1px solid white}
		.sub-menu > li{position: relative; padding-right: 15px;}
		.sub-menu > li:hover > .sub-menu, .sub-menu > li > a:focus + .sub-menu, .sub-menu > li:focus-within > .sub-menu{padding: 15px; width: initial; height: initial; min-width: 225px; border: 1px solid white;}

		#menu-main > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}

		.main-nav {display: flex;}
		.main-nav a {font-size: min(16px, 1.1vw);}
	.masthead .nav-translation {margin-left: min(10px, 1vw);}

	.mobile-view {width: 0; height: 0; visibility: hidden; overflow: hidden; margin: 0;}

}
@media(max-width: 1000px){
	.masthead{position: relative; color: var(--white); background: var(--dark-blue);}
	/*.masthead.not-homepage {background: var(--dark-blue-bg);}*/
	.logo-container {width: 50%;}
	.masthead .header-content {width: 50%; display: flex;flex-direction: column;align-items: end; justify-content: center;gap: 10px;}

	.menus{width: 20%;}
	.mobile-nav{font-size: 28px; transform: scaleX(1.75); outline-color: var(--color-1);}
	.main-nav{position: absolute; top: 100%; width: 100%; left: 0; background: white; box-shadow: 0 5px 10px rgba(0,0,0,.3); padding: 0 25px; height: 0; overflow: hidden; transition: padding .25s; z-index:1000;}
	#mobile-nav-input:checked + * + .main-nav{height: auto; padding: 10px 25px; }
	#menu-main .sub-menu{display: none;}
	#menu-main li a{outline-color: var(--color-1); color:  var(--dark-blue);}
	#menu-main .sub-menu{display: none; transition:ease.3s; padding:0;}
	#menu-main .sub-menu.active{display: block; padding:15px;}
	#menu-main .sub-menu.active li{padding:5px 0;}
	.menu-item-has-children{position:relative;}
	.menu-arrow{content: ''; position: absolute; width: 10px; height: 10px; border-bottom: 2px solid var(--color-1); border-right: 2px solid var(--color-1); transform: rotate(45deg); top: 2px; right:5%;transition:ease .3s;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	figure img{height:auto;}

	.main-menu {margin-bottom: 0}

	.desktop-view {width: 0; height: 0; visibility: hidden; overflow: hidden; margin: 0;}
	.masthead .content-wrapper.mobile-view  {width: 100%; justify-content: center; margin-bottom: 20px;}
	.header-call-box{flex-direction:row;gap: 20px}
	.header-call-box .indiv-phone{flex-direction:column;gap: 3px;}
	.masthead .content-wrapper {gap: 0;}
}
/* Forms */
textarea {width:100%;height:150px;}
input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea {margin:0; padding:1em;width:100%;border:1px solid;}
input[type=submit], button {border:none;background:var(--color-1);padding:.5em 1em;cursor:pointer;font-size:inherit;}
.gfield_label {margin-top:1em;margin-bottom: .25em;font-weight: 600;display: flex;gap:0.25em;}
.gfield_required {font-size: .85em;color: #c02b0a;display: inline-block;text-transform: uppercase;font-weight: 400;}
.gfield_label_before_complex {display:none}
fieldset {border: none; margin: 0; padding: 0;}
.gchoice {display: flex;gap: 1em;align-items: center;margin:1em 0;cursor:pointer;width:fit-content;}
.gchoice input[type=checkbox] {appearance: none;color: var(--color-1);width: 1.5em;
height: 1.5em;border: 2px solid;border-radius: 3px;display: flex;align-items: center;justify-content: center;transition: ease all .25s;cursor:inherit;}
.gchoice input[type=checkbox]::before {content: url("data:image/svg+xml,%3Csvg fill='%23FFF' xmlns='http://www.w3.org/2000/svg' viewBox='25 25 50 50'%3E%3Cpath d='m64 985.393-3.531 3.532-16.719 16.718-4.469-3.937-3.75-3.281-6.593 7.53 3.78 3.282 8 7 3.5 3.094 3.313-3.313 20-20 3.531-3.53L64 985.392z' overflow='visible' transform='translate(0 -952.362)'/%3E%3C/svg%3E");width: 100%;height: 100%;opacity: 0;transition: ease opacity .25s;}
.gchoice input[type=checkbox]:checked {background: var(--color-1);}
.gchoice input[type=checkbox]:checked::before {opacity: 1;}
label {user-select: none;cursor:inherit;}

/* Built In WP Classes */
figure {display:inline-block;margin:0;}
.aligncenter {display:block;margin: 0 auto; width:fit-content;}
.has-text-align-center {text-align:center;}
.has-text-align-right {text-align: right;}
.is-layout-flex{display:flex;}
.is-content-justification-center{justify-content:center;}
.is-content-justification-left{justify-content:flex-start;}
.is-content-justification-right{justify-content:flex-end;}
.are-vertically-aligned-center{align-items:center;}
.are-vertically-aligned-bottom {align-items: flex-end;}
/* DEFAULT CLASSES FOR ANIMATIONS */
.transition{transition:ease 1s;}
.fade-left{opacity:0; transform:translate(-100%, 0);}
.fade-right{opacity:0; transform:translate(100%, 0);}
.fade-up{opacity:0; transform:translate(0, 100%);}
.fade-down{opacity:0; transform:translate(0, -100%);}
.ghost-in{opacity:0;}
.transition.active{opacity:1; transform:none;transition:ease 1s;}
.btn,
.wp-block-button {cursor: pointer; color: var(--white); min-width: 148px; display: flex; align-items: center; justify-content: center; padding: 2px; border: 2px solid var(--white); font-weight: 700; letter-spacing: -.02em; position: relative; transition: .5s; text-decoration: none; text-transform: uppercase;}
.wp-block-button a {text-decoration: none; position: relative; z-index: 1; min-width: 300px; display: flex; justify-content: center; align-items: center; padding: 7px 0; transition: color .5s;}
.btn:before,
.wp-block-button:before {content: ''; position: absolute; background: var(--blue); width:0px; height: 100%; left: 0; top: 0; transition: .5s;}
.btn:after,
.wp-block-button:after {content: ''; position: absolute; background: var(--blue); width:0px; height: 100%; right:0; top: 0; transition: .5s;}
.btn:before,
.btn:after {z-index: -1;}
.btn:hover,
.wp-block-button:hover {color:var(--white); border-radius: 0 10px 0 10px; border: 2px solid var(--blue);}
.wp-block-button:hover a {color:var(--white);}
.btn:hover.btn::before,
.wp-block-button:hover:before{ width: 50%; border-radius: 0 0 0 5px; }
.btn:hover.btn::after,
.wp-block-button:hover:after{ width: 50%; border-radius: 0 5px 0 0; }
.btn-white {background-color: var(--white);}
.btn-blue {background-color: var(--dark-blue-v2);}
.btn-blue a {color: var(--white);}

.top-text {color: var(--blue); text-transform: uppercase; font-size: 18px; letter-spacing: .05em;}

.block-width-link {background-color: var(--dark-blue-v2); padding: 27px 0 clamp(27px, 2vw, 40px) 36px; display: flex; flex-direction: column; justify-content: space-between;}
.block-width-link p {color: var(--white); text-transform: uppercase; max-width: 193px; line-height: 1.1; font-size: 20px;}
.block-width-link hr {margin: 10px 0 10px; max-width: 278px;}
.block-width-link .wp-block-button {border: none; cursor: pointer;}
.block-width-link .wp-block-button:hover {text-decoration: underline; }
.block-width-link .wp-block-button:after {background-color: var(--white); width: 14px; height: 2px; top: 50%; right: 3px;}
.block-width-link .wp-block-button:before {background-color: transparent; width: 8px; height: 8px; top: 50%; right: 6px; left: unset; border-right: 2px solid var(--white); border-top: 2px solid var(--white); rotate: 45deg; transform: translateY(-50%);}
.block-width-link .wp-block-button a{color: var(--white); justify-content: flex-start; text-transform: uppercase; min-width: 270px; font-size: 16px;}
@media  (min-width: 751px) {
	/* DEFAULT CLASSES FOR ANIMATIONS */
	.transition{-webkit-transition:ease 1s;-o-transition:ease 1s;transition:ease 1s;}
	.fade-left{opacity:0; -webkit-transform:translate(-10%, 0); -ms-transform:translate(-10%, 0); transform:translate(-10%, 0);}
	.fade-right{opacity:0; -webkit-transform:translate(10%, 0); -ms-transform:translate(10%, 0); transform:translate(10%, 0);}
	.fade-up{opacity:0; -webkit-transform:translate(0, 10%); -ms-transform:translate(0, 10%); transform:translate(0, 10%);}
	.fade-down{opacity:0; -webkit-transform:translate(0, -10%); -ms-transform:translate(0, -10%); transform:translate(0, -10%);}
	.ghost-in{opacity:0;}
	.ghots-out{opacity:1;}
	.transition.active{opacity:1; -webkit-transform:translate(0, 0); -ms-transform:translate(0, 0); transform:translate(0, 0);-webkit-transition:ease 3s;-o-transition:ease 3s;transition:ease 3s;}

	.fade-from-left {-webkit-animation: fadeXfromLeft 3s;animation: fadeXfromLeft 3s;}
	.fade-from-right {-webkit-animation: fadeXfromRight 3s;animation: fadeXfromRight 3s;}
	.fade-visibility {-webkit-animation: fadeVisibility 3s;animation: fadeVisibility 3s;}
	.fade-from-bottom {-webkit-animation: fadeXfromBottom 3s;animation: fadeXfromBottom 3s;}
	.fade-from-top {-webkit-animation: fadeXfromTop 3s;animation: fadeXfromTop 3s;}
}

@media (max-width: 1000px) {
	.block-width-link .wp-block-button a {padding-right: 26px}
}

@media (max-width: 750px) {
	.block-width-link {padding-right: 15px;}
	.block-width-link p {max-width: 100%; text-align: start!important;}
}

.home-team .team-top-group h2.wp-block-heading, .home-follow h2.wp-block-heading.has-extra-large-font-size, .why-miami-section.wp-block-media-text h2.wp-block-heading, .home-pas h2.wp-block-heading {
	font-size: 70px !important;
}

.why-miami-section.wp-block-media-text {
    display: flex;
    flex-flow: row;
    gap: 50px;
    align-items: flex-start;
	margin-top:50px;
}
.why-miami-section figure.wp-block-media-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.why-miami-section.wp-block-media-text ul {
    list-style:disc;
}
.why-miami-section figure.wp-block-media-text__media {
    width: 100%;
}
.why-miami-section .wp-block-media-text__content {
    width: 100%;
}
.why-miami-section h2.wp-block-heading.has-text-align-left.has-extra-large-font-size {
    margin-top: 0;
}
.serving-miami-area h2.wp-block-heading {
    font-size: 80px !important;
}
.home-banner .under-title {
    font-size: 26px !important;
}
.experience-florida {
    font-size: 20px !important;
}
@media only screen and (max-width:1200px){
	.serving-miami-area h2.wp-block-heading {
		font-size: 60px !important;
	}
	.home-team .team-top-group h2.wp-block-heading, .home-follow h2.wp-block-heading.has-extra-large-font-size, .why-miami-section.wp-block-media-text h2.wp-block-heading, .home-pas h2.wp-block-heading {
		font-size: 50px !important;
	}
}
@media only screen and (max-width:767px){
	.why-miami-section.wp-block-media-text {
		flex-flow: column;
		gap: 20px;
		padding:0px 20px !important;
	}
	.why-miami-section figure img {
		height: auto;
		width: 100% !important;
	}
	.home-team .team-top-group h2.wp-block-heading, .home-follow h2.wp-block-heading.has-extra-large-font-size, .why-miami-section.wp-block-media-text h2.wp-block-heading {
		font-size: 48px !important;
		line-height: 56px !important;
	}
	.home-pas h2.wp-block-heading {
		line-height: 52px !important;
	}
	.serving-miami-area h2.wp-block-heading {
		font-size: 46px !important;
	}
	.experience-florida {
		font-size: 17px !important;
	}
}
@-webkit-keyframes fadeXfromLeft {
	from {
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}

}
@keyframes fadeXfromLeft {
	from {
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}

}
@-webkit-keyframes fadeXfromRight {
	from {
		-webkit-transform: translateX(20px);
		transform: translateX(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}

}
@keyframes fadeXfromRight {
	from {
		-webkit-transform: translateX(20px);
		transform: translateX(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}

}
@-webkit-keyframes fadeVisibility {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeVisibility {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeXfromBottom {
	from {
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

}

@keyframes fadeXfromBottom {
	from {
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

}

@-webkit-keyframes fadeXfromTop {
	from {
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

}
@keyframes fadeXfromTop {
	from {
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}