Queue-North-Website/styles.css

2630 lines
50 KiB
CSS
Raw Permalink Normal View History

2026-05-11 23:56:42 -05:00
/*
Queue North Technologies - Global Styles
Color Palette:
Background: #07293A (deep navy)
Text: #C7BEA1 (beige)
Accent: #3BA3FF (button / link highlight)
*/
/* =========================
CSS Variables
========================= */
:root {
--background: #07293A;
--background-alt: #0B3246;
--background-panel: #0F3A51;
--background-panel-soft: #0D364B;
--text: #C7BEA1;
--text-muted: #9E9476;
--border-subtle: rgba(199, 190, 161, 0.25);
--accent: #3BA3FF;
--accent-hover: #1990ff;
}
/* =========================
Reset / Base
========================= */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html, body {
height: 100%;
}
body {
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--text);
background: radial-gradient(circle at top, #0E3A52 0%, #07293A 45%, #041720 100%);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
/* Global element defaults */
img {
max-width: 100%;
display: block;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
p, h1, h2, h3, h4, h5, h6, li, label {
color: var(--text);
}
/* =========================
Layout Helpers
========================= */
.container {
max-width: 1120px;
margin: 0 auto;
padding: 0 20px;
}
.section {
padding: 70px 0;
background: transparent;
}
.alt-section {
background: linear-gradient(135deg, #07293A 0%, #0B3246 40%, #07293A 100%);
}
.section h2 {
font-size: 32px;
margin-bottom: 16px;
letter-spacing: 0.03em;
}
.section-intro {
max-width: 1250px;
margin-bottom: 30px;
font-size: 21px;
color: var(--text-muted);
}
/* =========================
Header (compact + logo bleed)
========================= */
.site-header {
position: sticky;
top: 0;
z-index: 50;
background: rgba(4, 23, 32, 0.9);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(59, 163, 255, 0.15);
height: 84px;
padding: 0 20px;
display: flex;
align-items: center;
justify-content: flex-end; /* nav stays right */
}
/* Logo does NOT take layout width (prevents nav wrapping) */
.logo {
position: absolute;
left: 5px;
top: 125%;
transform: translateY(-50%);
z-index: 60;
}
.logo-link {
display: inline-flex;
align-items: center;
}
/* Desktop logo size + bleed */
.logo-link img {
height: 300px;
width: auto;
transform: translateY(14px); /* bleed down */
filter: drop-shadow(0 8px 18px rgba(0,0,0,0.45));
}
/* Make room below so bleed doesn't collide */
.app {
min-height: calc(100vh - 140px);
padding-top: 18px;
}
/* =========================
Nav (tab-like view switching)
- No layout shift underline
========================= */
.site-nav {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: nowrap; /* IMPORTANT: prevent wrap on desktop */
gap: 24px;
width: min(100%, 1240px);
margin-left: auto;
padding-left: 140px; /* reserves space so nav doesn't collide with logo */
}
.site-nav a {
font-size: 16px;
color: var(--text-muted);
letter-spacing: 0.04em;
text-transform: uppercase;
white-space: nowrap;
position: relative;
padding: 6px 0;
transition: color 0.25s ease;
}
.site-nav a:hover {
color: var(--text);
text-decoration: none;
}
/* underline (hidden by default) */
.site-nav a::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 100%;
height: 2px;
background: rgba(59, 163, 255, 0.65);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.25s ease;
}
/* Active link */
.site-nav a.active {
color: var(--text);
text-decoration: none;
}
.site-nav a.active::after {
transform: scaleX(1);
}
.site-nav a:hover::after {
transform: scaleX(1);
}
/* =========================
Mobile
========================= */
@media (max-width: 900px) {
.site-header {
height: 76px;
padding: 0 16px;
}
.logo {
left: 16px;
}
.logo-link img {
height: 56px;
transform: translateY(10px);
}
.app {
padding-top: 8px;
}
/* On mobile, allow wrap so links don't get microscopic */
.site-nav {
padding-left: 86px;
justify-content: flex-end;
flex-wrap: wrap;
gap: 12px 16px;
width: auto;
}
}
/* =========================
Hero
========================= */
.hero {
min-height: 70vh;
display: flex;
align-items: center;
background: radial-gradient(circle at top left, #0E3A52 0%, #07293A 40%, #020910 100%);
padding: 80px 0 90px;
}
.hero-inner {
max-width: 1360px;
margin: 0 auto;
padding: 0 20px;
}
.hero h1 {
font-size: 38px;
margin-bottom: 16px;
letter-spacing: 0.04em;
}
.hero p {
font-size: 18px;
max-width: 840px;
margin-bottom: 26px;
color: var(--text-muted);
}
/* Center the CTA under the copy (and no "View Services" now) */
.hero-actions {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 22px;
}
.hero-trust {
display: flex;
flex-wrap: nowrap; /* keep them on one row when possible */
gap: 10px;
font-size: 13px;
opacity: 0.92;
}
.hero-trust span {
border-radius: 999px;
border: 1px solid rgba(199, 190, 161, 0.35);
padding: 6px 13px;
background: rgba(11, 50, 70, 0.7);
white-space: nowrap;
}
/* =========================
Buttons
========================= */
.primary-btn {
background: var(--accent);
color: #031019;
border: none;
padding: 11px 24px;
border-radius: 999px;
cursor: pointer;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.primary-btn:hover {
background: var(--accent-hover);
}
.secondary-link {
font-size: 14px;
color: var(--text-muted);
}
/* =========================
Highlights (pain points)
========================= */
.highlights {
padding: 60px 0;
background: linear-gradient(180deg, #07293A 0%, #0B3246 60%, #07293A 100%);
}
.highlights h2 {
text-align: center;
margin-bottom: 30px;
}
.highlight-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 24px;
}
.highlight-card {
background: var(--background-panel);
padding: 24px;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(3, 10, 17, 0.7);
border: 1px solid var(--border-subtle);
}
.highlight-card h3 {
margin-bottom: 10px;
color: var(--text);
}
.highlight-card p {
color: var(--text-muted);
}
/* =========================
Two-column layout
========================= */
.two-column {
display: grid;
grid-template-columns: 1.25fr 1fr;
gap: 40px;
}
/* =========================
Lists
========================= */
.bullet-list {
list-style: disc;
padding-left: 20px;
color: var(--text-muted);
}
.bullet-list li + li {
margin-top: 6px;
}
/* =========================
Cards grid (Services / Industries / etc.)
========================= */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 24px;
}
.card {
background: var(--background-panel-soft);
padding: 22px;
border-radius: 10px;
box-shadow: 0 8px 26px rgba(3, 10, 17, 0.7);
border: 1px solid var(--border-subtle);
}
/* =========================
Forms
========================= */
.contact-form {
background: var(--background-panel);
padding: 22px;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(3, 10, 17, 0.9);
border: 1px solid var(--border-subtle);
}
.contact-form label {
display: block;
font-size: 13px;
margin-bottom: 10px;
}
.contact-form input,
.contact-form textarea {
width: 100%;
margin-top: 4px;
padding: 9px 10px;
border-radius: 6px;
border: 1px solid rgba(199, 190, 161, 0.35);
font-size: 14px;
background: #031521;
color: var(--text);
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
color: rgba(199, 190, 161, 0.6);
}
.contact-form input:focus,
.contact-form textarea:focus {
outline: none;
border-color: var(--accent);
box-shadow: 0 0 0 1px rgba(59, 163, 255, 0.3);
}
.contact-form button {
margin-top: 10px;
}
.form-status {
margin-top: 8px;
font-size: 13px;
color: #5ee0b1;
}
/* =========================
Footer
========================= */
.site-footer {
background: #020910;
color: var(--text-muted);
padding: 28px 0 18px;
font-size: 13px;
border-top: 1px solid rgba(59, 163, 255, 0.15);
}
.footer-main {
display: grid;
grid-template-columns: minmax(220px, 1.35fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr);
gap: 28px;
align-items: start;
}
.footer-brand,
.footer-column {
min-width: 0;
}
.footer-heading {
font-size: 15px;
font-weight: 600;
color: var(--text);
margin-bottom: 10px;
}
.footer-brand p,
.footer-phone a,
.footer-link-list a,
.footer-linkedin {
color: var(--text-muted);
}
.footer-brand p {
max-width: 280px;
}
.footer-phone,
.footer-social {
display: flex;
flex-direction: column;
gap: 8px;
}
.footer-phone a,
.footer-linkedin {
display: inline-flex;
align-items: center;
gap: 10px;
}
.footer-phone a:hover,
.footer-link-list a:hover,
.footer-linkedin:hover {
color: var(--text);
text-decoration: none;
}
.footer-quick-links .footer-link-list {
display: flex;
flex-wrap: wrap;
gap: 10px 18px;
}
.footer-link-list a {
display: inline-block;
}
.linkedin-badge {
width: 22px;
height: 22px;
border-radius: 5px;
display: inline-flex;
align-items: center;
justify-content: center;
background: #0a66c2;
color: #ffffff;
font-size: 13px;
font-weight: 700;
line-height: 1;
flex: 0 0 22px;
text-transform: lowercase;
}
.footer-legal {
display: grid;
gap: 8px;
margin-top: 22px;
padding-top: 16px;
border-top: 1px solid rgba(199, 190, 161, 0.12);
font-size: 12px;
color: var(--text-muted);
}
/* =========================
Pages (tabbed views\)
========================= */
.page {
display: none;
}
.page.active {
display: block;
}
/* =========================
Split hero (content + image area)
========================= */
.hero-split-inner {
display: grid;
grid-template-columns: 0.7fr 1.3fr;
gap: 28px;
align-items: center;
}
.hero-media {
position: relative;
display: flex;
justify-content: flex-end;
align-items: center;
}
/* NEW: unboxed hero image */
.hero-photo {
width: 100%;
max-width: 980px;
height: auto;
border-radius: 14px; /* keep the soft rounding */
display: block;
filter: drop-shadow(0 16px 30px rgba(3, 10, 17, 0.55));
}
/* =========================
Hero image overlay: rotating phrases + lockup
========================= */
.hero-media-overlay {
position: absolute;
left: 18px;
right: 18px;
bottom: 0px;
pointer-events: none;
display: flex;
flex-direction: column;
gap: 6px;
}
.hero-rotator-text,
.hero-lockup-subtitle {
color: #ffffff;
font-size: 32px;
font-weight: 600;
text-align: center;
letter-spacing: 0.06em;
text-shadow: 0 2px 10px rgba(0,0,0,0.55);
}
.hero-brand {
color: #1F8FB3;
font-size: 36px;
font-weight: 700;
letter-spacing: 0.08em;
margin-bottom: 6px;
}
.hero-rotator-text {
display: inline-block;
}
/* Visibility toggles driven by main.js */
.is-hidden {
opacity: 0;
visibility: hidden;
transform: translateY(6px);
}
.is-visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.hero-rotator-text {
transition:
opacity var(--hero-fade-ms, 900ms) ease,
transform var(--hero-fade-ms, 900ms) ease,
visibility 0ms linear var(--hero-fade-ms, 900ms);
}
.hero-lockup {
transition:
opacity var(--hero-lockup-fade-ms, 1100ms) ease,
transform var(--hero-lockup-fade-ms, 1100ms) ease,
visibility 0ms linear var(--hero-lockup-fade-ms, 1100ms);
}
/* Shared media card (images / placeholders) */
.media-card {
width: 100%;
max-width: 820px;
border-radius: 14px;
border: 1px solid var(--border-subtle);
background: rgba(15, 58, 81, 0.65);
box-shadow: 0 12px 34px rgba(3, 10, 17, 0.75);
overflow: hidden;
}
.about-meaning-image {
width: 100%;
height: auto;
display: block;
border-radius: 14px;
object-fit: cover;
}
.media-placeholder {
padding: 26px;
min-height: 300px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 6px;
color: var(--text-muted);
background:
radial-gradient(circle at 20% 20%, rgba(59,163,255,0.18), transparent 45%),
radial-gradient(circle at 80% 30%, rgba(199,190,161,0.10), transparent 40%),
rgba(3, 21, 33, 0.35);
}
.media-placeholder span {
color: var(--text);
font-weight: 400;
letter-spacing: 0.02em;
}
.media-placeholder small {
color: var(--text-muted);
}
/* =========================
Page-level hero
========================= */
.page-hero {
padding: 70px 0 30px;
background: transparent;
}
.page-hero-inner {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 28px;
align-items: center;
}
/* =========================
ABOUT: full-bleed image canvas
========================= */
.about-canvas{
position: relative;
min-height: calc(100vh - 84px); /* header height */
padding: 130px 60px 80px; /* space so we dont fight the logo bleed */
background:
linear-gradient(rgba(4,23,32,0.20), rgba(4,23,32,0.20)),
url("assets/about-image.png");
background-size: 67%;
background-position: center 5%;
background-repeat: no-repeat;
}
.about-canvas::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
/* 1) vignette fade on edges + 2) warm paper tint */
background:
radial-gradient(
ellipse at center,
rgba(0,0,0,0) 55%,
rgba(0,0,0,0.35) 78%,
rgba(0,0,0,0.65) 100%
),
linear-gradient(
rgba(210, 190, 140, 0.06),
rgba(210, 190, 140, 0.02)
);
}
#page-services{
position: relative;
min-height: calc(100vh - 84px); /* header height */
padding: 130px 60 80px;
background:
linear-gradient(rgba(4,23,32,0.25), rgba(4,23,32,0.25)),
url("assets/services-image.png");
background-size: 45%;
background-position: center 45%;
background-repeat: no-repeat;
}
#page-services::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
radial-gradient(
ellipse at center,
rgba(0,0,0,0) 55%,
rgba(0,0,0,0.85) 78%,
rgba(0,0,0,0.45) 100%
);
}
/* Keep Services content above the background + vignette */
#page-services > section{
position: relative;
z-index: 2;
}
/* Center the Services header at the top */
#page-services .page-hero{
padding: 0 0 26px;
background: transparent;
}
#page-services .page-hero-inner{
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 10px;
}
/* Pull the cards up so they sit over the image more tightly */
#page-services .section{
padding-top: 0;
}
@media (max-width: 900px){
#page-services{
padding: 110px 0 50px;
min-height: auto;
}
}
.about-panel{
position: relative;
z-index: 2;
}
.about-canvas{
z-index: 0;
}
/* Panels */
.about-panel{
max-width: 520px;
padding: 22px 22px;
border-radius: 14px;
background: rgba(11, 50, 70, 0.72); /* matches your alt-section blues */
border: 1px solid rgba(199, 190, 161, 0.25);
box-shadow: 0 12px 34px rgba(3, 10, 17, 0.75);
backdrop-filter: blur(10px);
}
.about-panel h2{
font-size: 24px;
margin-bottom: 10px;
}
.about-panel h3{
font-size: 24px;
margin-bottom: 10px;
}
.about-panel p{
color: var(--text-muted);
font-size: 18px;
font-weight: 300;
color: #C7BEA1;
}
.about-panel ul{
color: var(--text-muted);
font-size: 18px;
font-weight: 300;
color: #C7BEA1;
}
/* Placement: keep away from the compass area */
.about-panel-left{
position: absolute;
top: 140px;
left: 80px;
}
.about-panel-right{
position: absolute;
top: 140px;
right: 80px;
}
.services-full-image {
width: 100%;
display: block;
}
.container h2{
font-size: 38px;
margin-bottom: 10px;
text-align: center;
padding-top: 15px;
}
/* Mobile: stack panels and stop absolute positioning */
@media (max-width: 900px){
.about-canvas{
padding: 110px 18px 40px;
min-height: auto;
}
.about-panel-left,
.about-panel-right{
position: static;
max-width: 100%;
margin-bottom: 18px;
}
}
/* Make the 8x8 hero give more space to the logo */
#page-8x8 .page-hero-inner {
grid-template-columns: 1fr 1fr; /* 50/50 on the 8x8 tab */
}
.page-hero-media .media-card {
max-width: 820px;
margin-left: auto;
}
/* ===== 8x8 joint logo lockup (no box) ===== */
.partner-lockup {
display: flex;
flex-direction: column;
align-items: center; /* centers the logo block */
justify-content: center;
gap: 12px;
width: 100%;
}
.partner-lockup-img {
width: min(100%, 760px); /* make it bigger, but still safe */
height: auto;
display: block;
margin: 0 auto;
filter: drop-shadow(0 12px 22px rgba(0,0,0,0.4));
}
.partner-lockup-caption {
text-align: center;
width: 100%;
font-size: 14px;
color: var(--text-muted);
margin: 0;
}
@media (max-width: 900px) {
.partner-lockup-img {
width: min(100%, 520px);
}
}
.partner-logo {
max-width: 240px;
height: auto;
display: block;
margin: 22px auto 0;
padding: 10px 0;
}
.small-muted {
color: var(--text-muted);
font-size: 18px;
text-align: center;
}
/* =========================
Responsive
========================= */
@media (max-width: 900px) {
.site-header {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
/* keep logo readable, reduce bleed */
.logo-link img {
height: 64px;
transform: translateY(10px);
}
/* match the bleed to avoid overlap */
.app {
padding-top: 10px;
}
.site-nav {
width: 100%;
justify-content: flex-start;
gap: 10px 14px;
}
.hero {
padding: 60px 0 70px;
}
.hero h1 {
font-size: 30px;
}
/* allow pills to wrap on smaller screens */
.hero-trust {
flex-wrap: wrap;
}
.two-column {
grid-template-columns: 1fr;
}
.hero-split-inner,
.page-hero-inner {
grid-template-columns: 1fr;
}
.hero-media,
.page-hero-media {
justify-content: flex-start;
}
.hero-photo {
max-width: 100%;
}
@media (max-width: 900px) {
.site-footer {
padding-top: 24px;
}
.footer-main {
grid-template-columns: 1fr;
gap: 20px;
}
.footer-brand p {
max-width: none;
}
.footer-quick-links .footer-link-list {
gap: 10px 16px;
}
}
}
/* =========================================
Services + Industries: force 2x2 layout
(Only affects these two tabs)
========================================= */
/* Desktop / large screens: always 2 columns */
#page-services .card-grid,
#page-industries .card-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
max-width: 980px; /* keeps the 2-column layout looking intentional */
margin-left: auto;
margin-right: auto;
}
/* Make cards slightly “longer” (taller) so the layout feels balanced */
#page-services .card,
#page-industries .card {
min-height: 150px; /* adjust to taste: try 160200 */
}
/* Medium screens: still 2 columns until it truly needs to stack */
@media (max-width: 900px) {
#page-services .card-grid,
#page-industries .card-grid {
grid-template-columns: 1fr; /* single column on mobile */
max-width: 720px;
}
#page-services .card,
#page-industries .card {
min-height: 0; /* let content define height on mobile */
}
}
/* =========================
SERVICES: make cards feel like About panels
========================= */
/* Spread the 2x2 grid out more (less cramped) */
#page-services .card-grid {
max-width: 1120px; /* wider than the current 980px */
gap: 200px 200px; /* more breathing room */
padding: 10px 0 0; /* tiny separation from the header */
}
/* Glassy / semi-transparent cards (match About panel vibe) */
#page-services .card {
background: rgba(11, 50, 70, 0.72); /* same family as .about-panel */
border: 1px solid rgba(199, 190, 161, 0.25);
box-shadow: 0 12px 34px rgba(3, 10, 17, 0.75);
backdrop-filter: blur(10px);
}
/* Optional: slightly bigger headings for presence */
#page-services .card h3 {
font-size: 20px;
margin-bottom: 10px;
}
/* Optional: make body copy a touch more readable on photo background */
#page-services .card p {
color: rgba(199, 190, 161, 0.92);
}
/* Balance last service card when odd number of services */
#page-services .card-grid > .card:last-child {
grid-column: 1 / -1;
width: min(100%, calc((100% - 28px) / 2));
justify-self: center;
}
@media (max-width: 900px) {
#page-services .card-grid > .card:last-child {
grid-column: auto;
width: 100%;
}
}
/* =========================
INDUSTRIES: images beside cards (images NOT inside cards)
========================= */
#page-industries .industries-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 58px;
max-width: 1620px;
margin: 0 auto;
}
/* Each item is a 2-column mini-layout: big image + card */
#page-industries .industry-item {
display: grid;
gap: 18px;
align-items: stretch;
}
/* Big image, no container */
#page-industries .industry-image {
width: 100%;
height: 100%;
min-height: 80px;
min-width: 80px;
object-fit: cover;
border-radius: 14px;
border: 1px solid rgba(199, 190, 161, 0.25);
box-shadow: 0 12px 30px rgba(3, 10, 17, 0.6);
background: transparent;
}
/* Card stays card (container for text only) */
#page-industries .industry-card {
min-height: 80px;
min-width: 80px;
display: flex;
flex-direction: column;
justify-content: center;
}
/* =========================
INDUSTRIES: center text inside cards + larger font
========================= */
#page-industries .industry-card {
display: flex;
flex-direction: column;
justify-content: center; /* vertical center */
align-items: center; /* horizontal center */
text-align: center; /* center text itself */
padding: 28px; /* a little more breathing room */
}
/* Larger headline */
#page-industries .industry-card h3 {
font-size: 24px; /* was default ~20px */
margin-bottom: 12px;
}
/* Larger body copy */
#page-industries .industry-card p {
font-size: 18px;
max-width: 520px; /* keeps lines from stretching too wide */
color: rgba(199, 190, 161, 0.92);
}
/* Mobile: stack image above card */
@media (max-width: 900px) {
#page-industries .industries-grid {
grid-template-columns: 1fr;
}
#page-industries .industry-item {
grid-template-columns: 1fr;
}
#page-industries .industry-image {
min-height: 220px;
}
}
/* =========================
INDUSTRIES: center page title + intro like Services
========================= */
#page-industries .page-hero {
padding: 30px 0 10px; /* was 70px 0 30px */
}
#page-industries .page-hero-inner{
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 10px;
}
#page-industries .section {
padding-top: 20px; /* was 70px default */
}
#page-industries .section-intro{
margin-left: auto;
margin-right: auto;
text-align: center;
max-width: 650px; /* tweak if you want wider/narrower */
}
/* =========================
Contact Hero Background
========================= */
.contact-hero {
position: relative;
background:
linear-gradient(
rgba(7, 41, 58, 0.85),
rgba(7, 41, 58, 0.85)
),
url("assets/contact.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
padding: 120px 20px;
text-align: center;
}
/* Keeps content above overlay */
.contact-hero > * {
position: relative;
z-index: 2;
}
.contact-hero h1 {
font-size: 3rem;
margin-bottom: 10px;
}
.contact-hero p {
max-width: 800px;
margin: 0 auto;
font-size: 1.2rem;
line-height: 1.6;
}
/* CONTACT hero background image */
#page-contact .page-hero{
/* keep your existing spacing from the global .page-hero */
background:
linear-gradient(rgba(7,41,58,0.55), rgba(7,41,58,0.55)),
url("assets/contact.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
/* center the hero text block */
#page-contact .page-hero-inner{
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
#page-contact .section-intro{
max-width: 900px;
}
/* Left column title */
#page-contact h3{
font-size: 1.8rem; /* increase heading size */
margin-bottom: 18px;
}
/* Bullet list text */
#page-contact .bullet-list li{
font-size: 1.15rem; /* larger body text */
line-height: 1.6;
margin-bottom: 8px;
}
#page-contact .contact-form label{
font-size: 1.05rem;
font-weight: 500;
}
#page-contact .contact-form label{
font-size: 1.05rem;
font-weight: 500;
}
#page-contact .contact-form button{
font-size: 1rem;
padding: 14px 28px;
}
/* =========================
SUPPORT page layout (scoped)
========================= */
#page-support .container{
max-width: 1320px;
}
#page-support .support-hero-inner{
display: grid;
grid-template-columns: 0.7fr 1.3fr;
gap: 200px;
align-items: center;
}
/* Left column: center the title + intro + form */
#page-support .support-hero-left{
display: flex;
flex-direction: column;
align-items: center;
text-align: left;
}
/* Keep the intro readable and centered */
#page-support .support-hero-left .section-intro{
max-width: 560px;
}
/* Right column image: not in a “card”, just a clean image */
#page-support .support-hero-image{
width: 100%;
max-width: 1050px; /* was 720px */
height: auto;
display: block;
border-radius: 18px;
box-shadow: 0 30px 65px rgba(0,0,0,0.55);
}
/* Push the photo farther right without shifting the left column */
#page-support .support-hero-right{
justify-self: end;
}
#page-support .support-hero-image{
margin-left: auto;
}
#page-support .support-action-card{
width: 100%;
max-width: 420px;
padding: 28px 28px 34px;
background: var(--background-panel);
border: 1px solid var(--border-subtle);
border-radius: 10px;
box-shadow: 0 10px 30px rgba(3, 10, 17, 0.9);
display: flex;
flex-direction: column;
align-items: center;
gap: 18px;
text-align: center;
}
#page-support .support-action-btn{
min-width: 180px;
text-align: center;
text-decoration: none;
}
#page-support .support-member-text{
margin: 2px 0 -4px;
color: var(--text-muted);
font-size: 16px;
}
#page-support .support-phone-block{
margin-top: 6px;
padding-top: 18px;
border-top: 1px solid rgba(199, 190, 161, 0.25);
width: 100%;
display: flex;
flex-direction: column;
gap: 8px;
color: var(--text-muted);
font-size: 16px;
}
#page-support .support-phone-block a{
color: var(--accent);
font-size: 20px;
font-weight: 700;
text-decoration: none;
}
#page-support .support-phone-block a:hover{
color: var(--accent-hover);
}
/* Make the support form thinner + taller */
#page-support .support-form{
width: 100%;
max-width: 420px; /* thinner */
padding: 28px 28px 34px;
text-align: left;
}
#page-support .support-form .primary-btn{
display: block;
margin: 24px auto 0; /* centers only the button */
}
/* Larger form font like your Contact page improvements */
#page-support .support-form label{
font-size: 16px;
}
#page-support .support-form input,
#page-support .support-form textarea{
font-size: 16px;
padding: 12px 14px;
}
/* Taller textarea to make the card feel taller */
#page-support .support-form textarea{
min-height: 190px;
resize: vertical;
}
/* Mobile stacking */
@media (max-width: 980px){
#page-support .support-hero-inner{
grid-template-columns: 1fr;
gap: 28px;
}
#page-support .support-hero-right{
order: 2;
}
#page-support .support-hero-left{
order: 1;
}
#page-support .support-hero-image{
max-width: 720px;
margin: 0 auto;
}
}
#page-support .section-intro{
text-align: center;
}
/* =========================
Services Dropdown
========================= */
.nav-dropdown {
position: relative;
display: flex;
align-items: center;
padding-bottom: 12px;
margin-bottom: -12px;
}
.nav-dropdown-toggle {
appearance: none;
background: transparent;
border: 0;
cursor: pointer;
font: inherit;
font-size: 16px;
color: var(--text-muted);
letter-spacing: 0.04em;
text-transform: uppercase;
white-space: nowrap;
position: relative;
padding: 6px 18px 6px 0;
transition: color 0.25s ease;
}
.nav-dropdown-toggle::before {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: calc(100% - 12px);
height: 2px;
background: rgba(59, 163, 255, 0.65);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.25s ease;
}
.nav-dropdown-toggle::after {
content: "";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 12px;
height: 12px; /* gives us room for clean spacing */
background:
linear-gradient(currentColor 0 0) 0 0 / 100% 2px no-repeat,
linear-gradient(currentColor 0 0) 0 50% / 100% 2px no-repeat,
linear-gradient(currentColor 0 0) 0 100% / 100% 2px no-repeat;
}
.nav-dropdown:hover .nav-dropdown-toggle,
.nav-dropdown:focus-within .nav-dropdown-toggle,
.nav-dropdown.open .nav-dropdown-toggle,
.nav-dropdown-toggle.active {
color: var(--text);
}
.nav-dropdown:hover .nav-dropdown-toggle::before,
.nav-dropdown:focus-within .nav-dropdown-toggle::before,
.nav-dropdown.open .nav-dropdown-toggle::before,
.nav-dropdown-toggle.active::before {
transform: scaleX(1);
}
.nav-dropdown-menu {
position: absolute;
top: calc(100% - 2px);
left: 0;
min-width: 320px;
display: none;
flex-direction: column;
padding: 10px;
background: rgba(4, 23, 32, 0.97);
border: 1px solid rgba(59, 163, 255, 0.2);
border-radius: 14px;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
display: flex;
}
.nav-dropdown-menu a {
padding: 10px 12px;
border-radius: 10px;
color: var(--text);
font-size: 15px;
letter-spacing: 0.02em;
text-transform: none;
}
.nav-dropdown-menu a::after {
display: none;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active {
color: var(--text);
text-decoration: none;
background: rgba(59, 163, 255, 0.12);
}
/* =========================
Service Detail Pages
========================= */
.service-page-section {
min-height: calc(100vh - 180px);
display: flex;
align-items: center;
justify-content: center;
padding: 70px 0 90px;
}
.service-page-content {
text-align: center;
}
.service-page-title {
font-size: 36px;
margin-bottom: 28px;
letter-spacing: 0.03em;
}
.service-page-image {
width: min(100%, 860px);
max-height: 64vh;
margin: 0 auto 24px;
object-fit: contain;
border-radius: 18px;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
}
.service-page-tagline {
max-width: 920px;
margin: 0 auto;
font-size: 26px;
color: var(--text-muted);
}
@media (max-width: 900px) {
.nav-dropdown {
width: 100%;
align-items: flex-start;
}
.nav-dropdown-toggle {
font-size: 15px;
padding-right: 16px;
}
.nav-dropdown-menu {
position: static;
min-width: 100%;
margin-top: 8px;
}
.service-page-title {
font-size: 30px;
}
.service-page-tagline {
font-size: 21px;
}
}
/* =========================
Mobile Navigation + Cleanup Overrides
Added to preserve desktop while fixing phone layout
========================= */
.mobile-nav-toggle {
display: none;
appearance: none;
background: transparent;
border: 1px solid rgba(59, 163, 255, 0.28);
border-radius: 10px;
width: 48px;
height: 44px;
padding: 0;
align-items: center;
justify-content: center;
gap: 5px;
flex-direction: column;
cursor: pointer;
}
.mobile-nav-toggle span {
display: block;
width: 20px;
height: 2px;
background: var(--text);
border-radius: 999px;
}
@media (max-width: 900px) {
.site-header {
height: auto;
min-height: 76px;
padding: 12px 16px;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px;
}
.logo {
position: static;
left: auto;
top: auto;
transform: none;
z-index: auto;
}
.logo-link img {
height: 52px;
width: auto;
transform: none;
filter: drop-shadow(0 6px 14px rgba(0,0,0,0.35));
}
.mobile-nav-toggle {
display: inline-flex;
margin-left: auto;
}
.app {
padding-top: 0;
min-height: calc(100vh - 92px);
}
.site-nav {
display: none;
width: 100%;
margin-left: 0;
padding: 10px 0 0;
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
gap: 8px;
}
.site-nav.open {
display: flex;
}
.site-nav > a,
.site-nav > .nav-dropdown {
width: 100%;
}
.site-nav a,
.nav-dropdown-toggle {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 12px 14px;
border-radius: 12px;
background: rgba(11, 50, 70, 0.55);
border: 1px solid rgba(199, 190, 161, 0.12);
font-size: 14px;
line-height: 1.2;
}
.site-nav a::after {
display: none;
}
.nav-dropdown {
display: block;
padding-bottom: 0;
margin-bottom: 0;
}
.nav-dropdown-toggle {
padding-right: 36px;
}
.nav-dropdown-toggle::before {
display: none;
}
.nav-dropdown-toggle::after {
right: 14px;
width: 12px;
height: 12px;
}
.nav-dropdown-menu {
position: static;
display: none;
min-width: 0;
width: 100%;
margin-top: 8px;
padding: 8px;
border-radius: 12px;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
display: none;
}
.nav-dropdown.open .nav-dropdown-menu {
display: flex;
}
.nav-dropdown-menu a {
background: transparent;
border: 0;
padding: 10px 12px;
font-size: 14px;
}
.hero {
min-height: auto;
padding: 32px 0 46px;
}
.hero-inner {
padding: 0 16px;
}
.hero-split-inner,
.page-hero-inner,
.two-column,
.footer-main {
grid-template-columns: 1fr;
}
.hero-content {
order: 1;
}
.hero-media {
order: 2;
justify-content: center;
}
.hero h1 {
font-size: 28px;
line-height: 1.15;
}
.hero p {
font-size: 16px;
max-width: none;
}
.hero-actions {
justify-content: flex-start;
}
.hero-trust {
flex-wrap: wrap;
gap: 8px;
}
.hero-trust span {
font-size: 12px;
padding: 6px 10px;
}
.hero-photo {
max-width: 100%;
border-radius: 12px;
}
.hero-media-overlay {
left: 12px;
right: 12px;
bottom: 12px;
gap: 4px;
}
.hero-rotator-text,
.hero-lockup-subtitle {
font-size: 18px;
letter-spacing: 0.04em;
}
.hero-brand {
font-size: 22px;
margin-bottom: 2px;
}
.section,
.page-hero {
padding: 42px 0;
}
.container {
padding: 0 16px;
}
.section h2,
.service-page-title {
font-size: 28px;
line-height: 1.15;
}
.section-intro,
.service-page-tagline {
font-size: 18px;
max-width: none;
}
.service-page-section {
min-height: auto;
padding: 42px 0 56px;
}
.service-page-image {
width: 100%;
max-height: none;
margin-bottom: 18px;
border-radius: 14px;
}
.card-grid {
grid-template-columns: 1fr;
}
.about-canvas {
min-height: auto;
padding: 108px 16px 48px;
background-size: 92%;
background-position: center 72px;
}
#page-services {
min-height: auto;
padding: 108px 0 48px;
background-size: 88%;
background-position: center 180px;
}
#page-industries .industry-item {
grid-template-columns: 1fr;
gap: 16px;
}
.industry-image img {
width: 100%;
}
#page-8x8 .page-hero,
#page-contact .page-hero,
#page-support .page-hero {
padding-top: 36px;
}
.site-footer {
padding-top: 24px;
}
}
/* =========================
Mobile layout refinement only
Tightens phone layout without changing desktop
========================= */
@media (max-width: 900px) {
.site-header {
min-height: 68px;
padding: 10px 16px;
gap: 8px;
position: sticky;
top: 0;
z-index: 120;
}
.logo-link img {
height: 72px;
width: auto;
max-width: 132px;
}
.mobile-nav-toggle {
width: 42px;
height: 40px;
border-radius: 12px;
border-color: rgba(59, 163, 255, 0.22);
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.mobile-nav-toggle span {
width: 18px;
}
.site-nav {
position: absolute;
top: calc(100% + 1px);
left: 0;
right: 0;
display: none;
padding: 10px 16px 14px;
background: rgba(4, 23, 32, 0.96);
backdrop-filter: blur(14px);
border-top: 1px solid rgba(59, 163, 255, 0.12);
box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
gap: 8px;
}
.site-nav a,
.nav-dropdown-toggle {
padding: 10px 14px;
min-height: 48px;
border-radius: 14px;
background: rgba(11, 50, 70, 0.46);
border: 1px solid rgba(199, 190, 161, 0.1);
font-size: 13px;
letter-spacing: 0.06em;
}
.nav-dropdown-toggle {
padding-right: 34px;
}
.nav-dropdown-toggle::after {
right: 14px;
width: 11px;
height: 11px;
opacity: 0.9;
}
.nav-dropdown-menu {
margin-top: 6px;
padding: 6px;
border-radius: 14px;
background: rgba(8, 33, 45, 0.88);
border: 1px solid rgba(199, 190, 161, 0.1);
}
.nav-dropdown-menu a {
min-height: 40px;
padding: 8px 10px;
font-size: 12.5px;
border-radius: 10px;
}
.app {
min-height: calc(100vh - 76px);
}
.hero {
padding: 18px 0 40px;
}
.hero-inner {
padding: 0 14px;
}
.hero h1 {
font-size: 27px;
line-height: 1.08;
margin-bottom: 14px;
}
.hero p {
font-size: 15px;
line-height: 1.55;
margin-bottom: 22px;
}
.primary-btn {
width: 100%;
max-width: 340px;
padding: 12px 18px;
font-size: 13px;
}
.hero-trust {
gap: 6px;
}
.hero-trust span {
font-size: 11px;
padding: 5px 9px;
}
.hero-media {
margin-top: 6px;
}
.hero-photo {
border-radius: 14px;
}
.hero-media-overlay {
left: 10px;
right: 10px;
bottom: 10px;
}
.hero-rotator-text,
.hero-lockup-subtitle {
font-size: 16px;
}
.hero-brand {
font-size: 20px;
}
}
/* =========================
Mobile corrections only - visible tabs, larger logo, no hamburger
Keeps desktop unchanged
========================= */
@media (max-width: 900px) {
.mobile-nav-toggle {
display: none !important;
}
.site-header {
height: auto;
min-height: 94px;
padding: 10px 14px 12px;
align-items: center;
justify-content: flex-end;
flex-wrap: nowrap;
gap: 10px;
}
.logo {
position: absolute;
left: 8px;
top: 50%;
transform: translateY(-50%);
z-index: 60;
}
.logo-link img {
height: 110px;
width: auto;
max-width: none;
transform: translateY(6px);
filter: drop-shadow(0 8px 18px rgba(0,0,0,0.45));
}
.app {
padding-top: 4px;
min-height: calc(100vh - 110px);
}
.site-nav {
display: flex !important;
position: static;
width: 100%;
margin-left: auto;
padding: 0 0 0 108px;
background: transparent;
backdrop-filter: none;
border-top: 0;
box-shadow: none;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 8px 14px;
}
.site-nav.open {
display: flex !important;
}
.site-nav > a,
.site-nav > .nav-dropdown {
width: auto;
}
.site-nav a,
.nav-dropdown-toggle {
display: inline-flex;
width: auto;
min-height: 0;
padding: 6px 0;
background: transparent;
border: 0;
border-radius: 0;
font-size: 12px;
line-height: 1.2;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.site-nav a::after {
display: block;
}
.nav-dropdown {
display: flex;
width: auto;
align-items: center;
padding-bottom: 10px;
margin-bottom: -10px;
}
.nav-dropdown-toggle {
padding: 6px 18px 6px 0;
}
.nav-dropdown-toggle::before {
display: block;
}
.nav-dropdown-toggle::after {
right: 0;
width: 11px;
height: 11px;
opacity: 1;
}
.nav-dropdown-menu {
position: absolute;
top: calc(100% - 2px);
left: 0;
right: auto;
width: max-content;
min-width: 260px;
max-width: min(88vw, 340px);
margin-top: 0;
padding: 8px;
background: rgba(4, 23, 32, 0.98);
backdrop-filter: blur(12px);
border: 1px solid rgba(59, 163, 255, 0.2);
border-radius: 14px;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
display: flex;
}
.nav-dropdown-menu a {
display: block;
width: 100%;
min-height: 0;
padding: 9px 12px;
background: transparent;
border: 0;
border-radius: 10px;
font-size: 14px;
letter-spacing: 0.02em;
text-transform: none;
}
.hero {
padding: 26px 0 40px;
}
.hero-inner,
.container {
padding: 0 14px;
}
#page-services {
padding: 104px 0 48px;
background-size: 118%;
background-position: center 170px;
}
#page-services .page-hero {
padding-bottom: 18px;
}
#page-services .card-grid {
gap: 18px;
}
.service-page-section {
padding: 36px 0 52px;
}
.service-page-image {
width: 100%;
max-width: 100%;
display: block;
margin: 0 auto 18px;
max-height: none;
}
}
@media (max-width: 520px) {
.site-header {
min-height: 102px;
padding: 10px 12px 12px;
}
.logo {
left: 6px;
}
.logo-link img {
height: 124px;
}
.site-nav {
padding-left: 96px;
gap: 7px 12px;
}
.site-nav a,
.nav-dropdown-toggle {
font-size: 11px;
letter-spacing: 0.045em;
}
.nav-dropdown-menu {
min-width: 232px;
max-width: min(90vw, 320px);
}
.hero h1 {
font-size: 26px;
}
.hero p {
font-size: 15px;
}
#page-services {
background-size: 132%;
background-position: center 188px;
}
}
/* =========================================================
Services overview image grid
========================================================= */
#page-services .services-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 28px;
}
#page-services .service-item {
display: block;
text-decoration: none;
}
#page-services .service-item:hover {
text-decoration: none;
}
#page-services .service-overview-image {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
border-radius: 22px;
box-shadow: 0 12px 34px rgba(3, 10, 17, 0.75);
}
#page-services .service-overview-card {
margin-top: 16px;
text-align: center;
}
#page-services .service-overview-card h3 {
font-size: 28px;
margin-bottom: 10px;
}
#page-services .service-overview-card p {
font-size: 20px;
line-height: 1.6;
color: var(--text-muted);
}
/* =========================================================
Mobile navigation + layout cleanup
========================================================= */
@media (max-width: 900px) {
.mobile-nav-toggle {
display: none !important;
}
.site-header {
height: auto !important;
padding: 14px 12px 12px !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
}
.logo {
position: static !important;
left: auto !important;
top: auto !important;
transform: none !important;
margin: 0 auto 10px !important;
}
.logo-link img {
height: 120px !important;
width: auto !important;
transform: none !important;
}
.app {
padding-top: 0 !important;
}
.site-nav {
position: static !important;
inset: auto !important;
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
transform: none !important;
display: flex !important;
width: 100% !important;
margin: 0 auto !important;
padding: 0 !important;
justify-content: center !important;
align-items: center !important;
flex-wrap: wrap !important;
gap: 10px 18px !important;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
}
.site-nav > a,
.site-nav > .nav-dropdown {
flex: 0 0 auto !important;
}
.site-nav a,
.nav-dropdown-toggle {
font-size: 14px !important;
letter-spacing: 0.04em !important;
padding: 6px 0 !important;
white-space: nowrap !important;
}
.nav-dropdown {
position: relative !important;
width: auto !important;
}
.nav-dropdown-toggle {
min-width: 0 !important;
justify-content: flex-start !important;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
border-radius: 0 !important;
}
.nav-dropdown-toggle::before {
bottom: -2px !important;
}
.nav-dropdown-menu {
position: absolute !important;
top: calc(100% + 8px) !important;
left: 50% !important;
right: auto !important;
transform: translateX(-50%) !important;
min-width: 220px !important;
max-width: min(92vw, 320px) !important;
padding: 10px 0 !important;
z-index: 120 !important;
}
.nav-dropdown-menu a {
padding: 10px 18px !important;
font-size: 14px !important;
}
.hero {
padding-top: 42px !important;
}
#page-services .services-grid {
grid-template-columns: 1fr !important;
gap: 24px !important;
}
#page-services .service-overview-image {
height: auto !important;
aspect-ratio: 16 / 10;
}
#page-services .service-overview-card h3 {
font-size: 24px !important;
}
#page-services .service-overview-card p {
font-size: 18px !important;
}
}
/* =========================================================
Final mobile nav override: force horizontal tab flow
without changing desktop layout
========================================================= */
@media (max-width: 900px) {
.site-header {
align-items: center !important;
}
.site-nav {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
justify-content: center !important;
align-items: center !important;
align-content: center !important;
width: min(100%, 360px) !important;
max-width: 360px !important;
margin: 0 auto !important;
padding: 0 !important;
gap: 12px 18px !important;
}
.site-nav > a,
.site-nav > .nav-dropdown {
display: inline-flex !important;
flex: 0 0 auto !important;
width: auto !important;
max-width: none !important;
min-width: 0 !important;
margin: 0 !important;
}
.site-nav a,
.nav-dropdown-toggle {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: auto !important;
min-width: 0 !important;
max-width: none !important;
margin: 0 !important;
text-align: center !important;
line-height: 1.1 !important;
font-size: 13px !important;
padding: 4px 0 !important;
}
.nav-dropdown {
display: inline-flex !important;
align-items: center !important;
}
.nav-dropdown-toggle::after {
margin-left: 8px !important;
}
.nav-dropdown-menu {
top: calc(100% + 6px) !important;
}
}
/* =========================================================
Mobile-only: remove Services/Industries dropdown behavior
and keep nav as simple wrapped tabs
========================================================= */
@media (max-width: 900px) {
.site-nav {
width: 100% !important;
max-width: 100% !important;
justify-content: center !important;
gap: 10px 16px !important;
padding: 0 12px !important;
}
.site-nav a,
.nav-dropdown-toggle {
font-size: 12px !important;
padding: 4px 0 !important;
letter-spacing: 0.035em !important;
}
.nav-dropdown-toggle::after,
.nav-dropdown-toggle::before {
display: none !important;
content: none !important;
}
.nav-dropdown-menu {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
.nav-dropdown,
.site-nav > .nav-dropdown {
display: inline-flex !important;
width: auto !important;
}
.nav-dropdown-toggle {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
border-radius: 0 !important;
}
.nav-dropdown.open .nav-dropdown-toggle,
.nav-dropdown:hover .nav-dropdown-toggle {
color: var(--text) !important;
}
}
/* Zoho CRM Webform splash message - scoped to Contact page form only */
.wf_customMessageBox {
font-family: Arial, Helvetica, sans-serif;
color: #132C14;
background: #F5FAF5;
box-shadow: 0 2px 6px 0 rgba(0,0,0,0.25);
max-width: 90%;
width: max-content;
word-break: break-word;
z-index: 11000;
border-radius: 6px;
border: 1px solid #A9D3AB;
min-width: 100px;
padding: 10px 15px;
align-items: center;
position: fixed;
top: 20px;
left: 50%;
transform: translate(-50%, 0);
}
.wf_customCircle {
position: relative;
background-color: #12AA67;
border-radius: 100%;
width: 20px;
height: 20px;
flex: none;
margin-right: 7px;
}
.wf_customCheckMark {
box-sizing: unset !important;
position: absolute;
transform: rotate(45deg) translate(-50%, -50%);
left: 6px;
top: 9px;
height: 8px;
width: 3px;
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
}
.wf_customClose {
box-sizing: border-box;
position: relative;
width: 18px;
height: 18px;
margin-left: 12px;
border: 0;
background: transparent;
cursor: pointer;
}
.wf_customClose::after,
.wf_customClose::before {
content: '';
display: block;
box-sizing: border-box;
position: absolute;
width: 12px;
height: 1.5px;
background: #616E88;
transform: rotate(45deg);
border-radius: 5px;
top: 8px;
left: 3px;
}
.wf_customClose::after {
transform: rotate(-45deg);
}