/*
Theme Name: insignia
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: insignia
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/



/* @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0'); */

.screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}



/* ANIMATE */


.animate-fade-up,
.animate-fade-right,
.animate-fade-left {
opacity: 0;
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-fade-up {
transform: translateY(60px);
}

.animate-fade-right {
transform: translateX(-30px);
}

.animate-fade-left {
transform: translateX(30px);
}

/* When the element is animated */
.animated {
opacity: 1 !important;
transform: translateX(0) translateY(0);
}






/* ==========================
Basic Reset
========================== */
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}

/* ==========================
PAGE TRANSITION JS/CSS
========================== */


/* Initial state on page load */
body {
opacity: 1;
transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;

}

/* Fade in effect */
body.page-loaded {
opacity: 1;
}

/* Slide-out and fade effect before navigating */
body.page-transition {
opacity: 0;
transform: translateY(+50px); /* Moves content up while fading out */
transition: opacity 0.7s ease-in-out, transform 0.7s ease-in-out;
background-color: white;
}

html, body {
overflow-x: hidden;
}
body {font-size: 20px;
}

body, p {
font-family:'Franklin-Book';
}

/* Prevent scrolling when fullscreen menu is open */
.menu-2open {
overflow: hidden;
height: 100vh;
}


/* ==========================
Main Page Container Rules
========================== */

.global-wrapper {
width: clamp(1300px, 72.01%, 3400px);
max-width: 100%; /* Prevents overflow on small screens */
padding: 0;
margin: 0 auto; /* Centers content inside 100vw */
height: auto;
transform-origin: center;
position: relative;
overflow: visible; /* Ensure content is not clipped */
}

.blog-wrapper {
width: clamp(960px, 1100px, 3400px);
max-width: 100%; /* Prevents overflow on small screens */
padding: 0;
margin: 0 auto; /* Centers content inside 100vw */
height: auto;
transform-origin: center;
position: relative;
overflow: visible; /* Ensure content is not clipped */
}

.blog-wrapper img {max-width: 1100px;}

.header-wrapper {
width: clamp(1300px, 72.01%, 3400px);
max-width: 100%; /* Prevents overflow on small screens */
padding: 0;
margin: 0 auto; /* Centers content inside 100vw */
height: auto;
transform-origin: center;
position: relative;
overflow: visible; /* Ensure content is not clipped */
z-index: 3;
}

.fvh {
width: 100%;
height: 100vh;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
}

.fvw {
width: 100%;
height: auto;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
}



@media (max-width: 1000px) {

.global-wrapper {
width: calc(100% - 20px);
min-width: unset;
padding: 0 10px;
}

.blog-wrapper {
width: calc(100% - 20px);
min-width: unset;
padding: 0 10px;
}

.header-wrapper {
width: calc(100% - 20px);
min-width: unset;
padding: 0 10px;
}

}


/* ==========================
Header Styling
==========================


/* Full-width header */


.site-header {
width: 100%; /* Full width of the parent/container */
padding: 24px 0;
display: flex;
justify-content: center; /* Centers the content inside */
position: fixed;
z-index: 1000;
height: auto;
min-height: 76px;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0));
}

.sticky-header {
padding: 0px !important;
background: white;
box-shadow: 0px -9px 20px 0px #a0a0a0b8;
}


/* Content inside the header */
.site-header .site-header-content {
width: 72%; /* Default width for 1920px+ */
min-width: 1300px; /* Ensures minimum width */
max-width: 100vw; /* Prevents overflow */
display: flex;
justify-content: space-between;
align-items: center;
}


/* Logo on the left, Menu on the right */
.site-branding {
display: flex;
align-items: flex-start;
flex-shrink: 0;
width: 21%;
}

.fullscreen-menu {
flex-shrink: 0;
}

/* When the screen width is below 1374px, content goes edge-to-edge with padding */
@media (max-width: 1300px) {
.site-header .site-header-content {
width: calc(100% - 20px); /* Full width minus padding */
min-width: unset;
padding: 0 10px;
height: auto;
}
}

/* Smooth transitions */
.site-header,
.site-header-content,
.site-logo,
.fullscreen-menu {
transition: all 0.3s ease;
}


/* ==========================
Logo Styling
========================== */
.site-logo {
max-width: 224px;
transition: opacity 0.3s ease-in-out;
}

/* Normal Logo (Default) */
.normal-logo {
display: block;
}

/* Inverted Logo (White for dark backgrounds) */
.inverted-logo {
display: none;
}

.menu-open {overflow: hidden;}

/* Show white logo when menu is open */
.menu-open .inverted-logo {
display: none !important;
}

.menu-open .normal-logo {
display: block !important;
opacity: 1 !important;
visibility: visible !important;
z-index: 999999;
}

.menu-open .site-branding {
z-index: 1101 !important;
position: relative !important;
}


/* ==========================
Menu Toggle Button
========================== */
.menu-toggle {
display: flex;
gap: 6%;
align-items: center;
justify-content: flex-end;
width: 22%;
cursor: pointer;
background: none;
border: none;
outline: none;
z-index: 1100; /* Ensure it's above menu */
position: relative;
}
/* Menu Toggle Text */
.menu-toggle .menu-text {
max-width: 14vw;
font-size: 0.74em;
text-align: right;
line-height: 0.82;
font-weight: 400;
font-family: 'Franklin-Condensed';
color: white;
transition: color 0.3s ease-in-out;
}

/* Change text color when menu is open */
.menu-open .menu-toggle .menu-text {
color: white;
}


/* Hamburger Icon */
.menu-toggle .hamburger {
width: 28px;
height: 3px;
cursor: pointer;
background: white;
position: relative;
transition: all 0.3s ease-in-out;
}

.hamburger {display: none;}

.menu-toggle.active .hamburger {
background: black !important; /* Ensures middle bar turns black when open */

}

/* Hamburger Lines */
.menu-toggle .hamburger::before,
.menu-toggle .hamburger::after {
content: '';
width: 22px;
height: 3px;
position: absolute;
left: 0;
transition: all 0.3s ease-in-out;
}


.hamburger::before,
.hamburger::after {
background: white; /* Default black */
}





.sticky-header .hamburger, .sticky-header .hamburger::before, .sticky-header .hamburger::after {
background: black;
}

.sticky-header .menu-text, .sticky-header .desktop-menu li a{
color: black;
}


.menu-open .menu-text {
color: white !important;
}

.sticky-header .menu-search svg path {

}

.menu-open .menu-search svg path {
fill: black;
}



.panel-open .menu-search svg path {

}

.panel-open .acc-but svg {
fill: black;
}

.panel-open .menu-text, .panel-open .desktop-menu li a{
color: #201f1f !important;
}


.panel-open .desktop-menu li a:hover {

color: #0066b3 !important;
}



.panel-open .hamburger, .panel-open .hamburger::before, .panel-open .hamburger::after {
background: black !important;
}




.fullscreen-menu .hamburger {
background: black !important;
}



.menu-toggle .hamburger::before {
top: -7px;
}

.menu-toggle .hamburger::after {
bottom: -7px;
}


/* ==========================
Open Menu Effect
========================== */
.menu-open .hamburger {
background: transparent !important;
}

.menu-open .hamburger::before {
transform: rotate(45deg);
top: 0;
background: white !important;
}

.menu-open .hamburger::after {
transform: rotate(-45deg);
bottom: 0;
background: white !important;
}

/* ==========================
Fullscreen Menu
========================== */
.fullscreen-menu {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: #04255f;

display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-direction: column;
opacity: 0;
visibility: hidden;
transform: scale(1.04);
transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
z-index: 999;
}

.menu-container {
margin-top: 24%;
padding: 20px;
width: 72vw; /* Default width for 1920px+ */
min-width: 1300px; /* Ensures minimum width */
max-width: 100vw; /* Prevents overflow */
margin-left: auto;
margin-right: auto;
}

/* Show menu when active */
.fullscreen-menu.active {
opacity: 1;
visibility: visible;
transform: scale(1);
}

/* ==========================
Menu Links
========================== */

/* Numbered Menu Styling */

.fullscreen-menu ul {
list-style: none;
padding: 0;
margin: 0;
counter-reset: menu-item;
}

.fullscreen-menu > ul {
display: flex;
flex-direction: column; /* Ensure main menu is vertical */
}

.fullscreen-menu li {
display: block; /* Prevent submenu items from aligning horizontally */
position: relative;
}

/* Parent menu item numbers */
.fullscreen-menu > ul > li {
display: flex;
align-items: flex-start; /* Align numbers to the top */
}



/* Hide numbers for submenu items */
.fullscreen-menu .sub-menu li::before {
content: none;
}

/* Default state: All menu items at full opacity */
#primary-menu li a, #primary-menu .fullscreen-menu li::before {
opacity: 1;
transition: opacity 0.3s ease-in-out;
}

/* When hovering over a specific item */
#primary-menu:hover li a, #primary-menu:hover li::before {
opacity: 0.2; /* Reduce opacity of all items */
}

/* Keep the hovered item at full opacity */
#primary-menu li:hover a, #primary-menu li:hover::before {
opacity: 1;
}

.fullscreen-menu a {
color: white;
font-size: clamp(30px, 1.7vw, 60px); /* Adjusts between 32px and 80px */
line-height: 1.1;
font-family: 'Franklin-Condensed';
text-decoration: none;
margin: 4px 0;
transition: color 0.3s ease-in-out;
margin-bottom: 1%;
text-transform: uppercase;
margin-bottom: 4px;
}

.fullscreen-menu a:hover {
color: white; /* Highlight effect */
}

/* ==========================
Submenu Styling
========================== */

.fullscreen-menu .sub-menu {
display: none; /* Hide submenus by default */
position: relative; /* Ensure submenu expands naturally */
padding-left: 2%; /* Indent sub-menu items */
margin-bottom: 12px;
}

/* When submenu is open, show it */
.fullscreen-menu li.open > .sub-menu {
display: block;
}

.sub-menu a {
font-size: clamp(16px, 0.8vw, 30px); /* Adjusts between 32px and 80px */
margin-bottom: 1.5%;
text-transform: none;
}

/* Fix submenu alignment issue */
.submenu-toggle {
cursor: pointer;
color: white;
margin-left: 10px;
font-size: 60%;
display: inline-block;
position: relative;
vertical-align: super;
}

/* Open state for submenu */
.submenu-toggle.open + .sub-menu {
display: block;
}

.desktop-menu {
display: flex;
width: 64%;
justify-content: space-around
}

.desktop-menu ul {
display: flex;
font-family: 'Franklin-Condensed';
text-transform: uppercase;
align-items: center;
justify-content: center;
margin: 0 !important;
}

.desktop-menu ul li {
list-style-type: none;
padding: 12px 14px;
}



.desktop-menu ul a {
text-decoration: none;
font-size: 0.88em;
color: white;
}


/* Add this to your main CSS */

.grandchild-menu {
display: none;
margin: 0.5em 8px ;
}

.grandchild-menu li {
list-style: none;
margin-bottom: 2px !important;
padding-bottom: 2px !important;
}

.grandchild-menu li {
border: none !important;
}



.grandchild-menu.show {
display: block;
}

.toggle-submenu {
margin-left: 8px;
background: none;
border: none;
font-size: 16px;
cursor: pointer;
}



@media (max-width: 1220px) {
.menu-text {display: none; }
.menu-toggle {
width: 10%;
}
.desktop-menu {
width: 79%;
}
}


@media (max-width: 1110px) {

.menu-text {display: flex; }


.desktop-menu {
display: none;
}

.hamburger {display: flex;
}

.menu-toggle {
width: 34%;
}

.menu-toggle .menu-text {
max-width: 14vw;}

#dropdown-panel {
display: none;
}

}

.pojo-a11y-toolbar-toggle {display: none;}


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

.menu-items {
width: 60%;
}

.menu-image-container {
width: 35%;
text-align: right;
}

.menu-image-container img {
max-width: 100%;
height: auto;
}


/* ==========================
Responsive Adjustments
========================== */

@media (max-width: 968px) {

/*
.site-header {
padding: 22px 22px;
} */

.fullscreen-menu a {
font-size: 54px !important;
}

.fullscreen-menu .sub-menu li a {
font-size: 34px !important;

}

}

@media (max-width: 868px) {

/* .site-header {
padding: 20px 20px;
} */

.fullscreen-menu a {
font-size: 44px !important;
}

.fullscreen-menu .sub-menu li a {
font-size: 26px !important;

}
}

@media (max-width: 768px) {

.menu-container {margin-top: 150px;}


.fullscreen-menu a {
font-size: 34px !important;
}

.fullscreen-menu .sub-menu li a {
font-size: 22px !important;

}

.menu-text {display :none; }


.site-logo {
max-width: 190px;
}
}

@media (max-width: 668px) {
.fullscreen-menu a {
font-size: 28px !important;
}

.fullscreen-menu .sub-menu li a {
font-size: 19px !important;

}

}


/* ==========================
Desktop menu panel
========================== */
.desktop-nav {
gap: 2rem;
}

.desktop-nav li {
position: relative;
list-style: none;
}

/* Hide submenu initially */
.desktop-nav li ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background: white; /* Or your preferred background */
padding: 12px 0px 0px 0px;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
min-width: 270px;
z-index: 999;
}

.desktop-nav li ul::before {
content: "";
position: absolute;
top: -8px;
left: 20px;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 10px solid white;
z-index: 1000;
}

/* Show submenu on hover */
.desktop-nav li:hover > ul {
display: block;
}


.desktop-nav li ul li a {
display: block;
color: #333;
margin: 0 !important;
padding: 0px !important;
text-decoration: none;
}

.desktop-nav .sub-menu a {
margin-bottom: 0 !important;
}

.desktop-menu ul li ul li {
padding: 9px 12px;
border-bottom: 1px solid #eeeeee;
}

.desktop-nav .sub-menu a:hover {
color: #012B75;
}





/************************************************************************
/************************************************************************/


/* FOOTER */

/* Footer Styling
background: linear-gradient(180deg, rgba(0,102,179,1) 0%, rgba(29,50,76,1) 0%, rgba(31,50,64,1) 100%); color: #fff; /*
White text */


.site-footer {
background: #04255f;
padding-top: 80px;
padding-bottom: 40px;
color: white !important;
position: relative;
}

.footer-container {
max-width: 1380px; /* Restrict content width */
margin: 0 auto;
padding: 0 20px; /* Add padding for better spacing */
}

/* Top part */
.footer-top {
display: flex;
justify-content: space-between;
align-items: flex-start;
border-bottom: 1px solid #ffffff21;
padding-bottom: 52px;
}

.footer-left {
}


.foot-address {
display: flex;
gap: 32px;
}

.allcap {text-transform: uppercase;}



.footer-right {
display: flex;
align-items: flex-start;
gap: 50px;
}

/* Footer Menu */
.footer-menu {
display: flex;
gap: 1px;
list-style: none;
padding: 0;
margin: 0;
line-height: 1;
flex-direction: column;
}

.footer-menu li {
display: inline-block; /* Keep all menu items in one line */
}

.footer-menu a {
color: #fff;
text-decoration: none;
font-family: 'Franklin-Condensed';

font-size: 0.76em;
line-height: 1.1;
margin-right: 6px;
font-weight: normal;
text-transform: uppercase;
transition: color 0.3s ease;
}

.footer-menu a:hover {
color: #0066b3; /* Change color on hover */
}

/* Footer Logo */
.footer-logo {

}

/* Bottom part */
.footer-bottom {
font-size: 14px;

display: flex;
justify-content: space-between;
align-items: center;
padding-top: 30px;
font-family: 'Franklin-Condensed';

}



.footer-bottom a {
color: #fff;
text-decoration: none;
font-size: 15px;
cursor: pointer

}

.footer-bottom a:hover {
color: #0066b3;
}

.footer-bottom-right {
display: flex;
gap: 8px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}

.botlinks {
margin-right: 16px;
display: flex;
gap: 8px;
text-transform: uppercase;
}

.botlinks a {

font-size: 1em !important;
}


.socials {
display: flex;
gap: 8px;

}

.socials-alt {
gap: 14px;

}

.socials-alt a {
color: #012b75;

}


@media (max-width: 980px) {
.footer-bottom {
display: flex;
justify-content: flex-start;
align-items: flex-start;
gap: 14px;
padding-top: 30px;
flex-direction: column;
}

.footer-bottom-right {
flex-direction: column;
align-items: flex-start;
}

}

@media (max-width: 880px) {


.footer-right {
display: flex;
align-items: flex-start;
gap: 12px;
justify-content: space-between;

}
}

@media (max-width: 690px) {

.footer-menu a {

margin-right: 0px !important;

}

.site-footer {
padding-top: 50px;
}

.footer-left {
max-width: 100%;
}

.footer-top {
display: flex;
justify-content: space-between;
align-items: stretch;
gap: 2px;
border-bottom: 1px solid #ffffff5e;
padding-bottom: 32px;
flex-direction: column;
}

}

@media (max-width: 440px) {
.footer-right {
display: flex;
align-items: flex-start;
gap: 12px;
flex-direction: column-reverse;
}
}





/* Floating Action Button (FAB) */
#fab-container {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 999;
}

#fab-button {
background-color: #007bff;
color: white;
font-size: 0.7em;
font-family: 'Franklin-Condensed';
border: none;
border-radius: 30px;
padding: 12px 20px;
cursor: pointer;
transition: 0.3s ease;
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
}

#fab-button:hover {
background-color: #0056b3;
}

/* Full-Screen Modal Overlay */
#fab-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
display: none;
align-items: center;
justify-content: center;
z-index: 1000;
}

/* Modal Content */
#fab-modal-content {
background: white;
padding: 40px;
width: 90%;
max-width: 50vw;
text-align: left;
border-radius: 10px;
position: relative;
}

/* Modal Content */
#fab-modal-content h3 {
font-size: 0.9em;
font-family: 'Franklin-Condensed';
text-transform: uppercase;
}

#fab-modal-content p {
font-size: 0.8em;
}

#fab-modal-content ul {
margin-top: 14px;
}


#fab-modal-content li{
font-size: 0.8em;
}


/* Close Button */
#fab-close {
position: absolute;
top: 10px;
right: 15px;
background: none;
border: none;
font-size: 24px;
cursor: pointer;
color: black;
}



/************************************************************************
*************************************************************************
/************************************************************************
/************************************************************************
/************************************************************************/



/************************************************************************/
/* TYPOGRAPHY
/************************************************************************/


@font-face {
font-family: 'Franklin-Demi';
src: url('/wp-content/themes/insignia/font/Franklin-Demi.woff2') format('woff2'),
url('/wp-content/themes/insignia/font/Franklin-Demi.woff') format('woff');
font-weight: 300;
font-style: normal;
font-display: swap;
}



@font-face {
font-family: 'Gilroy-Bold';
src: url('/wp-content/themes/insignia/font/Gilroy-Bold.woff2') format('woff2'),
url('/wp-content/themes/insignia/font/Gilroy-Bold.woff') format('woff');
font-weight: 300;
font-style: normal;
font-display: swap;
}


@font-face {
font-family: 'Gilroy-Regular';
src: url('/wp-content/themes/insignia/font/Gilroy-Regular.woff2') format('woff2'),
url('/wp-content/themes/insignia/font/Gilroy-Regular.woff') format('woff');
font-weight: 300;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Franklin-Condensed';
src: url('/wp-content/themes/insignia/font/FranklinGothic-MediumCond.woff2') format('woff2'),
url('/wp-content/themes/insignia/font/FranklinGothic-MediumCond.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}



@font-face {
font-family: 'Franklin-Book';
src: url('/wp-content/themes/insignia/font/FranklinGothic-Book.woff2') format('woff2'),
url('/wp-content/themes/insignia/font/FranklinGothic-Book.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}

/* Large Banner (Heading) */
.largebanner {
font-size: clamp(48px, 8vw, 115px); /* Adjusts between 32px and 80px */
line-height: 1;
margin-top: 1%;
font-family: 'Gilroy-Bold';
font-weight: normal;
}

/* Big Banner (Heading) */
.bigbanner {
font-size: clamp(52px, 3.2vw, 98px); /* Adjusts between 32px and 80px */
line-height: 0.9;
font-family: 'Gilroy-Bold';
font-weight: normal;
}




/* Mid Banner (Heading) */
.midbanner {

font-size: clamp(48px, 2.4vw, 80px); /* Adjusts between 32px and 80px */
line-height: 1.1;
font-family: 'Gilroy-Bold';
font-weight: normal;
}


/* Small Banner (Heading) */
.smallbanner {
font-size: clamp(41px, 1.88vw, 80px); /* Adjusts between 32px and 80px */
line-height: 1.1;
font-family: 'Gilroy-Bold';
font-weight: normal;
}

/* Large Banner (Heading) */
.tinybanner {
font-size: clamp(26px, 1.46vw, 70px); /* Adjusts between 32px and 80px */
line-height: 0.9;
font-family: 'Gilroy-Bold';
font-weight: normal;
text-transform: uppercase;
}




/* Big Statement (Description) */
.bigstatement {
font-size: clamp(22px, 1.05vw, 45px); /* Adjusts between 16px and 28px */
line-height: 1.3;
font-family: 'Franklin-Book';
margin-bottom: 2%;

}


/* Big Statement (Description) */
.smallhead {
font-size: clamp(24px, 1.2vw, 50px); /* Adjusts between 16px and 28px */
line-height: 1.3;
font-family: 'Gilroy-Bold';

}



/* Big Paragraph (Description) */
.bigpara {
font-size: clamp(24px, 0.95vw, 43px); /* Adjusts between 16px and 28px */
line-height: 1.3;
font-family: 'Franklin-Book';
margin-bottom: 1%;
}


/* Big Paragraph (Description) */
.smallpara {
font-size: clamp(16px, 0.84vw, 42px); /* Adjusts between 16px and 28px */
line-height: 1.1;
font-family: 'Franklin-Book';

}



@media (max-width: 1380px) {

.xlbanner {
font-size: clamp(130px, 13.5vw, 280px);

}
}




@media (max-width: 920px) {

/* Big Banner (Heading) */
.bigbanner {
font-size: clamp(46px, 8.1vw, 58px); /* Adjusts between 32px and 80px */

}

.midbanner {
font-size: clamp(37px, 5.5vw, 52px);
}


/* SMall Banner (Heading) */
.smallbanner {
font-size: clamp(34px, 4.6vw, 46px); /* Adjusts between 32px and 80px */

}


/* Big Paragraph (Description) */
.bigpara {
font-size: clamp(19px, 2.1vw, 26px); /* Adjusts between 16px and 28px */
line-height: 1.3;
text-align: left;

font-family: 'Franklin-Book';

}

}

.pt-4 {padding-top: 4px;}
.pt-10 {padding-top: 10px;}
.pt-20 {padding-top: 20px;}
.pt-30 {padding-top: 30px;}
.pt-40 {padding-top: 40px;}
.pt-50 {padding-top: 50px;}


.pb-4 {padding-bottom: 4px;}
.pb-10 {padding-bottom: 10px;}
.pb-20 {padding-bottom: 20px;}
.pb-30 {padding-bottom: 30px;}
.pb-50 {padding-bottom: 50px;}



/*HOME DIV */


/*-----------------------*/



.home-div {
position: relative;
width: 100vw;
height: 100vh;
overflow: hidden;
}

.home-div video {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
object-fit: cover; /* Ensures the video covers the entire background */
z-index: 1;
}

.home-div video, .video-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
min-width: 100%;
min-height: 100%;
}


.home-div .video-overlay {
background-repeat: no-repeat;
background-attachment: fixed;
background-position: top right;
background-image: linear-gradient(to bottom, rgb(0 0 0 / 60%), rgb(0 0 0 / 9%));

}



.video-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
min-width: 100%;
min-height: 100%;
}

.video-overlay {
z-index: 2;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: top right;
background-image: linear-gradient(to bottom, rgb(0 0 0 / 60%), rgb(0 0 0 / 9%));
}



.home-div .fullscreen-flex {
margin-top: 80px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
}

.home-div .line-para {
display: flex;
gap: 60px;
align-content: flex-start;
align-items: flex-start;
margin-top: 31px;
}

.home-div .line-2para img {
width: 30% !important;
}


.home-div .line {
height: 2px; /* Ensure visible thickness */
width: 200px; /* Stretch across its column */
background-color: #0066b3;
align-self: start; /* Keeps it at the top */
}

.home-div .text {
align-self: start;
margin-top: -7px;
max-width: 50%;
}

@media (max-width: 1200px) {

.home-div .text {
max-width: 80vw;
}
}


@media (max-width: 980px) {
.home-div .line {
height: 40px; /* Ensure visible thickness */
width: 2px; /* Stretch across its column */
background-color: white;
align-self: start; /* Keeps it at the top */
margin-top: 0px;
}


.home-div .line-para {
display: flex;
flex-direction: column;
gap: 30px;
align-content: flex-start;
align-items: flex-start;
margin-top: 24px;
}

.line-para img {width: 80%;}
}

@media (max-width: 880px) {
.line-para img {width: 74%;}
}

@media (max-width: 780px) {
.line-para img {width: 66%;}
}

@media (max-width: 680px) {
.line-para img {width: 56%;}
}

/* Container positions everything centrally */
.drop-container {
position: absolute;
height: 70px;
width: 20px;
display: flex;
justify-content: center;
align-items: flex-start;
overflow: hidden;
bottom: 70px;
}

/* Vertical gradient line */
.fall-line {
position: absolute;
top: 0;
width: 1px;
height: 60px;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.6));
z-index: 0;
}

/* Drop animation */
.water-drop {
position: absolute;
top: -10px; /* Start slightly above the container */
animation: dropAnimation 3s cubic-bezier(0.3, 0, 0.7, 1) infinite;
z-index: 1;
}

@keyframes dropAnimation {
0% {
transform: translateY(0);
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
transform: translateY(60px);
}
100% {
opacity: 0;
transform: translateY(60px);
}
}









/* APple - home */



/* product grid */

.grid-container {
background-color: #fff;
position: relative;
margin-top: 10px;
display: grid;
gap: 12px;
/* border-bottom: 12px solid #fff; */
grid-template-columns: repeat(2, 1fr);
left: 12px;
width: calc(100% - 24px);
z-index: 41;
}


.wdc-content-wrapper {
position: relative;
height: 530px;
	min-width: 100%;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
background: url(https://akvosphere.com/wp-content/uploads/2025/04/akvo-own-water.jpg)
no-repeat center center;
background-size: cover;
}

.wdc-text-button-wrapper {
position: relative;
z-index: 4;
padding-bottom: 53px;
display: flex;
flex-direction: column;
align-items: center;
}



.wdc-button-wrapper {
margin-top: 17px;
}

/* ! Watch content begins */

.watch-content-wrapper {
background:;
background-size: cover;
position: relative;
height: 580px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
flex-grow: 0;
}

.watch-content-wrapper img {object-fit: contain;
	
}



.hero-text-and-button-wrapper {
text-align: center;
justify-content: center;
}


.iphone-content-section {
position: relative;
display: flex;
flex-direction: column;
margin-top: 10px;
height: 506px;
background: url(https://akvosphere.com/wp-content/uploads/2025/04/akvo-dvice-agnostic--scaled.jpg)
no-repeat center;
background-size: cover;
align-items: center;
}



.hero-subhead {
font-family: "Gilroy-Regular", "Helvetica",
"Arial", sans-serif;
color: #f5f5f7;
font-size: 27px;
line-height: 1.2;
}



.hero-button-wrapper {
display: inline-block;
position: relative;
text-decoration: none;
z-index: 4;
}

.button {
display: inline-block;
font-family: "SF-Regular", "SF Pro Icons", "Helvetica Neue", "Helvetica",
"Arial", sans-serif;
text-align: center;
font-weight: 400;
border-style: solid;
text-decoration: none;
letter-spacing: -0.016em;
padding-left: 15px;
padding-right: 15px;
padding-top: 7px;
padding-bottom: 7px;
border-radius: 980px;
min-width: 28px;
border: 0px;
}

.ipad-pro-left-button {
font-size: 15px;
border-color: rgba(0, 0, 0, 0);
background: #0071e3;
color: #fff;
}


.ipad-pro-left-button-cta {
font-size: 18px;
background: #012B75;
color: #fff;
padding-left: 32px;
padding-right: 32px;
padding-top: 12px;
padding-bottom: 12px;
}


.ipad-pro-right-button {
font-size: 19px;
color: #012B75;
background: white;
padding-left: 32px;
padding-right: 32px;
padding-top: 12px;
padding-bottom: 12px;
}

/* ipad air */

.one-tech {
position: relative;
height: auto;
margin-top: 40px;

background: white;
background-size: cover;
margin-bottom: 10px;
}



.center-subhead {
max-width: 68%;
}


/* HOME APPLE SLIDE TO VIEW FULL SCREEN */

.intro-section {
text-align: center;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.content-section {
--scroll-length: 1.2;
height: calc(var(--scroll-length) * 100vh);
width: 100%;
font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica",
}
.content-section .content .subheading, .content-section .content .paragraph {
opacity: 1;
}
.figure {
width: 100%;
height: 100vh;
margin: 0;
position: absolute;
top: 0;
left: 0;
}
.figure > img {
display: block;
width: 100%;
height: 100%;
max-width: 100%;
object-fit: cover;
object-position: center center;
}
.content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
color: white;
padding: 2em;
font-size: 2.5vmin;
text-align: center;
justify-content: center;
align-items: center;
align-content: center;
flex-wrap: wrap;

}

.content > .header {
grid-row: 0.5;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.content > .paragraph {
grid-row: 0.6666666667;
line-height: 1.2;
}
.heading {
font-size: 2.75em;
margin-bottom: 0.2em;

}
.subheading {
font-size: 1.25em;
font-weight: 600;
margin-bottom: 0.5em;
}
/* ---------------------------------- */
.figure {
--scale: calc(.7 + (.3 * var(--scroll-length) * var(--visible-y)));
position: sticky;
top: 0;
left: 0;
margin: 0;
display: block;
overflow: hidden;
will-change: transform;
transform: scale(var(--scale));
}
.figure:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background-color: rgba(0, 0, 0, 0.7);
opacity: calc(var(--visible-y));
}
.figure > img {
display: block;
will-change: transform;
transform: scale(calc(1 / var(--scale)));
}
/* ---------------------------------- */
.char {
display: inline-block;
opacity: calc(1.6 + ( ( var(--viewport-y) * 1.5 ) - var(--char-percent) ));
}

section, section:before, section:after {
position: relative;
box-sizing: border-box;
}

.heading, .intro-heading {
font-weight: 700;
}



.cta-div {
position: relative;
width: 100vw;
height: 54vh;
overflow: hidden;
background: linear-gradient(180deg, #7ca1e7, #84cdf4 24%, #7fd4ff 45%, #e0f2ff 76%, #ffffff);

}


.div-white {
position: relative;
width: 100vw;
min-height: 50vh;
overflow: hidden;
padding-top: 100px;
padding-bottom: 100px;
display: flex;
align-items: center;
justify-content: center;
background: white;
}


.div-grey {
position: relative;
width: 100vw;
min-height: 50vh;
overflow: hidden;
background-color: #ebebeb;

}

.div-black {
position: relative;
width: 100vw;
min-height: 50vh;
padding-top: 100px;
padding-bottom: 100px;
overflow: hidden;
background-color: #161617;
color: white;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}


.black {color: black;}
.white {color: white !important;}

.darkgrey {color:#66778b;}
.lightgrey {color:#7c838a;}

.text-center {text-align:center;}

/* Slider */

/* Basic slide styling */
.post-slider {
width: 100%;
padding-bottom: 40px;
}
.swiper-slide {
min-height: 420px;
}

/* Bullets */
.swiper-pagination-bullet {
width: 10px;
height: 10px;
background: #ccc;
border-radius: 50%;
opacity: 1;
margin: 0 34px;
transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
width: 24px !important;
height: 10px;
border-radius: 999px !important;
background: #000;
}


.item {
margin: 0;
width: 380px;
height: 460px;
display: flex !important;
display: -webkit-flex;
align-items: flex-end;
-webkit-align-items: flex-end;
background: #343434 no-repeat center center / cover;
border-radius: 2px;
overflow: hidden;
position: relative;
transition: all 0.4s ease-in-out;
-webkit-transition: all 0.4s ease-in-out;
text-decoration: none;
}


.item:after {
content: "";
display: block;
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
padding-bottom: 40px;
}

.item-desc {
padding: 0;
color: #fff;
position: relative;
z-index: 1;
overflow: hidden;

transition: all 0.4s ease-in-out;
-webkit-transition: all 0.4s ease-in-out;

}

.item.active .item-desc {
transform: none;
-webkit-transform: none;
}

.item.active:after {
background-image: linear-gradient(rgba(0, 0, 0, 43%), rgba(0, 0, 0, 1));

}


.item:hover .item-desc {
transform: translateY(-30px);
-webkit-transform: translateY(-30px);
}

.item:hover::after {
background-image: linear-gradient(rgba(0, 0, 0, 43%), rgba(0, 0, 0, 1));

}





/* COLUMN SET UP */

/* Base Column Grid */
.column-grid {
display: grid;
gap: 1.5rem;
}

.grid-4-col {
grid-template-columns: repeat(4, 1fr);
}
.grid-3-col {
grid-template-columns: repeat(3, 1fr);
}
.grid-2-col {
grid-template-columns: repeat(2, 1fr);
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
.grid-4-col,
.grid-3-col {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.grid-4-col,
.grid-3-col,
.grid-2-col {
grid-template-columns: 1fr;
}
}

/* Card Base */
.column-item {
position: relative;
overflow: hidden;
border-radius: 1px;
min-height: 330px;
color: white;
display: flex;
padding: 20px; /* we'll control padding inside */
justify-content: flex-start; /* aligns text to bottom */
align-items: flex-end; /* aligns text to left */

}

/* Image Background */
.column-item.bg-image {
background-size: cover;
background-position: center;
position: relative;
}



/* Bottom Overlay */
.column-item.bg-image::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 60%;
background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
z-index: 1;
}

/* Actual Text Content */
.column-item .text {
font-size: 1.1rem;
font-weight: 500;
color: white;
max-width: 100%;
z-index: 2;
}

/* No Image Option */
.column-item.bg-color {
background-color: var(--custom-bg, #444);
}



/* 2 col container */

.two-column-container {
display: flex;
flex-direction: row;
align-items: center; /* Vertically center content */
justify-content: space-between;
gap: 2rem;
}

.two-column-container > .column {
flex: 1;
display: flex;
align-items: flex;
justify-content: flex-start;
text-align: left;
}

/* Responsive stacking on mobile */
@media (max-width: 768px) {


.two-column-container {
flex-direction: column; /* Right column first */
}


.two-column-container-rev {
flex-direction: column-reverse; /* Right column first */
}

.two-column-container > .column {
width: 100%;
}
}


/* Video */

.video-section {
position: relative;
width: 100%;
max-width: 90%;
margin: auto;
overflow: hidden;
}

.video-section video {
width: 100%;
height: auto;
display: block;
border-radius: 12px;
}

.replay-btn {
margin-top: 12px;
padding: 10px 20px;
background: #000;
color: #fff;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 1rem;
display: block;
margin-left: auto;
margin-right: auto;
}


/* Use Case Carousel */



.carousel-item {
position: relative;
width: 100%;
height: 540px; /* Adjust height as needed */
border-radius: 1px;
overflow: hidden;
}

.carousel-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

/* Gradient Overlay */
.carousel-item .overlay {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50%; /* Adjust to control gradient height */
background: linear-gradient(to top, rgba(0, 0, 0, 1), transparent);
z-index: 1;
}

/* Text aligned bottom left */
.carousel-text {
position: absolute;
bottom: 1.5rem;
left: 1.5rem;
z-index: 2;
color: white;
text-align: left;
}


.carousel-text h3 {
font-family: "Gilroy-Bold", "Helvetica",
"Arial", sans-serif;
color: #f5f5f7;
font-size: 1.2em !important;
letter-spacing: 0.007em;
line-height:1;
}
.carousel-text p {
font-size: 0.86em;
margin-bottom: 10px;
margin-right: 21%;
line-height: 1.1;
color: white !important;
}



.swiper-nav {
display: flex;
justify-content: center;
gap: 12px;
cursor: pointer;
}

.swiper-button-prev-custom,
.swiper-button-next-custom,
.swiper-button-prev-custom-2,
.swiper-button-next-custom-2 {
background: rgb(35, 35, 35);
color: white;
border: none;
padding: 9px 11px;
border-radius: 50%;
font-size: 1rem;
cursor: pointer;
transition: background 0.3s ease;
cursor: pointer;
}

.swiper-button-prev-custom:hover,
.swiper-button-next-custom:hover {
background: #5b5b5b;
}


.full-width-image {
width: 100vw; /* Full viewport width */
overflow: hidden;
position: relative;
}

.full-width-image img {
width: 100%;
height: auto;
display: block;
}

.full-width-image-alt {
width: 100vw;
overflow: hidden;
position: relative;
display: flex;
justify-content: center;
}

.full-width-image-alt img {
width: auto;
height: auto;
display: block;
}

.blue-red {
color: transparent;
background-clip: text;
background-image: linear-gradient(
90deg,
#2ca2b4,
#5598de 24%,
#7f87ff 45%,
#f65aad 76%,
#ec3d43
);
}


.blue-green {
color: transparent;
background-clip: text;
background-image: linear-gradient(90deg, #a2c1fa, #68bdeb 24%, #7ffff9 45%, #74e7cd 76%, #20e6ff);
}

.blue-green-background {
background: linear-gradient(90deg, #a2c1fa, #68bdeb 24%, #7ffff9 45%, #74e7cd 76%, #20e6ff);
}

.blue { color: #012B75;
}

.red-orange {
color: transparent;
background-clip: text;
background-image: linear-gradient(90deg, #ff6500, #d88122 24%, #ff9530 45%, #ea5a31 76%, #e34e4e);
}

.green-grad {
color: transparent;
background-clip: text;
background-image: linear-gradient(90deg, #91fbc3, #70e59f 24%, #38dc61 45%, #b2ff76 76%, #e1f85b);
}


.card {
position: relative;
height: 200px;
background-color: #000; /* Black background */
color: #fff;
border-radius: 12px;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: flex-end; /* Bottom-align text */
overflow: hidden;
}

.card-icon {
position: absolute;
top: 15px;
right: 15px;
width: 30px;
height: 30px;
display: none;
}

.card-icon img {
width: 100%;
height: auto;
filter: invert(1); /* Make the icon white on black */
}

.card-content h3 {
margin: 0 0 5px 0;
font-size: 23px;
font-family: 'SF-Medium';
}

.card-content p {
margin: 0;
font-size: 16px;
opacity: 1;
}

.no-min-height {
min-height: 100px !important;
display: contents;
}



.four-column-grid {
display: flex;
width: 100%;
flex-wrap: wrap;
gap: 14px;
}

.four-column-grid .grid-box {
flex: 1;
min-width: calc(25% - 14px);
border-right: 1px solid #2f2f2d; /* Inner vertical dividers */
border-top: 1px solid #2f2f2d;
display: flex;
gap: 12px;
flex-direction: column;
align-items: flex-end; /* Bottom-align text */
padding: 20px;
min-height: 140px;
position: relative;

}

.grid-box img {
width: 100%;
height: 100%;
object-fit: cover; /* Ensures the image fills the box without distortion */
display: block;
}

.three-column-grid {
display: flex;
width: 100%;
border-bottom: 1px solid #2f2f2d; /* Light grey border around the whole grid */
flex-wrap: wrap;
border-left: 1px solid #2f2f2d;
}

.grid-box {
flex: 1;
min-width: 33.33%;
border-right: 1px solid #2f2f2d; /* Inner vertical dividers */
border-top: 1px solid #2f2f2d;
display: flex;
align-items: flex-end; /* Bottom-align text */
padding: 20px;
min-height: 140px;
}

.div-white .grid-box {
border-right: 1px solid #c7c7c7; /* Inner vertical dividers */
border-top: 1px solid #c7c7c7;

}

.div-white .three-column-grid {
border-bottom: 1px solid #c7c7c7; /* Light grey border around the whole grid */
border-left: 1px solid #c7c7c7;
color: grey;
}

.div-white p {
color: rgb(52, 51, 51);
}

@media (max-width: 968px) {
.grid-box {
flex: 1;
min-width: 100%;
border-right: 1px solid #2f2f2d; /* Inner vertical dividers */
border-top: 1px solid #2f2f2d;
display: flex;
align-items: flex-end; /* Bottom-align text */
padding: 20px;
min-height: fit-content;
}

}



.box-content {
text-align: left;
}

.box-content h3 {
margin: 0 0 8px;
font-family: 'Gilroy-Bold';
}

.box-content p {
margin: 0;
font-size: 16px;
color: #fff;
}


/* Form */


.div-black input[type='text'], .div-black input[type='tel'], .div-black [type='email'], .div-black select, .div-black
textarea {
color: #e9e9e9 !important;
min-width: 220px !important;

}


.div-black select {
background: url('https://akvosphere.com/wp-content/uploads/2025/06/select-arrow.png') no-repeat right;

}

.div-black input[type="submit"] {
color: rgb(84, 184, 227);
}

input[type='text'], input[type='tel'], [type='email'], select, textarea {
background: none;
border: none;
border-bottom: solid 1px #474544;
color: #474544;
font-size: 16px;
font-weight: 400;
letter-spacing: 1px;
padding: 12px 0px;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
cursor: pointer !important;

}




input[type='submit'] {
border: none;
color: black;
background: none;
font-size: 1em;
line-height: 1;
letter-spacing: 1px;
margin-top: 22px;
text-transform: uppercase;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
cursor: pointer !important;

}


.submit::before {
content: "";
display: block;
width: 90px; /* Default width */
height: 5px; /* Default thickness */
background: linear-gradient(to right, black 0%, black 60%, black 100%);
clip-path: polygon(
0% 30%, 75% 30%, 75% 100%, 100% 100%, 100% 0%, 0% 0%
);
margin-right: 10px;
transition: width 0.3s ease-in-out;
}

input[type='text']:focus, [type='email']:focus, textarea:focus {
outline: none;
padding: 0 0 0.875em 0;
}

.message {
float: none;
}

.name {
float: left;
width: 45%;
}

label {
font-family: 'Franklin-Condensed';
font-size: 16px;
text-transform: uppercase;

}

select {
background: url('https://cdn4.iconfinder.com/data/icons/ionicons/512/icon-ios7-arrow-down-16.png') no-repeat right;
outline: none;
-moz-appearance: none;
-webkit-appearance: none;
}

select::-ms-expand {
display: none;
}

.subject {
width: 100%;
}

.telephone {
width: 100%;
}

textarea {
line-height: 150%;
resize: none;
width: 100%;
}

::-webkit-input-placeholder {
color: #474544;
}

:-moz-placeholder {
color: #474544;
opacity: 1;
}

::-moz-placeholder {
color: #474544;
opacity: 1;
}

:-ms-input-placeholder {
color: #474544;
}


input[type='submit'] {
border: none;
color: black;
background: none;
font-size: 1em;
line-height: 1;
letter-spacing: 1px;
text-transform: uppercase;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
cursor: pointer !important;
}

#watercalc-result {
margin-top: 22px;
max-width: 740px;
display: flex;
justify-content: flex-end;
text-align:center;
}


/* TABLE */
#customers {
border-collapse: collapse;
width: 100%;
}

#customers td, #customers th {
border: 1px solid #ddd;
padding: 8px;
}

#customers tr:nth-child(even){background-color: #f2f2f2;}

#customers tr:hover {background-color: #ddd;}

#customers th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #04AA6D;
color: white;
}





/* NEWSROOM */

/* Archive Header */
.archive-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 20px;
}


#archive-title {
font-family: 'SF-Medium';
font-weight: 600;
text-transform: uppercase;
font-size: 1.6em;
line-height: 1;
color: #012B75;
}

/* Posts Grid */
.posts-grid {
display: grid;
gap: 20px;
}

/* Responsive Grid Layout */
@media (min-width: 1024px) {
.posts-grid {
grid-template-columns: repeat(3, 1fr);
}
}

@media (max-width: 968px) {
.posts-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 680px) {
.posts-grid {
grid-template-columns: repeat(1, 1fr);
}
}

/* Post Styling */
.post-item {
border-radius: 2px;
overflow: hidden;
transition: transform 0.3s ease-in-out;
}

.post-link {
display: block;
text-decoration: none;
color: black;
}

/* Image Handling */
.post-image img {
width: 100%;
height: auto;
aspect-ratio: 850 / 467;
object-fit: cover;
}

/* Post Info */
.post-info {
padding-top: 5px;
padding-bottom: 8px;
}

.post-date {
font-size: 14px;
color: rgb(169, 169, 169);
font-family: 'Franklin-Condensed';
font-weight: 400;
font-size: 0.6em;
text-transform: uppercase;
}

.post-title {
font-size: 0.8em;
margin: 2px 0;
font-family: 'Gilroy-Regular';
font-weight: 500;
margin-bottom: 8px;
}

.read-more {
display: block;
color: #012B75;
font-family: 'Franklin-Condensed';
font-weight: 600;
text-transform: uppercase;
font-size: 0.7em;
}

/* Keyframes for rotation */
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

.single-blog {height: 40vh;}

.product-div .header-wrapper {
z-index: 3;
}

.home-div .header-wrapper {
z-index: 3;
}

.hero-page .header-wrapper {
z-index: 3;
}

.pagination {
display: flex;
justify-content: center;
align-items: center;
margin: 32px 0;
}

#load-more {
display: block;
padding: 6px 12px;
border: none;
color: white;
background: #012B75;
border-radius: 2px;
cursor: pointer;
}

#load-more:hover {
background: #131313;
}




strong {
font-weight: 700;
    color: black;
}


h3, h4, h5, h2 {
font-family: 'Gilroy-Regular';
margin: 6px 0;
color: #012B75;

}




p {
margin-top: 10px;
font-size: 1em;
line-height: 1.5;
margin-bottom: 16px;
}

ul {

margin-top: 10px;
font-size: 1em;
line-height: 1.5;
margin-bottom: 16px;
}


ul li {
font-weight: normal !important;
}



/* Pagination */

.pagination {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 30px;
flex-wrap: wrap;
}

.pagination a,
.pagination span {
display: inline-block;
padding: 8px 14px;
border: 1px solid #ccc;
color: #333;
background-color: #fff;
text-decoration: none;
border-radius: 4px;
transition: all 0.3s ease;
font-size: 14px;
}

.pagination a:hover {
background-color: white;
color: #012B75;
border-color: #012B75;
}

.pagination .current {
background-color: #012B75;
color: #fff;
border-color: #012B75;
font-weight: bold;
}

.swiper-slide h4 {
color: white;

}




.like-share-band {
text-align: center;
padding: 30px 0;
background-color: #201f1f;
border-top: 1px solid #000000;
border-bottom: 1px solid #201f1f;
border-radius: 4px;
}

.share-text {color: white; font-size: 20px; line-height: 1; margin:0;}
.like-text {
margin:0;
}

.share-icons {
margin-top: 10px;
}

.share-icons a {
display: inline-block;
margin: 0 8px;
font-size: 20px;
color: #ffffff;
transition: color 0.3s;
}

.share-icons a:hover {
color: #0073e6;
}


.form-wrapper {
background: #f7f7f7;
border-radius: 12px;
padding: 30px;
border: 1px dashed #b9b9b9;
}

@media (max-width: 1000px) {
.form-wrapper {
margin: 16px;
}
}


/* FAQ ACCORDION */

.accordion .accordion-item {
border-bottom: 1px solid #e5e5e5;
}
.accordion .accordion-item button[aria-expanded='true'] {
border-bottom: 1px solid #012B75;
}
.accordion button {
position: relative;
display: block;
text-align: left;
width: 100%;
padding: 1em 0;
font-size: 1.15rem;
font-weight: 400;
border: none;
background: none;
outline: none;
}
.accordion button:hover, .accordion button:focus {
cursor: pointer;
color: #012B75;
}
.accordion button:hover::after, .accordion button:focus::after {
cursor: pointer;
color: #012B75;
border: 1px solid #012B75;
}
.accordion button .accordion-title {
padding: 1em 1.5em 1em 0;
}
.accordion button .icon {
display: inline-block;
position: absolute;
top: 18px;
right: 0;
width: 22px;
height: 22px;
border: 1px solid;
border-radius: 22px;
}
.accordion button .icon::before {
display: block;
position: absolute;
content: '';
top: 9px;
left: 5px;
width: 10px;
height: 2px;
background: currentColor;
}
.accordion button .icon::after {
display: block;
position: absolute;
content: '';
top: 5px;
left: 9px;
width: 2px;
height: 10px;
background: currentColor;
}
.accordion button[aria-expanded='true'] {
color: #012B75;
}
.accordion button[aria-expanded='true'] .icon::after {
width: 0;
}
.accordion button[aria-expanded='true'] + .accordion-content {
opacity: 1;
max-height: 9em;
transition: all 200ms linear;
will-change: opacity, max-height;
}
.accordion .accordion-content {
opacity: 0;
max-height: 0;
overflow: hidden;
transition: opacity 200ms linear, max-height 200ms linear;
will-change: opacity, max-height;
}
.accordion .accordion-content p {
font-size: 1rem;
font-weight: 300;
margin: 2em 0;
}


.form-flex {
display: flex;
gap:20px;
flex-wrap: wrap;

}


.form-flex p {
min-width: calc(50% - 10px);

}











.scroll-hero {
height: 150vh;
background: #161617;

}

.hero-background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: 0;
overflow: hidden;
}

.hero-overlay {
position: absolute;
inset: 0;
background: #161617;
opacity: 0;
transition: opacity 0.2s;
z-index: 1;
pointer-events: none;
}

.hero-content {
width: 100vw;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) translateY(100px);
z-index: 2;
opacity: 0;
transition: opacity 100ms linear;
color: white;
}


.wcalcform {
display: flex;
gap: 16px;
}

.negative-margin {margin-bottom: -120px;}

.negative-margin-agnostic {margin-top: -340px;}


.infinity-graphic {width: 100%;}


.infinity-graphic img {width: 100%; object-fit: none;}


@media (max-width: 1380px) {

.negative-margin-agnostic {margin-top: -260px;}

}



@media (max-width: 980px) {

.mobcenta {text-align: center !important;}


.scroll-hero {
height: 130vh;
}

.infinity-graphic img {width: 100%; object-fit: contain;}


.negative-margin {
margin-bottom: 0px !important;
}

.negative-margin-agnostic {margin-top: -160px;}

.wcalcform {
flex-direction: column;
}


.carousel-text p {
margin-right: 10px;
}

.center-subhead {
max-width: 100%;
}

.four-column-grid .grid-box {
min-width: calc(50% - 14px);
margin-bottom: 21px;
}

.hero-subhead {
font-size: 24px;
}

.bigpara {
line-height: 1.4;
}

p {
font-size: 0.93em;
}

.mob100 {width: 134% !important;}
.mob200 {width: 140% !important;}

}


@media (max-width: 680px) {

.mob100 {width: 160% !important;}
.mob200 {width: 170% !important;}

.negative-margin-agnostic {margin-top: -100px;}

p {
font-size: 0.88em;
}

.four-column-grid .grid-box {
min-width: 100%;
margin-bottom: 26px;
}

.hero-subhead {
font-size: 22px;
}

}


.scroll-hero .hero-background {
background: var(--desktop-bg) no-repeat center center / cover;
}


.mob12p {margin-top:12px;}

@media (max-width: 980px) {
.scroll-hero .hero-background {
background: var(--mobile-bg) no-repeat center center / cover;
}

.mob12p {margin-top:0px;}


.grid-container {
background-color: #fff;
position: relative;
margin-top: 0px;
display: grid;
gap: 0px;
/* border-bottom: 12px solid #fff; */
grid-template-columns: repeat(1, 1fr);
left: 0px;
width: 100%;
z-index: 41;
}

.wdc-content-wrapper {
position: relative;
height: 400px;
width: 100%;

display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
background: url(https://akvosphere.com/wp-content/uploads/2025/04/akvo-own-water.jpg)
no-repeat center center;
background-size: cover;
}

.watch-content-wrapper {
background: url(https://akvosphere.com/wp-content/uploads/2025/07/infinity-water-home.jpg)
no-repeat center center;
background-size: cover;
position: relative;
height: 400px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
flex-grow: 0;
}


}



.esgbox {
margin-top; -50px;
background: #012B75;
border-radius: 12px;
display: flex;
flex-direction: column;
align-items: center;
align-content: center;
justify-content: center;
padding: 42px 26px;
color: white;
}



.hero-page {
width: 100%;
height: 50vh;
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: column;
position: relative;
padding-bottom: 22px;
}




.hero-page .video-overlay {
z-index: 2;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: top right;
background-image: linear-gradient(to bottom, rgb(0 0 0 / 17%), rgb(12 12 12 / 70%)) !important;
}


.iti {

width: 100%;
}