@charset "utf-8";
/* CSS Document */


	.overlay {
      display: none;  /* Hidden by default */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
	  overflow-y: auto;
      background-color: rgba(0, 0, 0, 0.8);
      z-index: 999;
      justify-content: center;
      align-items: center;
    }


.contact-modal {
        position: relative;
        width: 90%;
        max-width: 500px; /* Optional: prevents it from getting too wide on large screens */
        /* Changed fixed height to max-height and added vertical scrolling */
        height: auto;
        max-height: 90vh;
        overflow-y: auto; 
        margin: 40px auto; /* Adjusted margin to handle vertical centering/spacing with scrolling */
        background-color: #ffffff;
        padding: 30px 40px 40px 40px;
        border-radius: 16px;
        transform: translateX(100vw);
        opacity: 0;
		box-sizing: border-box;
    }


    .close-btn {
		float: left;
		width: 80%;
		margin: 0 10%;
		text-align: right;
		font-size: 40px;
		color: #666;
		cursor: pointer;
		line-height: 1;
    }

    .close-btn:hover {
	      color: #989898;
    }

    /* Form Layout */
    .contact-form {
		float: left;
		width: 80%;
		margin: 10px 10%;
		justify-content: space-between;
    }

    .formTitle {
		float: left;
		width: 100%;
		margin: 0;
		font-size: 22px;
		text-align: center;
		margin-bottom: 5px;
		text-transform: uppercase;
		letter-spacing: 1px;
    }


    .formEnv {
		float: left;
		width: 100%;
    }


    .form-group {
		float: left;
		width: 100%;
		font-size: 14px;
		margin-bottom: 10px;
    }


    .form-group label {
		display: flex !important;
  		flex-direction: row !important;
  		align-items: center;
		width: 100%;
		height: 20px;
		margin: 0;
		text-transform: uppercase;
    }

	.label-text {
	  white-space: nowrap;
	}

    /* White Fields with 1px Black Frame */
    .form-group input {
		float: left;
		width: 100%;
		height: 40px;
		border: 1px solid #000000;
		margin-bottom: 0;
		outline: none;
		background-color: #FFF;
		box-sizing: border-box;
    }

    .form-group input:focus {
	    border-width: 2px;
    }


    .form-group select {
		float: left;
		width: 100%;
		height: 40px;
		border: 1px solid #000000;
		margin-bottom: 0;
		outline: none;
		background-color: #FFF;
		box-sizing: border-box;
    }

    .form-group textarea {
		float: left;
		width: 100%;
		height: 80px;
		font-size: 14px;
		border: 1px solid #000000;
		margin: 0;
		outline: none;
		background-color: #FFF;
		box-sizing: border-box;
		resize: none;
    }

	.buttonSubmit {
		float: left;
		width: 100%;
	}

    /* Submit Button */
    .btn-submit {
		width: 100%;
		height: 40px;
		margin-top: 12px;
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
		text-transform: uppercase;
		cursor: pointer;
		border: 1px solid #000000;
		background-color: #000000;
		transition: background-color 0.2s ease;
    }

    .btn-submit:hover {
	    background-color: #333333;
    }


    /* Red border on invalid input */
    .form-group input.invalid {
      border: 1px solid #d9534f !important;
      background-color: #fff8f8;
    }


    /* Red error text below input */
    .error-msg {
	  display: inline-block !important;
 	  float: none !important;
      height: 20px;
      width: 100%;
	  margin: 0;
    }



	.thankYou {
		display: none;
		float: left;
		width: 100%;
		margin-top: 100px;
		text-align: center; 
	}

    .thankYou h2 {
		float: left;
		width: 100%;
      	font-size: 26px; 
		margin-bottom: 12px; 
		text-transform: uppercase;
     }

    .thankYou p {
		float: left;
		width: 100%;
      	font-size: 15px; 
		color: #555; 
		line-height: 1.6;
     }

 


/* ////////////////////////////////////////////////////////////////////////*/


.navBar {
	position: fixed;
	float: left;
	width: 96%;
	height: 44px;
	padding: 10px 2%;
	background-color: #FFF;
	z-index: 100;
}

.navBarCell {
	position: relative;
	max-width: 1400px;
	margin: 2px auto;
}

.logo{
	float: left;
	width: 50%;
}

.logoImg {
	float: left;
	width: 69px;
	height: 42px;
}

.logoPic {
	width: 69px;
	height: 42px;
}

.logoText {
	float: left;
	margin: 4px 0 0 15px;
	font-size: 18px;
	font-weight: bold;
}


.nav {
	display: none;
}

.navPDA {
	float: left;
	width: 10%;
	padding-top: 7px;
	text-align: right;
	cursor: pointer;
}

.navPDAEnv {
    position: absolute;
    top: 64px;
    right: -225px;
    width: 220px;
    background-color: #FFF;
    z-index: 9999;
    box-shadow: -2px 5px 10px rgba(0,0,0,0.1);
    transition: right 0.3s ease-in-out;
}

.navPDAEnv.is-open {
    right: 0;
}

.navPDACell {
	float: left;
	width: 100%;
	padding: 20px;
	border-top: 1px solid #555;
}


.navButton {
	float: left;
	width: 40%;
	margin-top: 3px;
	text-align: right;
}


.btn-touch {
    width: 109px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 0 9px 0; 
    margin: 0;
    line-height: 1;
    background-color: #000000;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    border-radius: 16px; 
    cursor: pointer;
    box-sizing: border-box;
}

.btn-touch:hover {
    opacity: 0.85;
    font-weight: bold;
}




/* ////////////////////////////////////////////////////////////////////////*/

.heroEnv {
	  position: relative;
	  float: left;
	  width: 100%;
	  height: calc(100vh - 64px);
	  min-height: 800px;
	  margin: 64px 0 0 0;
	  color: #FFF;
	  box-sizing: border-box;
	  background-color: #000;
	  display: flex;
	  align-items: center;
	  padding: 40px 0;
	  overflow: hidden; /* Keeps video from spilling outside hero container */
}


/* Container for Video + Overlay */
.videoEnv {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  z-index: 1;
	  background: #000 url("../pics/videoPoster.jpg")no-repeat center center;
      background-size: cover;
}


.bgVideo {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
}


.videoOverlay {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-color: rgba(0, 0, 0, 0.5); 
}

.bgVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



.heroCellEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0 20px;
	margin: 0 auto;
}


.heroCell {	
	position: relative;
  	z-index: 2;
  	float: left;
  	width: 100%;
  	background-color: transparent;
}


.heroTitle {
	float: left;
	width: 100%;
	margin-bottom: 20px;
	font-family: 'mFont', sans-serif;
	font-size: 70px;
	line-height: 70px;
  	font-weight: bold;    
  	font-style: normal;
}


.heroTag {
	float: left;
	width: 100%;
	font-size: 40px;
	line-height: 45px;
	font-style: italic;
	letter-spacing: -1px;
}


.heroText {
	float: left;
	width: 100%;
	margin-top: 35px;
	font-size: 20px;
	line-height: 25px;
}


.heroButton {
	float: left;
	margin-top: 50px;
}

.btn-hero {
    width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 17px 0 19px 0; 
    margin: 0;
    line-height: 1;
    background-color: #FFF;
    color: #000;
    font-size: 22px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    border-radius: 50px; 
    cursor: pointer;
    box-sizing: border-box;
}

.btn-hero:hover {
    opacity: 0.85;
    font-weight: bold;
}




/* ////////////////////////////////////////////////////////////////////////*/

.serviceEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0 20px;
	margin: 0 auto;
}

.serviceInfo {
	float: left;
	width: 100%;
}

.infoHook {
	float: left;
	width: 100%;
	margin-top: 60px;
	letter-spacing: 2px;
}

.infoTitle {
	float: left;
	width: 100%;
	margin-top: 35px;
	font-family: 'mFont', sans-serif;
	font-size: 60px;
	line-height: 60px;
  	font-weight: bold;    
  	font-style: normal;
}

.infoText {
	float: left;
	width: 100%;
	margin-top: 30px;
	font-size: 25px;
	line-height: 30px;
}


.serviceCellEnv {
	float: left;
	margin: 50px 0;
}

.serviceCell {
	float: left;
	width: calc(100% - 45px);
	padding: 15px;
	border: 1px solid #e7e9e8;
}

.serviceIcon {
	float: left;
	width: 45px;
	margin-right: 15px;
}


.lineEnv {
	float: left;
	width: calc(100% - 60px);
}

.serviceTitle {
	float: left;
	width: 100%;
	padding: 10px 0;
	font-family: 'mFont', sans-serif;
	font-size: 18px;
  	font-weight: bold;    
  	font-style: normal;
	overflow-wrap: break-word;
}

.serviceText {
	float: left;
	width: 100%;
	font-size: 14px;
	line-height: 16px;
}




.frame1 {
	border-radius: 20px 20px 0 0;
	border-bottom: 0;
}

.frame2 {
	border-bottom: 0;
}

.frame3 {
	border-bottom: 0;
}

.frame4 {
	border-bottom: 0;
}

.frame5 {
	border-bottom: 0;
}

.frame6 {
	border-bottom: 0;
}

.frame7 {
	border-bottom: 0;
}

.frame8 {
	border-bottom: 0;
}

.frame9 {
	border-bottom: 0;
}

.frame10 {
	border-radius: 0 0 20px 20px;
}


.icon-box {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f3f3f3;
  border-radius: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}


.icon-box svg {
  width: 24px;
  height: 24px;
  display: block;
}



/* ////////////////////////////////////////////////////////////////////////*/


.officeBG {
	float: left;
	width: 100%;
	margin: 80px 0 150px 0;
	overflow-x: hidden;
}


#officeFeature {
	position: relative;
	float: left;
	width: 100%;
	aspect-ratio: 1257 / 300;
}

.officeFeatureSlide {
	position: relative;
	float: left;
	width: 100%;
	aspect-ratio: 419 / 300;
	z-index: 1;
	box-sizing: border-box;
	border-right: 1px #FFF solid;
}	


.imgSpacer1 {
	width: 100%;
	aspect-ratio: 419 / 300;
}

.slick-dots {
  position: absolute;
  bottom: -50px !important;
  left: 0;
  width: 100%;
  display: flex !important;
  list-style: none;
  justify-content: center;
  gap: 0;
  padding: 0;
  margin: 0;
  z-index: 10;
}

.slick-dots li {
  margin: 20px 0 0 0 !important;
  padding: 0;
}

/* Style the button container */
.slick-dots li button {
  font-size: 0px !important;
  color: transparent !important;
  width: 5px !important;
  height: 5px !important;
  min-width: 3px !important;
  min-height: 3px !important;
  display: block !important;
  background: #ccc !important; /* Inactive gray color */
  border: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

/* CRITICAL: Hide Slick's default theme bullet (this is what creates the "double" look) */
.slick-dots li button::before {
  display: none !important;
  content: none !important;
}

/* Active state: Solid black */
.slick-dots li.slick-active button {
  background: #000 !important;
  width: 5px !important;
  height: 5px !important;
}


.officeEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0;
	margin: 0 auto;
}


.officeEnvPic {
	float: left;
	width: 100%;
	aspect-ratio: 419 / 281;
	background-size: cover;
	background-repeat: no-repeat;
	box-sizing: border-box;
}




/* ////////////////////////////////////////////////////////////////////////*/


.mediaBG {
	float: left;
	width: 100%;
	background: linear-gradient(to top, #1a1a1d, #2d1f24);
}


.mediaEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0 20px;
	margin: 0 auto;
	color: #FFF;
}


.mediaCellEnv {
	float: left;
	margin: 75px 0;
}

.mediaInfo {
	float: left;
	width: 100%;
}


.mediaImg {
	display: block;
	float: left;
  	width: 100%;
  	height: auto;
  	aspect-ratio: 1400 / 453;
	margin-top: 75px;
	background-image: url("../pics/studioPic.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}


.mediaIcon {
	float: left;
	width: 45px;
	margin-right: 15px;
}

.mediaCell {
	float: left;
	width: calc(100% - 60px);
	min-height: 135px;
	padding: 30px;
	border: 1px solid #323136;
}

.mediaTitle {
	float: left;
	min-height: 35px;
	padding: 10px 0;
	font-family: 'mFont', sans-serif;
	font-size: 18px;
  	font-weight: bold;    
  	font-style: normal;
	overflow-wrap: break-word;
}

.mediaText {
	float: left;
}


.mediaIcon-box {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #3b242c;
  border-radius: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.mediaIcon-box svg {
  display: block;
  width: 24px;
  height: 24px;
  color: #df5370;
}


.mFrame1 {
	border-radius: 20px 20px 0 0;
	border-bottom: 0;
}

.mFrame2 {
	border-bottom: 0;
}

.mFrame3 {
	border-bottom: 0;
}

.mFrame4 {
	border-bottom: 0;
}

.mFrame5 {
	border-bottom: 0;
}

.mFrame6 {
	border-radius: 0 0 20px 20px;
}


/* ////////////////////////////////////////////////////////////////////////*/


.thriveEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0 20px 120px 20px;
	margin: 0 auto;
}


.thriveEnvCell {
	float: left;
}


.thriveInfo {
	float: left;
	width: 100%;
}



.teamEnv {
	display: block;
	float: left;
	width: 100%;
	margin: 75px 0;
	padding: 0;
}


.teamCell {
	float: left;
	width: 96%;
	margin: 0 2% 40px 2%;
	border: 1px solid #e7e9e8;
	border-radius: 20px;
}


.teamImg {
	display: block;
	float: left;
  	width: 100%;
  	height: auto;
  	aspect-ratio: 100 / 65;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 20px 20px 0 0;
  	overflow: hidden;
}


.teamText {
	position: relative;
	float: left;
  	width: calc(100% - 40px);
	padding: 20px;	
}

.teamText::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  border-top: 1px solid #e7e9e8;
}




.testimonialEnv {
	display: block;
	float: left;
	width: 100%;
	margin: 75px 0 0 0;
	padding: 0;
}

.testimonialCellEnv {
	float: left;
	width: 100%;
}


.testimonialCell {
	float: left;
	width: 96%;
	margin: 0 2% 40px 2%;
	border: 1px solid #e7e9e8;
	border-radius: 20px;
}


.testimonialText {
	float: left;
  	width: calc(100% - 40px);
	padding: 20px;
	font-style: italic;
}


.testimonialImg {
	float: left;
	width: 50px;
	height: 50px;
	margin-right: 20px;
	border-radius: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: aqua;
}


.testimonialName {
	float: left;
	margin-top: 3px;
}

.testimonialVoice {
	position: relative;
	float: left;
  	width: calc(100% - 40px);
	padding: 20px;
}

.testimonialVoice::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  border-top: 1px solid #e7e9e8;
}



/* ////////////////////////////////////////////////////////////////////////*/



.releaseBG {
	float: left;
	width: 100%;
	height: 400px;
	background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../pics/pressReleasePicS.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #FFF;
}



.releaseEnv {
	position: relative; 
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 40px 20px 0 20px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}



.releaseTitle {
	float: left;
	width: 100%;
	margin-bottom: 20px;
	font-family: 'mFont', sans-serif;
	font-size: 50px;
	line-height: 50px;
  	font-weight: bold;    
  	font-style: normal;
}


.releaseEnv1 {
	position: relative; 
	width: 100%;
}




.releaseCell {
	float: left;
	width: calc(100% - 40px);
	margin: 20px;
	padding: 20px;
	border: 1px solid #e7e9e8;
	border-radius: 20px;
	box-sizing: border-box;
}




.releaseText {
	float: left;
	font-size: 16px;
	line-height: 25px;
}

.releaseArrow {
	float: left;
	width: 27px;
	height: 27px;
	margin-top: 20px;
}




/* ////////////////////////////////////////////////////////////////////////*/



.statsBG {
	float: left;
	width: 100%;
	background-color: #FFF;
}


.statsEnv {
	float: left;
	width: 100%;
	margin: 150px auto;
	text-align: center;
}


.statsHook {
	float: left;
	width: 80%;
	margin: 0 10% 0 10%;
	letter-spacing: 2px;
}

.statsTitle {
	float: left;
	width: 80%;
	margin: 20px 10% 0 10%;
	font-family: 'mFont', sans-serif;
	font-size: 60px;
	line-height: 80px;   
  	font-style: normal;
}



/* ////////////////////////////////////////////////////////////////////////*/

.mapEnv {
	display: block;
	float: left;
    width: 100%;
	height: 300px;
}

.mapEnv iframe {
  width: 100%;
  height: 100%;
  display: block;
}


/* ////////////////////////////////////////////////////////////////////////*/

.discoverBG {
	float: left;
	width: 100%;
	background-color: #1a191e;
}


.discoverEnv {
    width: calc(100% - 40px);
	max-width: 1320px;
	margin: 0 auto;
	color: #FFF;
	text-align: center;
}


.discoverTitle {
	float: left;
	width: 80%;
	margin: 140px 10% 0 10%;
	font-family: 'mFont', sans-serif;
	font-size: 60px;
	line-height: 80px;
  	font-weight: bold;    
  	font-style: normal;
}

.discoverText {
	float: left;
	width: 60%;
	margin: 50px 20% 50px 20%;
	font-size: 22px;
	line-height: 36px;
}


.discoverButton {
	float: left;
	width: 100%;
	margin-bottom: 130px;
}



.btn-discover {
    width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 17px 0 19px 0; 
    margin: 0;
    line-height: 1;
    background-color: #FFF;
    color: #000;
    font-size: 22px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    border-radius: 50px; 
    cursor: pointer;
    box-sizing: border-box;
}

.btn-discover:hover {
    font-weight: bold;
}


/* ////////////////////////////////////////////////////////////////////////*/


.footer {
    width: calc(100% - 40px);
	max-width: 1320px;
	padding: 0 20px;
	margin: 0 auto;	
}


.footerEnv {
	float: left;
	width: 100%;
	margin: 40px 0;
	color: #727272;
	font-size: 15px;
}



.footerCell {
	float: left;
	width: 100%;
}


.footerLogo {
	float: left;
	width: 100%;
	height: 50px;
	color: #000;
}


.footerTitle {
	float: left;
	letter-spacing: 2px;
	margin: 25px 0 7px 0;
}


.footerText {
	float: left;
	width: 100%;
}



.footerLine {
	float: left;
	width: 100%;
	height: 3px;
	margin-top: 50px;  
}

.footerLine hr {
	border: none;
  	height: 1px;
 	background-color: #e2e6e5;
  	width: 100%;  
}



.footerCell3 {
	float: left;
	width: 100%;
	font-size: 14px;
	margin: 10px 0 5px 0;
}

.footerCell4 {
	float: left;
	width: 100%;
	font-size: 14px;
	margin: 0;
}



