/*

*  Theme Name: Netscriperwp WOW Association

*  Author: Netscriper

*  Author URI: http://www.netscriper.com/

*/

/* ==========================================================================

   LOCAL FONT FACES (themes/ns-wow/fonts/)

   ========================================================================== */

/* ==========================================================================

   CREATIVE PROJECT GALLERY (ACF DYNAMIC MOSAIC)

   ========================================================================== */

.creative-gallery-section {
  position: relative;

  background-color: transparent;
}

/* Accent Line + Section Title */

.gallery-title-accent {
  width: 4px;

  height: 22px;

  background-color: #df6b6c; /* Or theme red #e50914 */

  border-radius: 2px;

  margin-right: 12px;
}

.gallery-section-title {
  font-family: var(--para-text, "Poppins", sans-serif);

  font-size: 18px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  color: #ffffff;
}

/* 5-Column Grid Matrix */

.creative-gallery-grid {
  display: grid;

  grid-template-columns: repeat(5, 1fr);

  grid-auto-rows: 175px;

  gap: 14px;
}

/* Base Gallery Item Box */

.gallery-item {
  position: relative;

  border-radius: 12px;

  overflow: hidden;

  background-color: #1a1a1e;
}

/* Index 0: Large Square (2 Columns x 2 Rows) */

.gallery-item.gallery-item-square-large {
  grid-column: span 2;

  grid-row: span 2;
}

/* Index 4: Wide Landscape Banner (spans 3 Columns x 2 Rows like the screenshot) */

.gallery-item.gallery-item-landscape {
  grid-column: span 3;

  grid-row: span 2;
}

/* Link & Image Wrapper */

.gallery-link {
  display: block;

  width: 100%;

  height: 100%;

  text-decoration: none;
}

.gallery-image-wrapper {
  position: relative;

  width: 100%;

  height: 100%;

  overflow: hidden;
}

.gallery-img {
  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition:
    transform 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
    filter 0.4s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.06);

  filter: brightness(0.85);
}

/* Hover Overlay & Red Icon */

.gallery-overlay {
  position: absolute;

  inset: 0;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  background: rgba(0, 0, 0, 0.45);

  opacity: 0;

  backdrop-filter: blur(2px);

  -webkit-backdrop-filter: blur(2px);

  transition: opacity 0.3s ease;

  z-index: 2;

  padding: 15px;

  text-align: center;
}

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

/* Circular Zoom Button */

.gallery-icon {
  width: 44px;

  height: 44px;

  border-radius: 50%;

  background-color: #df6b6c; /* Matching theme red */

  color: #ffffff;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  box-shadow: 0 4px 15px rgba(223, 107, 108, 0.45);

  transform: scale(0.85);

  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.gallery-item:hover .gallery-icon {
  transform: scale(1);
}

.gallery-caption-text {
  font-family: var(--para-text, "Poppins", sans-serif);

  font-size: 12px;

  font-weight: 500;

  color: #ffffff;

  margin-top: 8px;

  line-height: 1.3;
}

/* ==========================================================================

   RESPONSIVE BREAKPOINTS

   ========================================================================== */

@media (max-width: 1199px) {
  .creative-gallery-grid {
    grid-template-columns: repeat(4, 1fr);

    grid-auto-rows: 155px;
  }
}

@media (max-width: 991px) {
  .creative-gallery-grid {
    grid-template-columns: repeat(3, 1fr);

    grid-auto-rows: 150px;
  }

  .gallery-item.gallery-item-square-large,
  .gallery-item.gallery-item-landscape {
    grid-column: span 3;

    grid-row: span 2;
  }
}

@media (max-width: 575px) {
  .creative-gallery-grid {
    grid-template-columns: repeat(2, 1fr);

    grid-auto-rows: 130px;

    gap: 8px;
  }

  .gallery-item.gallery-item-square-large,
  .gallery-item.gallery-item-landscape {
    grid-column: span 2;

    grid-row: span 2;
  }
}

/* ==========================================================================

   PURE CSS MASONRY (ZERO JS LIBRARIES NEEDED)

   ========================================================================== */

/* The column engine */

.pure-masonry-grid {
  column-count: 3;

  column-gap: 24px;

  width: 100%;
}

/* Prevents cards from splitting across column breaks */

.pure-masonry-item {
  break-inside: avoid;

  -webkit-column-break-inside: avoid;

  page-break-inside: avoid;

  margin-bottom: 24px;

  display: inline-block;

  width: 100%;
}

/* Card Styling */

.gallery-card {
  position: relative;

  border-radius: 18px;

  overflow: hidden;

  background-color: #f0f0f2;

  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.gallery-card:hover {
  transform: translateY(-4px);

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1);
}

.gallery-lightbox-link {
  display: block;

  position: relative;

  width: 100%;

  text-decoration: none;
}

.gallery-card img {
  width: 100%;

  height: auto;

  display: block;

  transition: transform 0.4s ease;
}

.gallery-card:hover img {
  transform: scale(1.03);
}

/* Hover Overlay */

.gallery-overlay {
  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.7) 100%);

  display: flex;

  align-items: flex-end;

  padding: 20px;

  opacity: 0;

  transition: opacity 0.3s ease;
}

.gallery-card:hover .gallery-overlay {
  opacity: 1;
}

.overlay-caption {
  color: #ffffff;

  font-size: 14px;

  font-weight: 500;

  letter-spacing: 0.02em;
}

/* Responsive Column Breakpoints */

@media (max-width: 991px) {
  .pure-masonry-grid {
    column-count: 2;

    column-gap: 18px;
  }

  .pure-masonry-item {
    margin-bottom: 18px;
  }
}

@media (max-width: 575px) {
  .pure-masonry-grid {
    column-count: 1;

    column-gap: 0;
  }

  .pure-masonry-item {
    margin-bottom: 16px;
  }
}

/* ----------------- JUDSON (Serif) ----------------- */

/* Regular (400) */

@font-face {
  font-family: "Judson";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("fonts/Judson-Regular.ttf") format("truetype");
}

/* Bold (700) */

@font-face {
  font-family: "Judson";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("fonts/Judson-Bold.ttf") format("truetype");
}

/* ----------------- POPPINS (Sans-Serif) ----------------- */

/* Thin (100) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 100;

  font-display: swap;

  src: url("fonts/Poppins-Thin.ttf") format("truetype");
}

/* ExtraLight (200) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 200;

  font-display: swap;

  src: url("fonts/Poppins-ExtraLight.ttf") format("truetype");
}

/* Light (300) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 300;

  font-display: swap;

  src: url("fonts/Poppins-Light.ttf") format("truetype");
}

/* Regular (400) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("fonts/Poppins-Regular.ttf") format("truetype");
}

/* Medium (500) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 500;

  font-display: swap;

  src: url("fonts/Poppins-Medium.ttf") format("truetype");
}

/* Bold (700) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("fonts/Poppins-Bold.ttf") format("truetype");
}

/* ExtraBold (800) */

@font-face {
  font-family: "Poppins";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("fonts/Poppins-ExtraBold.ttf") format("truetype");
}

/* ==========================================================================

   CSS VARIABLES & SELECTORS

   ========================================================================== */

/* :root {

  --para-text: 'Poppins', sans-serif;

  --title-text: 'Judson', serif;

}



body,

p,

span,

a,

button,

input,

textarea {

  font-family: var(--para-text);

}



h1,

h2,

h3,

h4,

h5,

h6,

.section-title,

.card-title {

  font-family: var(--title-text);

} */

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

header {
  -webkit-transition: all 0.5s ease;

  -moz-transition: position 10s;

  -ms-transition: position 10s;

  -o-transition: position 10s;

  transition: all 0.5s ease;

  position: relative;

  z-index: 999;

  /* border-top: 8px solid #0c4da2; */

  /* padding-top: 17px; */

  padding-top: 15px;
}

header.fix {
  position: fixed;

  top: 0;

  z-index: 999;

  background-color: #fff;

  width: 100%;

  left: 0;

  animation: smoothScroll 1s forwards;

  box-shadow: 1px -1px 7px #000;
}

div.sub-banner {
  height: 400px;

  display: flex;

  flex-flow: nowrap;

  align-items: center;
}

section#main-page {
  position: relative;
}

/*



   Styles for animated modal

   =========================



*/

/* Start state */

.animated-modal {
  max-width: 550px;

  border-radius: 4px;

  overflow: hidden;

  transform: translateY(-50px);

  transition: all 0.7s;
}

.animated-modal h2,
.animated-modal p {
  transform: translateY(-50px);

  opacity: 0;

  transition-property: transform, opacity;

  transition-duration: 0.4s;
}

/* Final state */

.fancybox-slide--current .animated-modal,
.fancybox-slide--current .animated-modal h2,
.fancybox-slide--current .animated-modal p {
  transform: translateY(0);

  opacity: 1;
}

/* Reveal content with different delays */

.fancybox-slide--current .animated-modal h2 {
  transition-delay: 0.1s;

  font-family: "Inria Serif";

  font-weight: 800;

  font-size: 23px;
}

.fancybox-slide--current .animated-modal p {
  transition-delay: 0.3s;

  font-family: "Inria Serif";
}

button.fancybox-close-small:after {
  content: "\F628";

  font-family: bootstrap-icons !important;

  color: #0d6efd;
}

/************** menu **************/

.dropdown-menu-lg-end:hover ul.dropdown-menu {
  display: block;
}

nav#site-nav {
  padding: 0;
}

.dropdown-menu-start a:hover ul.dropdown-menu,
.dropdown-menu-start a:focus ul.dropdown-menu {
  display: block !important;
}

@keyframes smoothScroll {
  0% {
    transform: translateY(-40px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* Pagination */

ul.page-numbers {
  padding-left: 0px;
}

ul.page-numbers li {
  float: left;

  height: 35px;

  width: 35px;

  list-style: none;

  line-height: 35px;

  text-align: center;

  padding: 0px;

  border-radius: 100px;

  margin-right: 3px;

  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
}

ul.page-numbers li span.current {
  color: #000;

  font-size: 16px;
}

.content-img img {
  width: 100%;

  height: auto;
}

/* 404 error */

.error img {
  position: relative;

  margin: 0 auto;
}

.back-home-wrap p {
  font-size: 21px;

  margin-top: 50px;
}

.back-home-wrap {
  text-align: center;

  left: 0;

  right: 0;
}

.error {
  height: 400px;
}

.back-home {
  margin-top: 14px;

  border-radius: 0;
}

#go-top {
  cursor: pointer;

  width: 42px;

  height: 42px;

  border-radius: 50%;

  background-color: var(--hightlight-color);

  color: #fff;

  display: flex;

  justify-content: center;

  align-items: center;

  font-size: 18px;

  position: fixed;

  right: 14px;

  bottom: 14px;

  z-index: 999;

  transform: rotate(-90deg);

  padding: 10px;
}

i.fa-solid.fa-arrow-up {
  color: var(--primarycolor);
}

/* Breadcrumb */

#ns_breadcrumb {
  list-style-type: none;

  display: inline-block;
}

#ns_breadcrumb li {
  display: inline-block;
}

.ns_breadcrumb {
  list-style: none;

  padding: 0;
}

ol.breadcrumb.ns-bcr {
  justify-content: start;

  background-color: transparent;

  padding-left: 0;

  padding-top: 0px;

  margin-bottom: 0;

  padding-bottom: 0;

  padding-right: 0;

  margin-top: 15px;

  margin-left: 15px;
}

.ns_breadcrumb li {
  list-style: none;

  margin: 0;

  padding: 0;

  display: block;

  float: left;

  font-size: 13px;

  text-transform: uppercase;

  font-weight: 700;

  letter-spacing: 0.05em;

  line-height: 20px;

  color: hsl(0deg 0% 100%);
}

.ns_breadcrumb li a {
  display: block;

  padding: 0 40px 0 0px;

  color: hsl(0deg 0% 100%);

  text-decoration: none;

  height: 20px;

  position: relative;

  perspective: 700px;
}

.ns_breadcrumb li a:after {
  content: "";

  width: 20px;

  height: 20px;

  border-color: #fff;

  border-style: solid;

  border-width: 1px 1px 0 0;

  -webkit-backface-visibility: hidden;

  outline: 1px solid transparent;

  position: absolute;

  right: 20px;

  -webkit-transition: all 0.15s ease;

  -moz-transition: all 0.15s ease;

  -ms-transition: all 0.15s ease;

  transition: all 0.15s ease;

  -webkit-transform: rotateZ(45deg) skew(10deg, 10deg);

  -moz-transform: rotateZ(45deg) skew(10deg, 10deg);

  -ms-transform: rotateZ(45deg) skew(10deg, 10deg);

  transform: rotateZ(45deg) skew(10deg, 10deg);
}

.ns_breadcrumb li a:hover:after {
  right: 15px;

  -webkit-transform: rotateZ(45deg) skew(-10deg, -10deg);

  -moz-transform: rotateZ(45deg) skew(-10deg, -10deg);

  -ms-transform: rotateZ(45deg) skew(-10deg, -10deg);

  transform: rotateZ(45deg) skew(-10deg, -10deg);
}

/*.sub-banner:before {

    position: absolute;

    background: #000;

    width: 100%;

    height: 300px;

    bottom: 0;

    content: '';

    opacity: 0.6;

   

}

.sub-banner{

    position: relative;

    

}*/

.sub-banner li.breadcrumb-item a {
  color: #3fb385;
}

.sub-banner .breadcrumb-item + .breadcrumb-item::before {
  color: #3fb385;
}

.sub-banner li.breadcrumb-item {
  color: #fff;
}

.page-meta {
  display: inline-block;

  background-color: rgba(0, 0, 0, 0.5);

  padding: 1rem;
}

/***************** Home Page ****************/

.splide__slide__content {
  position: absolute;

  top: 50%;

  color: #fff;

  left: 0;

  right: 0;

  width: 100%;
}

.splide__slide__content h2.wp-block-heading {
  font-weight: 700;

  text-align: center;

  color: #fff;
}

.splide__slide__content p {
  line-height: 30px;

  font-weight: 400;

  text-align: center;
}

/********************** Media Query ********************/

/* .xs = | Extra Small devices only (portrait phones) less than 576px --*/

@media (max-width: 575.98px) {
}

/* .sm > | Small devices and up (landscape, phones) 576px and up */

@media (min-width: 576px) {
}

/* .sm < | Small devices and down (landscape, phones) less than 768px */

@media (max-width: 767.98px) {
}

/* .sm = | Small devices only (landscape, phones) upper 576px and less than 768px ---*/

@media (min-width: 576px) and (max-width: 767.98px) {
}

/* .md > | Medium devices and up (tablets) 768px and up */

@media (min-width: 768px) {
}

/* .md < | Medium devices and down (tablets) less than 992px */

@media (max-width: 991.98px) {
}

/* .md = | Medium devices only (tablets) upper 768px and less than 992px */

@media (min-width: 768px) and (max-width: 991.98px) {
}

/* .lg > | Large devices and up (desktops) 992px and up */

@media (min-width: 992px) {
}

/* .lg < | Large devices and down (desktops) less than 1200px */

@media (min-width: 1199.98px) {
}

/* .lg = | Large devices only (desktops) upper 992px and less than 1200px */

@media (min-width: 992px) and (max-width: 1199.98px) {
}

/* .xl = | Large devices only (desktops, TV) 1200px and up */

@media (min-width: 1200px) {
  .container {
    max-width: 1330px;
  }
}

/* Between <> .sm-lg, .sm-xl, .md-xl */

/* .sm <> .lg | From Small to Large devices only (landscape, phones, tablet, desktops) upper 576px and less than 1200px */

@media (min-width: 576px) and (max-width: 991.98px) {
}

/* .sm <> .xl | From Small to Extra Large devices only (landscape, phones, tablet, desktops, TV) upper 576px and less than 1200px ---*/

@media (min-width: 576px) and (max-width: 1199.98px) {
}

/* .md <> .xl | From Medium to Extra Large devices only (tablet, desktops, TV) upper 768px and less than 1200px */

@media (min-width: 768px) and (max-width: 1199.98px) {
}

@media only screen and (max-width: 500px) {
  .g-recaptcha {
    transform: scale(0.77);

    transform-origin: 0 0;
  }
}
