/* Theme Name:   NLR
 Description:    A custom theme for the NLR website, based on the Divi theme.
 Author:         AWP
 Author URI:     https://awpny.com
 Template:       Divi
 Version:        1.0.0
*/

/*---------------------*/
/* SCREEN READERS ONLY */
/*---------------------*/

.sr-only { 
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0;
}

/*------------------------*/
/* Header nav link styles */
/*------------------------*/

.et-menu-nav ul li:not(.et_pb_menu__logo-slot) a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: 35%;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.et-menu-nav ul li:not(.et_pb_menu__logo-slot) a:hover::before {
  transform: scaleX(1);
}
.et-menu-nav ul li a:hover {
    opacity: 1;
	color: #fff;
}
/* add darkness under the stickey header when it shrinks */
.et_builder_inner_content.et_pb_gutters3 {
    background-color: #001321;
}

/*--------------------*/
/*  Main link styles  */
/*--------------------*/

body:not(.et_pb_pagebuilder_layout) .entry-content a, .et_pb_text a, .et_pb_toggle a, .et_pb_blurb_container a, .et_pb_blog_grid .entry-title a {
    border-bottom: 1px dotted #ccc;
}
body:not(.et_pb_pagebuilder_layout) .entry-content a:hover, .et_pb_text a:hover, .et_pb_toggle a:hover, .et_pb_blurb_container a:hover, .et_pb_blog_grid .entry-title a:hover {
	border-bottom: 1px solid #000;
}
.nlr-footer a:hover {
	border-bottom: 1px solid #fff;
}

/*-------------------------------*/
/*** photoswipe caption styles ***/
/*-------------------------------*/

.pswp__dynamic-caption {
	background-color: #3b8619;
}
.pswp__caption {
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	color: #fff;
}
.pswp__dynamic-caption--below {
	padding-top:10px;
	max-width:100%;
}

/*------------------------*/
/*** mobile menu tweaks ***/
/*------------------------*/

/* logo and menu side-by-side */
@media all and (max-width: 767px) {

.et_pb_menu_inner_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.et_pb_menu__logo-wrap {
  flex-shrink: 0;
}

.et_pb_menu__wrap {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
}

.et_pb_menu__menu {
  display: flex;
}

.et_pb_menu__menu ul {
  display: flex;
  gap: 20px;
}
/* remove extra margin from under logo */
.et_pb_menu--style-inline_centered_logo .et_pb_menu_inner_container>.et_pb_menu__logo-wrap {
		margin-bottom:0px;
}
/* drop-down styles */
	.et_mobile_menu {
		border-top:0px;
		text-align:center !important;
		transform: translateY(20px);
	}

}

.footer-blurb .et_pb_main_blurb_image {
	width: 18px;
}

/*------------------------------------------*/
/*** Support equal height portfolio items ***/
/*------------------------------------------*/

.pa-blog-equal-height .pa-auto-height {
    height: auto !important;
}

.pa-blog-equal-height .pa-auto-margin {
    margin-top: 20px !important;
}

/*** more case studies ***/
.more-case-studies .et_pb_post.project.type-project {
    margin-bottom: 40px;
}
.more-case-studies .pagination.clearfix {
    padding-top: 30px;
}

/*** testimonial document link ***/
p>.testimonial-link::before {
	content: "h";
    font-family: ETmodules;
    padding-right: 5px;
    speak: none;
}
.testimonial-link {
	border-bottom: 1px dotted #999;
}
.testimonial-link:hover {
	border-bottom: 1px solid #333;
}

/*--------------------------------------------*/
/*** style the wp-pagenavi pagination links ***/
/*--------------------------------------------*/

/* Add space above portfolio pagination */
.pagination.clearfix {
    padding-top: 40px;
}

/* page link styles */
.wp-pagenavi a,
.wp-pagenavi span {
	color: #000000;
	background: #f1f3f5;
	font-size: 1em !important;
	line-height: 1em;
	font-weight: bold !important;
	padding: 0.45em 0.8em !important;
	border-radius: 100px;
  border: none;
	transition: all .5s;
}
/* style the wp-pagenavi current page number */
.wp-pagenavi span.current {
	color: #ffffff !important;
	background: #3b8619 !important;
	border-radius: 100px;
}
/* style the wp-pagenavi pagination links on hover */
.wp-pagenavi a:hover {
	color: #ffffff !important;
	background: #3b8619 !important;
}
/* style the wp-pagenavi pages text */
.wp-pagenavi .pages {
	background: none;
}
/* remove border and center the wp-pagenavi links */
.wp-pagenavi {
	border-top: none;
	text-align: center;
}
/* add some space above the pagination */
#samples .wp-pagenavi {
	padding-top: 50px;
}

/*----------------------*/
/***   Footer logos   ***/
/*----------------------*/

.footer-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px; /* comfortable horizontal spacing */
  flex-wrap: wrap; /* allows stacking if needed */
  margin-top: 20px;
}

.footer-logos img {
  max-width: 180px;
  height: auto;
}

@media (max-width: 768px) {
  .footer-logos {
    flex-direction: column;
    gap: 30px; /* comfortable vertical spacing */
  }

  .footer-logos img {
    max-width: 70%; /* scales nicely on mobile */
  }
}

/*----------------------------*/
/***  Cookie notice styles  ***/
/*----------------------------*/

.cc-link {
	opacity: 1;
}

/*------------------------------------------------*/
/***  Project carousel on project detail pages  ***/
/*------------------------------------------------*/

/* Make the link fill the thumbnail so the outline matches the full image area */
.dsm_post_carousel .dsm-entry-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
}

/* Use normal flow for pagination so it can sit above the button in the flex column */
.dsm_post_carousel .swiper-container-horizontal > .swiper-pagination-bullets {
    position: static;
    bottom: auto;
    left: auto;
    width: auto; /* or 100%, either is fine visually */
    margin-top: 0;
}

/* Visible focus outline for keyboard users */
.dsm_post_carousel .dsm-entry-thumbnail a:focus-visible,
.dsm_post_carousel .dsm-entry-thumbnail a:focus {
    outline: 4px solid #000 !important;
    outline-offset: -4px;
}

/* Center pagination + button */
.dsm_post_carousel .swiper-container-horizontal {
    text-align: center;
}

/* Play/Pause button */
.dsm_post_carousel .dsm-carousel-pause-toggle {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 10px; 
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #3b8619;
    background: #fff;
    border: 1px solid #3b8619;           
    border-radius: 0;       
    cursor: pointer;

    transition: all 0.15s ease;
}

/* Hover + keyboard focus */
.dsm_post_carousel .dsm-carousel-pause-toggle:hover,
.dsm_post_carousel .dsm-carousel-pause-toggle:focus-visible {
    background: #3b8619;
    color: #fff;
}

/* Accessible focus ring (on top of hover border) */
.dsm_post_carousel .dsm-carousel-pause-toggle:focus-visible {
    outline: 2px solid #3b8619;
    outline-offset: 2px;
}
