/* Generated by Orbisius Child Theme Creator (https://orbisius.com/products/wordpress-plugins/orbisius-child-theme-creator/) on Thu, 17 Nov 2022 19:58:39 +0000 */ 
/* The plugin now uses the recommended approach for loading the css files.*/

.full-section .hero-text{
	width: 100%;
	max-width: 100%;
}
.full-section .hero-desc{
	max-width: 100% !important;
}
.full-section .hero-buttons{
	justify-content: center;
}
.et_pb_gallery .et_overlay{background: rgba(0,0,0,0.2);}
.et_pb_gallery .et_overlay:before{color: #e8a087;}

.contact-item.white a{
color: #fff !important;
}
.contact-item.white a:hover{
color: rgba(212,229, 226, 0.6) !important;
}
.contact-item.white a p{
color: #fff !important;
}
.contact-item.white a:hover p{
color: rgba(212,229, 226, 0.6) !important;
}
/* Consistent footer contact links: address (direct <a>) and phone/email (<a> inside <p>)
   share one accent-coral style, font-size + white hover, regardless of markup nesting.
   (Surrounding <p> text — hours, "We respond…" — stays at its smaller size.) */
.contact-item.white a,
.contact-item.white p a{
color: #e8a087 !important;
font-size: 18px;
line-height: 1.6;
text-decoration: underline;
}
.contact-item.white a:hover,
.contact-item.white p a:hover{
color: #ffffff !important;
}
/* Top-align the footer contact items so each label lines up with the top of its
   diamond icon (item heights differ: 2 vs 4 text lines). */
.contact-item.white{ align-items: flex-start; }

.single-post .et_pb_post_content a{
	color: #3a8780 !important;
    text-decoration: underline;
}
.single-post .et_pb_post_content a:hover{
	color: #fec144 !important;
}
.single-post .et_pb_post_content h2, .single-post .et_pb_post_content h3{
	margin: 0 0 15px 0;
}

.blog-list .et_pb_ajax_pagination_container{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.blog-list .et_pb_post{
	width: calc(50% - 15px);
	display: flex;
  	flex-direction: column;
  	align-items: flex-start;
	border: 1px solid #ccc;
	margin: 0;
}
.blog-list .et_pb_post .entry-featured-image-url{
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	margin: 0 0 20px 0;
	overflow: hidden;
}
.blog-list .et_pb_post .entry-featured-image-url img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
}
#page-container .blog-list.et_pb_blog_0 .et_pb_post .entry-title{
	font-size: 26px !important;
  line-height: 33px !important;
  margin: 0 15px 15px;
}
body .blog-list .et_pb_post .entry-title a{
	font-family: "Cormorant Garamond",serif !important;
}
.blog-list .et_pb_post .entry-title a:hover{
	color: #1a4a45 !important;
}
.blog-list .et_pb_post .post-meta{
	color: #1a4a45;
	font-weight: 400;
	margin: 0 15px 10px 15px;
}
.blog-list .et_pb_post .post-content{
	width: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 15px 15px;
}
.blog-list .et_pb_post .post-content-inner{
	margin: 0 0 15px;
}
.blog-list .et_pb_post .post-content-inner p{
	color: #000;
	font-size: 15px;
}
.blog-list.et_pb_posts a.more-link{
	background: #e8a087;
	color: #fff;
	font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
	display: flex;
	padding: 9px 15px 8px;
}
.blog-list.et_pb_posts a.more-link:hover{
	background: #1a4a45;
}
.blog-list .et_pb_ajax_pagination_container > div:last-child{
	width: 100%;
}
.blog-list .pagination{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.blog-list .pagination a{
	font-weight: 400;
}
.blog-list .pagination:after{
	display: none;
}
.blog-list .pagination a:hover{
	color: #e8a087 !important;
}
.testimonial-author{
	justify-content: center;
	text-align: center;
}
.author-info h4{
	color: #000 !important;
  text-align: center !important;
}
.testimonial-rating{
	justify-content: center;
}
.et_pb_text_0 a {
	font-size: inherit !important;
	line-height: inherit !important;
}
.footer-links{
	padding: 0 !important;
}
.single-post .et_builder_inner_content h2{
	font-size: 26px;
}
.single-post .et_pb_post_content h2{
	color: #133b37;
	font-weight: 700;
}
.single-post .et_pb_post_content h3{
	color: #133b37;
	font-weight: 700;
}
.single-post .et_pb_post_content p{
	font-size: 16px !important;
	font-family: "Libre Franklin",sans-serif;
}
.single-post .et_pb_post_content ul li{
	font-size: 16px !important;
	font-family: "Libre Franklin",sans-serif;
}
.sidebar h3{
		font-size: 22px;
		font-weight: 700;
	}
    
.tmj-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 3vw, 60px);
    width: 100% !Important;
    box-sizing: border-box;
    
  }

  .tmj-banner-logo {
    flex-shrink: 0;
  }

  .tmj-banner-logo img {
    height: clamp(28px, 3.5vw, 65px);
    width: auto;
    display: block;
  }

  /* the INTERNATIONAL lockup logo lives inside .tmj-banner-stats on this layout;
     it is the only <img> in the banner (stat icons are inline SVG). */
  .tmj-banner img,
  .tmj-banner-stats img {
    height: 65px;
    width: auto;
    max-width: 100%;
    display: block;
  }

  .tmj-banner-stats {
    display: flex;
    align-items: center;
    gap: 15px !important;
    flex-wrap: nowrap;
    flex: 1;
    
  }

  .tmj-banner-stat {
    display: flex;
    align-items: center;
    gap: 15px !important;
    white-space: nowrap;
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    
  }

  .tmj-banner-icon {
    flex-shrink: 0;
    display: flex;
  }

  .tmj-banner-icon svg {
    width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  }

  .tmj-banner-stat-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    font-family: "Cormorant Garamond", sans-serif !important;
  }

  .tmj-banner-big {
    color: #e8913a;
    font-size: clamp(10px, 1.5vw, 28px);
    font-weight: 700;
    line-height: 1.15;
    
  }

  .tmj-banner-small {
    color: #ffffff;
    font-size: clamp(5px, 0.65vw, 12px);
    font-weight: 600;
    letter-spacing: clamp(0.3px, 0.08vw, 1.5px);
    text-transform: uppercase;
    line-height: 1.3;
  }
  .author-info span{
  font-size: 14px;
  }

  .mobile-menu{
    display: none;
  }

  @media (max-width: 600px) {
    .tmj-banner {
      flex-wrap: wrap;
      justify-content: center;
      gap: clamp(6px, 2vw, 16px);
    }
    .tmj-banner-stats {
      flex-wrap: wrap;
      justify-content: center;
      gap: clamp(10px, 3vw, 20px);
    }
  }

/* Old mobile-menu styles removed 2026-03-27 - now handled in header.css */

@media screen and (max-width: 1199px) {
	.blog-list .et_pb_ajax_pagination_container{
		gap: 20px;
	}
	.blog-list .et_pb_post{
		width: calc(50% - 10px);
	}
	#page-container .blog-list.et_pb_blog_0 .et_pb_post .entry-title{
		font-size: 24px !important;
  		line-height: 30px !important;
	}
	.tmj-banner-icon svg {
	width: 35px !important;
	height: 35px !important;
	min-width: 35px !important;
}
.tmj-banner-big{
	font-size: 16px !important;
}
.tmj-banner-small{
	font-size: 10px !important;
	letter-spacing: 1px !important;
}
}

@media screen and (max-width: 980px) {
	.tmj-banner-stats{
		flex-wrap: wrap !important;
		justify-content: center;
		flex: inherit !important;
		gap: 15px 25px !important;
	}
	.tmj-banner-stat{
		width: 33.33% !important;
		flex: inherit !important;
	}
	.ac-logo-item img{
		max-width: 120px !important;
		max-height: 60px !important;
	}
}

@media screen and (max-width: 767px) {
	body .et_pb_image{
    	height: auto !important;
    }
}

@media screen and (max-width: 639px) {
	.blog-list .et_pb_post {
		width: 100%;
	}
	.tmj-banner-stats{
		width: 100% !important;
		flex-direction: column;
		gap: 25px !important;
	}
	.tmj-banner-stats img{
		max-width: 200px;
		height: auto;   /* let the capped width scale height so the logo isn't squashed */
	}
}

@media screen and (max-width: 600px) {
    .mobile-menu{
      max-width: 100%;
      padding: 100px 0 30px 0;
      }
      body.open-menu .nav-container .logo-img--black{
        display: none;
      }
      body.open-menu .nav-container .logo-img--white{
        display: block;
      }
  }
/* Mobile: hero buttons in column/stacked mode — left-align group + indent secondary (2026-07-08) */
@media (max-width: 600px) {
	.full-section .hero-buttons,
	.hero-buttons {
		justify-content: flex-start;
	}
	.hero-buttons .btn-secondary {
		padding-left: 34px;
	}
}

/* Clip the logo-carousel marquee to the viewport (plugin component relies on body
   overflow clipping, which the standalone theme reproduces here).
   NOTE (2026-07-29): .avg-marquee (the animated track) must NOT be listed here.
   The plugin sets it to width:max-content and clones logo groups until the track
   is 2x the row width; max-width:100% collapsed the track to the row width, so
   its own overflow:hidden sliced off every logo past ~7 and the translateX(-N%)
   loop shift (a % of the track width) no longer equalled one group -> visible
   clipping + a jumping seam. The row + wrapper below already do the clipping. */
.anchor-video-gallery.avg-layout-logo-carousel,
.avg-marquee-row { overflow: hidden !important; max-width: 100%; }
