/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

.no-underline, a.no-underline, .no-underline a {
    text-decoration: none;
}
.slide-out-button {
    color: #ffffff !important;
}
@media (max-width: 768px) {
    .top-bar {
        display: none;
    }
}
.main-navigation .menu-toggle {
    display: none;
}
.main-navigation .main-nav ul li.current_page_parent a {
	color: #357BB6;
}
.site-logo {
    margin-top: -40px;
    background-color: #ffffff;
    -webkit-border-top-left-radius: 14px;
    -webkit-border-top-right-radius: 14px;
    -moz-border-radius-topleft: 14px;
    -moz-border-radius-topright: 14px;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}
@media (max-width: 768px) {
    .site-header .header-image {
        padding: 10px 20px 6px;
    }
}
.top-bar .inside-top-bar {
    flex-direction: row-reverse;
}
@media (min-width: 1080px) {
	.home .site-logo {
		margin-top: 0px;
	}
}
.home .site-logo, .home .main-navigation {
	background-color: transparent;
}
.home .main-navigation.offside {
	background-color: #ffffff;
}
.background-video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* opacity: 0.5; */
}
.page .content-area, .blog .content-area, .category .content-area, .single .content-area {
	padding-bottom: 40px;
}
.background-video-content {
    position: relative;
    z-index: 1;
}
video[poster] {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.blog button, .blog a.button {
    border-radius: 40px;
    padding: .7rem 2.8rem .7rem 1.7rem;
    background-image: url(/wp-content/uploads/2025/08/arrow-forward-white.svg);
    background-repeat: no-repeat;
    background-position: 84% 50%;
    background-size: 15px 15px;
}
@media (min-width: 1000px) {
	.horizontal-form .contact-container {
		display: flex;
	}
	.horizontal-form .contact-interior-container {
		display: flex;
		max-width: 1000px;
	}
	.horizontal-form .contact-interior-container p:first-child, .horizontal-form .contact-interior-container p:nth-child(2), .horizontal-form .contact-interior-container p:nth-child(3), .horizontal-form .contact-interior-container p:nth-child(4) {
		width: 25%;
		padding-right: 15px;
	}
	.horizontal-form textarea {
		height: 47px;
	}
}
@media (max-width: 1000px) {
	.horizontal-form .contact-container {
		max-width: 600px;
		margin: 0 auto;
	}
	.horizontal-form input, .horizontal-form textarea {
		width: 100%;
	}
	.horizontal-form p {
		margin-bottom: 14px;
	}
	.horizontal-form textarea  {
		height: 100px;
	}
}
.horizontal-form input, .horizontal-form textarea {
	background-color: #fff;
    border: 1px solid #D8D8D8;
    border-radius: 40px;
}
.horizontal-form .contact-submit button {
	background-color: #3882c0;
    color: #ffffff;
    font-weight: 500;
    -webkit-border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
    border-radius: 40px;
}
.horizontal-form .contact-submit button:hover {
    background-color: #222222;
}
.horizontal-form .contact-submit button span {
	text-transform: uppercase;
    display: flex;
    align-items: center;
}
.horizontal-form .contact-submit img {
    height: 15px;
    width: 15px;
    margin-left: 6px;
}
.cta {
  width: 278px;
  height: 310px;
  position: relative;
  overflow: hidden;
}
.cta_content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  transition: transform 0.5s ease;
}
.cta_headline {
  margin: 0;
  transform: translateY(0);
  transition: transform 0.5s ease;    
  font-size: 22px;
  font-weight: 500;
}
.cta_text,
.cta_button {
  opacity: 0;
  transform: translateY(12px);
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.45s ease, transform 0.45s ease, max-height 0.45s ease;
}
.cta_button {
  display: inline-block;
  border-radius: 0;
  text-decoration: none;
  margin: 0; 
}
.cta:hover .cta_headline,
.cta:focus-within .cta_headline {
  transform: translateY(-10px); 
  margin-bottom: 4px;          
}
.cta .cta_text,
.cta .cta_button {
  display: none;
}
.cta:hover .cta_text,
.cta:focus-within .cta_text,
.cta:hover .cta_button,
.cta:focus-within .cta_button {
  display: flex;
} 
.cta:hover .cta_text,
.cta:hover .cta_button,
.cta:focus-within .cta_text,
.cta:focus-within .cta_button {
  opacity: 1;
  transform: translateY(0);
  max-height: 220px;
}
@media (prefers-reduced-motion: reduce) {
  .cta_content,
  .cta_headline,
  .cta_text,
  .cta_button {
    transition: none !important;
    transform: none !important;
  }
  .cta_text,
  .cta_button {
    opacity: 1;
    max-height: none;
  }
}
.single-video h1 {
    max-width: 880px;
    padding: 0 40px;
    margin: 0 auto 20px !important;
}
.single-video .site-content .content-area {
    max-width: 880px;
    padding: 0 40px;
    margin: 0 auto 40px;
}
.single-video.full-width-content.one-container .site-content {
    padding: 40px;
}
.pgcu-post--rounded-border .pgcu-post__details {
    background-color: #1b517e !important;
}
.pgcu-post--rounded-border .pgcu-post__details {
    border: 0px solid #1b517e !important;
    border-radius: 0 0 0px 0px !important;
}
.pgcu-post__content {
    background: #1b517e !important;
}
.video_carousel { position: relative; }
.video_carousel .tns-controls {
  position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%);
  display: flex; justify-content: space-between; pointer-events: none;
}
.video_carousel .tns-controls button {
  pointer-events: auto; border: 0; background: rgba(0,0,0,0.6); color: #fff;
  font-size: 2rem; padding: .25em .5em; cursor: pointer;
}
.video_carousel .tns-controls [data-controls="prev"] { position: absolute; left: -40px; }
.video_carousel .tns-controls [data-controls="next"] { position: absolute; right: -40px; }
.video_carousel {
  position: relative;
}

/* Position nav container absolutely over the slider */
.video_carousel .tns-controls {
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none; /* let clicks through, except buttons */
}

.video_carousel .tns-controls button {
  pointer-events: auto;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #1b517e;
  color: #fff;
  border: none;
  font-size: 1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
  border: 1px solid #ffffff;
}

/* Left/right offset: pushes them outside */
.video_carousel .tns-controls [data-controls="prev"] {
  position: absolute;
  left: -60px; /* adjust distance from slider */
}
.video_carousel .tns-controls [data-controls="next"] {
  position: absolute;
  right: -60px;
}

@media (max-width: 768px) {
	.video_carousel .tns-controls [data-controls="prev"] {
		left: -20px !important; /* adjust distance from slider */
	}
	.video_carousel .tns-controls [data-controls="next"] {
		right: -20px !important;
	}	
	.video_carousel .tns-controls {
		z-index: 20;
	}
}

.video_carousel .tns-controls button:hover {
  background: rgba(0,0,0,0.8);
}
img.video-thumb {
  width: 100%;
  height: 196px;
  object-fit: cover;   /* fills the box without distortion */
  object-position: center; /* optional, keeps focus centered */
}
.video_slide {
  position: relative;
  display: block;
  text-decoration: none;
}

/* Container for the thumbnail and overlay */
.thumb-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 196px; /* fixed thumbnail height */
}

/* Featured image */
.video-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Play button overlay */
.play-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  pointer-events: none; /* keeps full link clickable */
}
