

/*
Theme Name: Still Moving Media
Theme URI: https://www.ashtreedesign.net/ash-tree-design/contact-us.html
Author: Ash Tree Design
Author URI: https://www.ashtreedesign.net
Description: Private Theme
Version: 1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
Tags: one-column
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Joiin
This theme, like WordPress, is licensed under the GPL.


*/




@font-face {
    font-family: 'founders_groteskbold';
    src: url('fonts/foundersgrotesk-bold-webfont.woff2') format('woff2'),
         url('fonts/foundersgrotesk-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'founders_groteskregular';
    src: url('fonts/foundersgrotesk-regular-webfont.woff2') format('woff2'),
         url('fonts/foundersgrotesk-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'founders_grotesksemibold';
    src: url('fonts/foundersgrotesk-semibold-webfont.woff2') format('woff2'),
         url('fonts/foundersgrotesk-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}







/* Fundamentals */


*{outline:none;}


html {
	scroll-behavior: smooth;
	   -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;

}



html,
body{
	padding:0;
	margin:0;
	height:100%;
	width:100%;
	min-height:100%; 
    font-family: 'founders_groteskregular';
  font-weight: normal;
  font-style: normal; 
}



body {
    color: #000000;
    font-size: 20px;
    line-height:27px; 
}



a {
 transition: 0.4s; text-decoration:none ; color: #747474; text-decoration: underline;   text-underline-offset: 6px;}

a:visited  {
	color:#000000;

}


a:hover {
color: #000000
}
	

a img ,img{
	border: none;
}	

a:focus, a:hover, a:active {
	outline: none;
}

a.more-link{display:none;}

img,fieldset{border:none;}

img{max-width: 100%;}

img.alignright { float: right; margin: 0 0 1em 1em; }
img.alignleft { float: left; margin: 0 1em 1em 0; }
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.sticky{}
.screen-reader-text{}
.gallery-caption{}
.bypostauthor{}
.wp-caption{}
.wp-caption-text{}





hr{height: 1px; background-color: #F2ECDE; border: none; width: 20%; margin-left: uto; margin-right: auto; margin-bottom: 15px;}










/* Titles and Paragraphs */


h1,h2,h3,h4,h5{
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 15px;
	margin: 0;
  font-weight: 400;
}

h1{font-size: 46px; line-height:52px; padding-bottom: 30px; letter-spacing: 1px}
	
h2{font-size: 42px; line-height:47px; letter-spacing: 1px; padding-bottom: 20px; padding-top: 20px }


h3{font-size: 37px; line-height:42px; letter-spacing: 1px;padding-bottom: 20px; padding-top: 20px   }

h4{font-size: 27px; line-height:32px;padding-bottom: 20px; padding-top: 20px   }



p{
	padding: 0;
	margin: 0px; padding-bottom:10px; 
} 

li{
	padding: 0;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0; padding-bottom: 8px

}




ul,ol{padding: 0px; margin: 0px; margin-left: 18px}

ul.widget{
	list-style:none;
	padding:0;
	margin:0;
}

b,strong{
    font-family: 'founders_groteskbold';
    font-weight:normal; 
}


blockquote{
	padding:0px; margin: 0px


}

blockquote p{font-weight: 700; font-size: 20px; line-height: 25px; letter-spacing: -0.7px; }







/* Theme Wrappers */


.wrap{	 
    max-width: 100%;     margin: 0 auto; padding-left: 5%; padding-right:5%
}

.wrap:after{display: table; clear:both; content:'';}

#wrapper{
	background:none;
	padding:0;
	margin:0;
	width:100%;
	box-shadow:none;
}


#mainbody{ max-width:100%; margin-left: auto; margin-right: auto;}










/* Theme Header */





#headerwrap{width: 100%;
    max-width: 100%;
    display: block; padding-top: 20px; padding-bottom: 20px; background-color: #ffffff
}





#centredlogo{
 text-align: left;  width: auto; float: left
}

#centredlogo a{display: block}
#centredlogo img{  height: auto; height: 55px;  width: auto}

.scrolled{ }


#header-right{}
#header-right-inner{float: right; padding-top: 20px; padding-left: 35px}
#header-right-inner li{list-style: none}

#header-right-inner img{height: 17px!important; width: auto!important;}

#header-right-inner li {
    display: inline-block;
    margin-left: 12px;
}

#header-right-inner #text-6 a{text-decoration: none; color: #000000; margin-right: 12px; font-size: 19px}
#header-right-inner #text-6 a:hover{text-decoration: underline}

.page-template-page_landing-php #main-nav{display: none}
.page-template-page_landing-php #header-right{display: none}
.page-template-page_landing-php .mobile-nav{display: none}











/* Navigation Menus */


#main-nav{
  margin: 0 auto; display:block; float:right;  text-align: right; padding-top: 20px
}


#main-nav ul{
	list-style:none;
	padding:0;
	margin:0;
}

#main-nav ul li{
	display:inline-block;
		margin-left: 3px; margin-right: 3px; padding-bottom: 0px
}

#main-nav ul li span{

}




#main-nav ul li a{
    font-size: 19px;
    padding: 0px; margin-left: 15px; font-weight: normal; 

    display: block; text-decoration:none; color: #31373E; 
 }



#main-nav ul li a:hover{
text-decoration:underline	
}

#main-nav ul li.current-menu-item a{
text-decoration:underline
}

#main-nav ul li.current-menu-item a{
text-decoration:underline
}


#main-nav ul li.current_page_parent a{
text-decoration:underline
}

#main-nav ul li.current_page_parent a{

}












/* Dropdown Menus */


#main-nav li ul{position: absolute;width: 250px;
z-index: 9999;
  background-color: #255B96;
    visibility: hidden;
    opacity: 0;  margin-top: -1px; margin-left: 1px; padding-top: 12px; padding-bottom:12px;border-bottom-color: #ffffff; border-bottom-width: 3px; border-bottom-style: solid}

#main-nav li ul li{    float: none; text-align: left; 	margin-left: 0px; margin-right: 0px; display: block;}

#main-nav li ul li a{
    font-size: 15px;
    padding-top: 0px;
    padding-right: 18px;
    padding-left: 18px;
    padding-bottom: 0px;
    margin: 0px;
    border: none!important;
    color: #ffffff; line-height: 20px
}
#main-nav li ul li a:hover {
    border-radius: 0!important;
    color: #D6DCE3;
    border: none!important;
}
#main-nav ul li ul li:hover{border-radius:0!important; border: none!important;}
#main-nav li:hover ul{visibility:visible; opacity:1;}


#main-nav ul li.current-menu-item li a{color: #ffffff; border: none!important;}
#main-nav ul li.current-menu-item li a:hover{color: #D6DCE3!important; border: none!important;}

#main-nav ul li.current_page_parent li a{
color: #ffffff
}

#main-nav ul li.current_page_parent li a:hover{
color: #D6DCE3
}













/* Banners */


#banner{
    position: relative;
    width: 100%; height: auto; 
}

#banner img{
    width: 100%; height: auto; min-width: 100%
}

#homepage-banner{position:relative; }
#banner-home{position:relative; }
#banner-home img{width:100%; display:block;}

.flexslider .slides > li{}

#banner-home .flex-control-nav{display :none}
.flex-direction-nav{display:none;}



.flex-control-nav {
display: none!important
}


.show-mob,.close-mob{display:none;}

#new-sub-banner {
    height: 60vh; position: relative; z-index: 9; 
}

#new-sub-banner .wrap{
   position: relative;
}


#banner-overlay {
 position: absolute; bottom: 60px; left: 0px; right: 0px; text-align: left; z-index: 9999
}

#banner-overlay h2 {
    color: #ffffff;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
font-size: 80px; line-height:70px; letter-spacing: -3px
}

#sub-banner-titles{padding-bottom: 25px;}










/* Theme Footer */



#footer{background-color: #000000}
#footer-inner{padding-top: 60px; padding-bottom: 0px;}
#footer p{color: #ffffff; font-size: 19px; line-height: 29px }
#footer a{ color: #ffffff; font-size: 19px; line-height: 38px}
#footer li{list-style: none; color: #ffffff}

#footer-left{float: left; width: 30%; text-align: left}
#footer-right{float: left; width: 70%; text-align: right}

#footer-left-inner img{max-width: 180px!important; height: auto!important; margin-bottom: 30px}
#footer-right-inner{
    background-color: #242424;
    border-radius: 12px;
    padding-top: 32px;
    padding-right: 32px;
    padding-left: 32px;
    padding-bottom: 0px;
    display: block;
    overflow: hidden
}

#footer-right-inner-left{float: left; width: 50%; text-align: left}
#footer-right-inner-right{float: left; width: 50%; text-align: left}

#footer-right-inner-left h3{    font-size: 35px;
    line-height: 35px;
    padding-bottom: 20px;
    padding-top: 0px; color: #FF5226; padding-right: 30%}

#footer-right-inner-left p{ padding-right: 20%}

#footer-socials{background-color: #000000}
#footer-socials-inner{padding-top: 20px; padding-bottom: 0px; border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 1px}
#footer-socials-inner img{height: 25px!important; width: auto!important;x}

#footer-socials-inner li {
    display: inline-block;
    margin-right: 15px;
}


#footer-socials-inner-left {
float: left; padding-top: 8px
}

#footer-socials-inner-right {
float: right
}

#footer-socials-inner-right li {
    display: inline-block;
}

#footer-socials-inner-right img {
height: 80px!important; width: auto
}

#footer-copyright{background-color: #000000}
#footer-copyright-inner{padding-top: 30px; padding-bottom: 30px;}

#footer-copyright p{color: #999999; font-size: 13px; line-height: 19px }
#footer-copyright a{ color: #999999; font-size: 13px; line-height:19px}
#footer-copyright li{list-style: none; color: #ffffff}

#footer-copyright-inner-left{float: left; width: 50%; text-align: left}
#footer-copyright-inner-right{float: right; width: 50%; text-align: right}

#footer-copyright-inner-right li{display: inline-block; list-style: none}
#footer-copyright-inner-right a{ color: #ffffff; font-size: 19px; line-height:26px; margin-left: 18px}











/* Contact Form 7 */


.wpcf7-form-control-wrap input[type=text], .wpcf7-form-control-wrap input[type=email], .wpcf7-form-control-wrap input[type=select], .wpcf7-form-control-wrap input[type=number]{
    margin-top: 10px;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 16px;
    color: #000000;
    font-family: 'founders_groteskregular';
    font-weight: normal;
    font-style: normal;
    background-color: #F4F4F4;
    border-style: solid;
    border-width: 1px;
    border-color: #484848;     font-size: 20px;
    line-height: 23px; width: 100%; box-sizing: border-box; padding: 12px
}


textarea.wpcf7-form-control.wpcf7-textarea {
    margin-top: 10px;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 16px;
    color: #000000;
height: 70px;      font-family: 'founders_groteskregular';
  font-weight: normal;
  font-style: normal;  height: 100px; background-color: #F4F4F4; border-style: solid; border-width: 1px; border-color: #484848;     font-size: 20px;
    line-height: 23px; width: 100%; box-sizing: border-box; padding: 12px
} 

.wpcf7-form input[type=submit] {
	background-color: #F4F4F4;
	color: #000000;
	padding-top: 18px;
	padding-right: 18px;
	padding-left: 18px;
	padding-bottom: 18px;
	text-decoration: none;
	font-size: 19px; display: block;  margin-top: 10px; border-style: solid; border-width: 1px; border-color: #484848; 
}



.wpcf7-form-control-wrap select{
    margin-top: 10px;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 16px!important;
    color: #000000;
    font-family: 'founders_groteskregular';
    font-weight: normal;
    font-style: normal;
    padding-top: 4px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 4px;
    background-color: #F4F4F4;
    border-style: solid;
    border-width: 1px;
    border-color: #484848;     font-size: 18px;
    line-height: 23px; border-box; padding: 12px; width: 100%
}



.wpcf7-form{
margin-top: 25px
}



.wpcf7-list-item{margin-left: 0px!important}

.wpcf7-form input[type=checkbox] {
    border: 1px solid #ffffff; width: 15px; height: 15px;    -webkit-appearance: auto;
}

.wpcf7-form label {
margin-bottom: 12px
}


input::placeholder, textarea::placeholder {
color: #000000
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #000000!important;
    color: #000000!important;
}


#wpcf7-f864-p862-o1 .wpcf7-response-output {
    border-color: #ffffff!important;
    color: #ffffff!important;
}


#footer-right-inner-right .wpcf7-form{
margin-top: 0px
}



#footer-right-inner-right .wpcf7-form-control-wrap input[type=text], #footer-right-inner-right .wpcf7-form-control-wrap input[type=email], #footer-right-inner-right .wpcf7-form-control-wrap input[type=select], #footer-right-inner-right .wpcf7-form-control-wrap input[type=number]{
 color: #ffffff;
    background-color:#414141;
border: none!important; font-size: 20px;
    line-height: 23px; border-radius: 6px;     margin-bottom: 8px;

}

#footer-right-inner-right .wpcf7 input::placeholder,
#footer-right-inner-right .wpcf7 textarea::placeholder {
    color: #ffffff;
    opacity: 1; 
}


#footer-right-inner-right .wpcf7-form input[type=submit] {
	background-color: #FF5226;
	color: #ffffff;
	padding-top: 10px;
	padding-right: 18px;
	padding-left: 18px;
	padding-bottom: 10px;
	text-decoration: none;
	font-size: 17px; display: block;  margin-top: 10px;border:none!important; width: 100%; border-radius: 7px
}



#footer-right-inner-right .wpcf7 form .wpcf7-response-output {
margin-top: 0px!important;
        border-color: #ffffff !important;
    color: #ffffff !important; margin-bottom: 20px
}













/* Animation */

/* Base styles for the fade-in elements */
.fade-in-up {
  opacity: 0;                    /* Start hidden */
  transform: translateY(50px);   /* Start slightly below */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth transition */
  will-change: opacity, transform; /* Optimize for performance */
}

/* Class to trigger the fade-in effect */
.fade-in-up.visible {
  opacity: 1;                   /* Fully visible */
  transform: translateY(0);     /* Move to original position */
}


/* Base styles for fade-in elements */
.fade-in {
  opacity: 0;                    /* Start hidden */
  transition: opacity 1.3s ease-out, transform 1.3s ease-out; /* Smooth transition */
  will-change: opacity, transform; /* Optimize for performance */
      transform: translateY(20px);   /* Start slightly below */
}

/* Trigger class for fade-in */
.fade-in.visible {
  opacity: 1;                    /* Fully visible */
      transform: translateY(0);     /* Move to original position */
}









/* Home Case Study Grid */



.case-study-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 20px 0;
}

.case-study-item {
   text-align: left; margin-bottom: 30px
}

.case-study-item img {
    width: 100%;
    height: auto;
    display: block;
}

.case-study-caption {
color: #ffffff; padding-top: 20px
}

@media (max-width: 768px) {
    .case-study-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .case-study-grid {
        grid-template-columns: 1fr;
    }
}







/* Testimonials Carousel */



/* Slick Carousel container */
.testimonials-carousel {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
}

/* Each slide */
.testimonial-slide {
    padding-top: 20px;
    padding-right: 50px;
    padding-left: 0px;
    padding-bottom: 20px;
    box-sizing: border-box;
}

/* Inner layout with two columns */
.testimonial-inner {
    display: flex;
    gap: 20px;
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 0px;
    padding-bottom: 40px;
    align-items: flex-start;
    border-bottom-color: #ffffff;
    border-bottom-width: 1px;
    border-bottom-style: solid;  height: 80%;
}

/* Title column */
.testimonial-title {
  flex: 1;

}

.testimonial-title h3 {
font-size: 28px; padding-top: 0px; padding-bottom: 10px; line-height: 28px
}

.testimonial-title p {
    font-size: 16px;
    line-height: 23px;
}

/* Content column */
.testimonial-content {
  flex: 2;
    font-size: 18px;
    line-height: 26px;
}

.company-logo {
  margin-bottom: 10px; margin-top: 5px
}

.company-logo img {
  max-width: 170px;
  max-height: 70px;
  width: auto;
  height: auto;
  display: block; background-color: #ffffff; border-width: 8px; border-style: solid; border-color: #ffffff; border-radius: 3px
}




/* Responsive adjustments */
@media (max-width: 768px) {
  .testimonial-inner {
    flex-direction: column;
  }

  .testimonial-title,
  .testimonial-content {
    flex: unset;
  }
}


.testimonial-slider-wrapper {
  position: relative;
}

/* Position controls in top right */
.testimonial-slider-controls {
position: absolute;
    top: -30px;
    right: 5%;
    display: flex;
    gap: 10px;
    z-index: 2;
}

/* Style the arrows */
.testimonial-slider-controls .slick-prev,
.testimonial-slider-controls .slick-next {

  font-size: 0pc;
  cursor: pointer;
} 

.testimonial-slider-controls .slick-prev:hover,
.testimonial-slider-controls .slick-next:hover {

}


.testimonial-slider-controls .slick-next:before, .testimonial-slider-controls .slick-prev:before {
display: none!important
}









/* Best Work Carousel */


.features-carousel {
  margin: 40px auto;
}



.features-carousel a {
text-decoration: none
}


.feature-image img {
  max-width: 100%;
  height: auto;
  margin-bottom: 15px;
}

h3.feature-title {
    font-size: 30px; padding-top: 5px; padding-bottom: 0px
}

.feature-caption {
     padding-bottom: 20px
}

.feature-description {
        font-size: 18px;
    line-height: 24px; max-width: 90%
}



/* Add spacing inside each slide */
.features-carousel .feature-slide {
  padding: 0 15px; /* horizontal gap between slides */
  box-sizing: border-box;
}

/* Optional: add vertical padding if needed */
.features-carousel .slick-slide {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Prevent overflow clipping */
.features-carousel {
    margin-top: 20px;
    margin-right: -10px;
    margin-left: -10px;
    margin-bottom: 0; /* negative margin to balance the inner padding */
}


.feature-content{
    padding-top: 15px;
    padding-right: 25px;
    padding-left: 25px;
    padding-bottom: 15px
}

.feature-slide-inner{  border: 1px solid #999999;
  transition: border-width 0.5s ease, border-color 0.5s ease;}

.feature-slide:hover .feature-slide-inner {
  outline: 5px solid white; border:none;   transition: outline-color 0.3s ease;
}


/* Ensure image zoom works smoothly */
.feature-image {
  overflow: hidden;
}

.feature-image img {
  transition: transform 0.6s ease, filter 0.6s ease;
  will-change: transform, filter;
}

/* Image zoom + grayscale on hover */
.feature-slide:hover .feature-image img {
  transform: scale(1.2);
  filter: grayscale(100%);
}


.feature-slider-wrapper {
  position: relative;
}



/* Position controls in top right */
.feature-slider-controls {
position: absolute;
    top: -60px;
    right: 1.5%;
    display: flex;
    gap: 10px;
    z-index: 2;
}


.feature-slider-controls .slick-prev,
.feature-slider-controls .slick-next {

  font-size: 0px;
  cursor: pointer;
} 

.feature-slider-controls .slick-prev:hover,
.feature-slider-controls .slick-next:hover {

}



.feature-slider-controls .slick-next:before, .feature-slider-controls .slick-prev:before {
display: none!important
}









/* Our Film Page */


.film-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.film-item {
    position: relative;
    cursor: pointer;
    transition: outline 0.3s ease;
}

.film-item:hover {
    outline: 5px solid #fff; /* white 5px outline on hover */
}

.film-item-image {
    overflow: hidden;
    position: relative;
}

.film-item-image img {
    max-width: 100%;
    height: auto;
    margin-bottom: 0;
    transition: transform 0.6s ease, filter 0.6s ease;
    will-change: transform, filter;
}

/* Image zoom + grayscale on hover */
.film-item:hover .film-item-image img {
    transform: scale(1.2);
    filter: grayscale(100%);
}

/* Overlay container */
.film-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center; /* center title & caption vertically */
    align-items: center;
    padding: 20px;
    text-align: center;
    overflow: hidden;
}

.film-item:hover .film-overlay {
    opacity: 1;
}


.film-overlay a{
text-decoration: none
}

/* Wrapper for title and caption to center vertically */
.film-overlay-content {
    flex-grow: 1; /* take up available space */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Title styling */
h3.film-item-title {
padding-top: 0px; padding-bottom: 5px
}


/* Caption styling */
.film-item-caption {
    margin: 0 0 10px 0;
    padding-bottom: 0;
}


/* Tags container fixed to bottom */
.film-item-tags {
    margin: 0;
    padding-top: 10px;
    font-size: 0.8rem;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    text-align: center;
}

/* Tag links styling */
.film-item-tags a {
    color: #fffff;
    text-decoration: underline;
    margin: 0 4px;
    transition: color 0.3s ease;
}

.film-item-tags a:hover {
    color: #eeeeee;
}

/* Padding inside content */
.film-item-content {
    padding: 15px 25px;
}


.film-overlay {
  pointer-events: none;
}

.film-item-tags a {
  pointer-events: auto;
}


.film-category-header {
    display: flex;
    align-items: baseline;      /* keeps link aligned with title text */
    margin-bottom: 20px;        /* match your spacing rhythm */
}

.film-category-more {
    text-decoration: underline;
    transition: opacity 0.2s ease; font-size: 18px; margin-left: 25px
}

.film-category-more:hover {
    opacity: 0.7;
}









/* Team Lists */


.team-intro{position: absolute; width: 33%}


.team-members {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.team-row {
    display: flex;
    flex-wrap: wrap;
       position: relative;
}

.team-members .odd::after {
    content: '';
    position: absolute;
    bottom: 70px;
    left: 0px;
    right: 40px;
    height: 2px;
    background-color: white;
    z-index: 1;
    pointer-events: none;
}

.odd .team-text {
    width: 50%;
    box-sizing: border-box;
    padding-top: 50px;
    padding-right: 50px;
    padding-left: 0px;
    padding-bottom: 100px;
}

.odd .team-image {
    width: 50%;
    box-sizing: border-box;
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 20px;
}



.team-members .even::after {
    content: '';
    position: absolute;
    bottom: 70px;
    left: 40px;
    right: 0px;
    height: 2px;
    background-color: white;
    z-index: 1;
    pointer-events: none;
}

.even .team-text {
    width: 50%;
    box-sizing: border-box;
    padding-top: 50px;
    padding-right: 0px;
    padding-left: 40px;
    padding-bottom: 100px;
}

.even .team-image {
    width: 50%;
    box-sizing: border-box;
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 20px;
}


.team-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.team-image img {
    width: 100%;
    height: auto;
    object-fit: cover
}

.team-text h3 {
    padding-bottom:0px;
    padding-top: 5px;
}

.team-text p {
padding-right: 15%
}

.team-text .team-role{padding-bottom: 25px}




@media screen and (max-width: 768px) {
    .team-row {
        flex-direction: column;
    }

    .team-row .team-image {
        width: 100%;
        order: 1;
    }

    .team-row .team-text {
        width: 100%;
        order: 2;
    }

    .team-intro {
        position: relative;
        width: 100%;
    }

    .team-members .even::after {
        display: none;
    }

    .team-members .odd::after {
        display: none;
    }
    
    .odd .team-text {
    width: 100%;
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 0px;
    padding-bottom: 20px;
}
    
 .even .team-text {
    width: 100%;
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 20px;
}
    
    
}




.team-members-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.team-members-grid .team-card {
    text-align: left; border-bottom-color: #ffffff; border-bottom-width: 1px; border-bottom-style: solid
}

.team-members-grid .team-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.team-members-grid .team-text .team-role {
    padding-bottom:10px;
}

.team-members-grid .team-text {
    margin-top: 25px; margin-bottom: 25px!important
}

.team-members-grid .team-text p {
    font-size: 17px;
    line-height: 24px;
}

@media screen and (max-width: 768px) {
    .team-members-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 500px) {
    .team-members-grid {
        grid-template-columns: 1fr;
    }
}











/* Single Post */


/* FLEX CONTAINER */
#single-post-content {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    align-items: stretch;
}

/* FLEX CHILDREN */
.single-post-content-left {
    width: 31%;
    display: flex;
    flex-direction: column; border-bottom-color: 
#868686; border-bottom-width: 1px; border-bottom-style: solid}


.single-post-content-left h1{
padding-bottom: 0px}

.single-post-content-right {
    width: 66%;
    display: flex;
    flex-direction: column;
}

.single-post-content-right img{
width: 100%!important; height: auto!important
}

/* INNER WRAPPERS STRETCH FULL HEIGHT */
.single-post-content-left-inner,
.single-post-content-right-inner {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* TAGS STICK TO BOTTOM */
.single-post-tags {
    margin-top: auto; /* pushes tags to bottom */
    padding: 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px; font-size: 13px
}


.home-tags {
    margin-top: auto; /* pushes tags to bottom */
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 15px
}


span.tag a{
    padding: 11px;
    background-color: #464545;
    text-decoration: none
}
span.tag a:hover{background-color: #ffffff; color: #464545!important;}



span.hometag a{
    padding-top: 8px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 10px;
    background-color: #000000;
    text-decoration: none;
    color: #ffffff; display: inline-block;
}
span.hometag a:hover{background-color: #464545; color: #ffffff!important;}



/* EMBED STYLING (unchanged) */
.responsive-embed {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* OPTIONAL: STACK ON MOBILE */
@media (max-width: 1112px) {
    #single-post-content {
        flex-direction: column;
    }

    .single-post-content-left,
    .single-post-content-right {
        width: 100%;
    }
}



#single-post-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    align-items: stretch; /* Ensures equal height columns */
    margin-top: 2rem;
}


#single-post-bottom h1,#single-post-bottom h3, #single-post-bottom h4{
padding-top: 0px; padding-bottom: 0px
}

#single-post-bottom-extended {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    align-items: stretch; /* Ensures equal height columns */
    margin-top: 2rem;
}

/* Each column takes 1/3 of the width */
.single-post-bottom-extended-one {
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.single-post-bottom-extended-two {
    width: 31%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.single-post-bottom-one,
.single-post-bottom-two,
.single-post-bottom-three {
    width: 31.3%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Align the first column's content to the bottom */
.single-post-bottom-one {
    justify-content: flex-end;
}

.single-post-bottom-one p{
padding-bottom: 0px; padding-top: 10px
}

/* Optional image styling */
.single-post-bottom-one img, .single-post-bottom-two img,
.single-post-bottom-three img {
    width: 100%;
    height: auto;
    display: block;
}

/* Optional image styling */
.single-post-bottom-extended-two img {
    width: 100%;
    height: auto;
    display: block;
}


@media (max-width: 1112px) {
    #single-post-bottom {
        flex-direction: column;
    }

    .single-post-bottom-one,
    .single-post-bottom-two,
    .single-post-bottom-three {
        width: 100%;
        margin-bottom: 1rem;
    }
}

h3.related-projects-title{padding-bottom: 25px}


.single-post-bottom-simple-inner{max-width: 800px; margin-left: auto; margin-right: auto; text-align: center}

#single-post-bottom-simple{ border-bottom-color: 
#868686; border-bottom-width: 1px; border-bottom-style: solid;  border-top-color: 
#868686; border-top-width: 1px; border-top-style: solid}







/* News Page */



/* === Shared Styles === */

.news-post-grid {
  column-count: 2; /* ← Two masonry columns */
  column-gap:40px; /* ← Horizontal spacing between columns */
}

@media (max-width: 768px) {
  .news-post-grid {
    column-count: 1;
  }
}


.news-post-content {
  position: relative;
}

.news-featured-post .arrow-link {
  bottom: 30px;
  right: 30px;
}

.news-text-image-post .news-post-content .arrow-link {
  bottom: 30px;
  right: 30px;
}

.arrow-link {
  position: absolute;
  bottom: 10px;
  right: 15px;
  display: inline-block;
}

.arrow-link img {
  width: 12px!important;
  height: auto!important;
}



.news-post-grid > * {
  break-inside: avoid; /* Prevent items from breaking between columns */
  margin-bottom: 35px; /* ← Vertical gap between items */
}

.news-post-grid p{
    font-size: 16px;
    line-height: 24px;
}
.news-post-grid h3 a:hover{
text-decoration: underline!important
}

.news-post-grid h4 a:hover{
text-decoration: underline!important
}


.news-category-box,
.news-date-box {
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px;
  margin-right: 5px;
}

.news-category-box {
  background: #fff;
  color: #000;
  text-decoration: none;
}

a.news-category-box{
  color: #000!important;
}

.news-date-box {
  background: #000;
  color: #fff;
}





/* === 1. Featured Post === */

.news-featured-post {
  position: relative;
  width: 100%; margin-bottom: 40px
}



.news-featured-post img {
  width: 100%;
  height: auto;
  display: block;
}

.news-featured-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}

.news-featured-overlay .news-post-meta {
  display: flex;
}

.news-featured-overlay .news-post-content {
    background: #000;
    color: #fff;
    padding-top: 25px;
    padding-right: 25px;
    padding-left: 25px;
    padding-bottom: 15px;
    max-width: 45%;
}


.news-featured-overlay .news-post-content h3 a{
 text-decoration: none; color: #ffffff
}

.news-featured-overlay .news-post-content h3 a:hover{
 text-decoration: underline
}

.news-featured-overlay .news-post-content h3, .news-featured-overlay .news-post-content p{
max-width: 80%
}

.news-post-content h3{
padding-top: 0px; padding-bottom: 10px
}

.news-post-content h4{
padding-top: 0px; padding-bottom: 5px
}


@media (max-width: 768px) {
  .news-featured-post {
    position: static; /* Remove relative positioning */
  }

  .news-featured-overlay {
    position: static; /* No longer absolute */
    padding: 0;
    display: block; /* No flex needed */
    height: auto;
    margin-top: 15px;
  }

  .news-featured-overlay .news-post-content {
    max-width: 100%; /* Full width below image */
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
  }
    
    .news-featured-overlay .news-post-content h3, .news-featured-overlay .news-post-content p {
    max-width:100%;
}
    
    .news-featured-post .arrow-link {
display: none!important
}
    
}






/* === 2. Text Only Post === */

.news-text-only-post {
    background: #202020;
    color: #fff;
    padding-top: 25px;
    padding-right: 25px;
    padding-left: 25px;
    padding-bottom: 15px;
}

.news-text-only-post .news-post-meta {
  margin-bottom: 15px;
}

.news-text-only-post h4{max-width: 80%; margin-top: 60px; padding-bottom: 5px}
.news-text-only-post h4 a{text-decoration: none; color: #ffffff}
.news-text-only-post p{max-width: 80%}






/* === 3. Text and Image Post === */

.news-text-image-post .news-image-wrapper {
  position: relative;
  background: #f5f5f5;
}

.news-text-image-post img {
  width: 100%;
  height: auto;
  display: block;
}

.news-text-image-post .news-post-meta {
  position: absolute;
  top: 25px;
  left: 25px;
}

.news-text-image-post .news-post-content {
    position: absolute;
    bottom: 25px;
    left: 25px;
    background: #fff;
    padding-top: 25px;
    padding-right: 25px;
    padding-left: 25px;
    padding-bottom: 15px;
    max-width: calc(100% - 50px);
    right: 25px
}

.news-text-image-post .news-post-content h4 a{
   text-decoration: none; color: #000000
}



.news-text-image-post .news-post-content p, .news-text-image-post .news-post-content h4{
    max-width: 80%;
}


@media (max-width: 768px) {

    

    
    .news-text-image-post .news-post-content p {
 display: none!important
}
    
}




/* === 4. Rollover Image Post === */

.news-rollover-post .news-image-wrapper {
  position: relative;
  overflow: hidden;
}

.news-rollover-post img {
  display: block;
  width: 100%;
  height: auto;
}

.news-rollover-post .news-overlay {
  position: absolute;
  top: 0;
  left: 0;
  padding: 25px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}

.news-rollover-post .news-post-meta {
  margin-bottom: auto;
}

.news-rollover-post .news-post-content {
  margin-top: auto;
}

.news-rollover-post:hover .news-overlay {
  opacity: 1;
}
.news-rollover-post .news-post-content h4 a{
 text-decoration: none; color: #ffffff
}


.news-rollover-post .news-post-content p, .news-rollover-post .news-post-content p{max-width: 80%}









/* Single news post */


.post-content{max-width: 1000px; margin-left: auto; margin-right: auto}
.post-content-inner{text-align: center}
.post-content-inner img{margin-bottom:70px; margin-top: 70px;   position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  display: block;
  height: auto;}

.post-content-inner p{max-width: 80%; margin-left: auto; margin-right: auto}
.post-content-inner h1, .post-content-inner h2, .post-content-inner h3{max-width: 80%; margin-left: auto; margin-right: auto}
 .post-content-inner h2, .post-content-inner h3{padding-top: 0px; padding-bottom: 15px}

#single-post-footer{text-align: center}

.post-content-inner-date{padding-bottom: 30px}
.post-content-inner-date a{color: #000000; text-decoration: none}
.post-content-inner-date a:hover{text-decoration: underline}









/* Portrait Gallery */


.portraits-gallery {
    margin: 0 auto;
}

.portraits-gallery h2 {
}

/* Masonry-style columns */
.portrait-grid {
    column-count: 3;
    column-gap: 30px;
}

.portrait-item {
    break-inside: avoid;
    margin-bottom: 30px;
    width: 100%;
}

.portrait-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Width modifiers */
.portrait-item.size-small {
    width: 100%; /* displayed in masonry */
}

.portrait-item.size-medium {
    width: 100%;
}

.portrait-item.size-large {
    width: 100%;
    column-span: all; /* not widely supported, fallback */
}



.portrait-item-inner {
    position: relative;
    overflow: hidden;
}

.portrait-item img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.4s ease;
}

.portrait-item:hover img {
    transform: scale(1.05); /* slight zoom effect */
}

.portrait-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* dark transparent overlay */
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.portrait-item:hover .portrait-overlay {
    opacity: 1;
}

.portrait-overlay h3 {
    margin: 0;
    font-size: 1.5rem;
    padding: 10px;
}


/* Responsive columns */
@media (max-width: 1024px) {
    .portrait-grid {
        column-count: 2;
    }
}

@media (max-width: 600px) {
    .portrait-grid {
        column-count: 1;
    }
}










/* WP Bakery Styles */

.paddingtopsmall{padding-top:50px}
.paddingbottomsmall{padding-bottom: 35px}


.paddingtop{padding-top:80px}
.paddingbottom{padding-bottom: 65px}

.margintop{margin-top: 80px}
.marginbottom{margin-bottom: 80px}
.nobottommargin{margin-bottom: 0px!important}

.whitetext p, .whitetext a, .whitetext h1, .whitetext h2, .whitetext h3, .whitetext h4, .whitetext li{color: #ffffff!important}
.darktext p, .darktext a, .darktext h1, .darktext h2, .darktext h3, .darktext h4, .darktext li{color: #000000!important}

.blackbackground{background-color: #000000}
.whitebackground{background-color: #ffffff}

.roundedcorners{border-radius: 8px}

.roundedcorners img{border-radius: 8px}



.flexrow {
    position: relative;
    z-index: 9;
    display: flex;

}

.mobile-nav{display:none}
.mobile-only{display:none!important}
.desktop-only{display: block!important}

.cky-title{display: none!important}
.cky-notice-des a{color:#ffffff}
.cky-notice-des p{padding-bottom: 5px}

.vc_single_image-wrapper {
    position: relative;
    display: inline-block;
}

.vc_figure-caption {
    position: absolute;
    bottom: 15px;
    left: 15px;
    width: 30%;
    background-color: rgba(0, 0, 0, 0.9);
    color: #fff;
    padding: 10px 15px;
    font-size: 0.9rem;
    line-height: 1.4;
    box-sizing: border-box;
    z-index: 2;
}

.videorow{min-height: 600px}



