:root{

--primary:#155a8a;
--secondary:#0f4c81;

--bg:#f4f6f8;
--text:#333;

--card-bg:white;

}



/* GENERAL */

body{

font-family:Arial, sans-serif;

margin:0;

background:var(--bg);
color:var(--text);

line-height:1.6;

transition:
background 0.35s ease,
color 0.35s ease;

}

main{

max-width:1100px;
margin:auto;

padding:40px 20px;

}



/* HEADER */

header{

background:var(--primary);
color:white;

text-align:center;

padding:40px 20px;

}

header h1{

margin:0;
font-size:2rem;

}

header p{

margin-top:10px;

}

header i{

margin-right:8px;

}


/* HEADER CONTROLS */

header select,
header button{

margin-top:12px;

padding:8px 14px;

border-radius:8px;

border:1px solid rgba(255,255,255,0.4);

font-size:0.9rem;

cursor:pointer;

background:rgba(255,255,255,0.15);

color:white;

font-weight:600;

backdrop-filter:blur(6px);

transition:
transform 0.15s ease,
box-shadow 0.15s ease,
background 0.2s ease;

}

header button{

margin-left:8px;

}

/* HOVER EFFECT */

header select:hover,
header button:hover{

transform:translateY(-1px);

box-shadow:0 4px 10px rgba(0,0,0,0.25);

background:rgba(255,255,255,0.25);

}

/* DROPDOWN OPTIONS (important fix) */

header select option{

color:black;

}



/* NAVIGATION */

nav{

background:#1a5f93;

text-align:center;

padding:12px;

position:sticky;
top:0;

z-index:1000;

border-top:1px solid rgba(255,255,255,0.15);

transition:
background 0.35s ease,
border 0.35s ease;

}

nav a{

color:white;

margin:0 15px;

text-decoration:none;

font-weight:bold;

position:relative;

transition:color 0.25s ease;

}

nav a:hover{

color:#cfe7ff;

}



/* NAV ANIMATION */

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-4px;

width:0;

height:2px;

background:white;

transition:width 0.3s ease;

}

nav a:hover::after{

width:100%;

}

nav a.active::after{

width:100%;

}



/* HERO SECTION */

.hero{

text-align:center;

margin-bottom:40px;

padding:60px 35px;

background:linear-gradient(
135deg,
#1f6fbf 0%,
#1a64a8 40%,
#155a8a 100%
);

color:white;

border-radius:14px;

box-shadow:
0 8px 22px rgba(0,0,0,0.25),
inset 0 1px 0 rgba(255,255,255,0.15);

position:relative;

overflow:hidden;

}

.hero h2{

font-size:clamp(1.7rem,2.7vw,2.2rem);

font-weight:600;

letter-spacing:0.3px;

margin-bottom:15px;

}

.hero p{

max-width:720px;

margin:auto;

font-size:1.05rem;

opacity:0.95;

line-height:1.5;

}



/* SEARCH BAR */

.search-bar{

text-align:center;

margin:40px 0;

}

.search-bar input{

width:60%;

padding:12px;

border-radius:6px;

border:1px solid #ccc;

}



/* RESOURCE CARDS */

.cards{

display:flex;

gap:20px;

flex-wrap:wrap;

justify-content:center;

}

.card{

background:var(--card-bg);

padding:22px;

border-radius:12px;

width:280px;

box-shadow:0 4px 14px rgba(0,0,0,0.15);

transition:
transform 0.25s ease,
box-shadow 0.25s ease,
background 0.35s ease,
border 0.35s ease;

}

.card h3{

display:flex;

align-items:center;

gap:10px;

margin-top:0;

font-size:1.2rem;

}

.card i{

color:var(--primary);

font-size:1.2rem;

transition:transform 0.2s ease;

}

.card:hover{

transform:translateY(-6px);

box-shadow:
0 10px 28px rgba(0,0,0,0.25),
0 0 12px rgba(31,111,191,0.25);

border:1px solid rgba(0,0,0,0.05);

}

.card:hover i{

transform:scale(1.2);

}



/* CONTENT SECTIONS */

.content-section{

margin-bottom:40px;

padding:22px;

border-radius:10px;

border-bottom:1px solid #ddd;

transition:
background 0.35s ease,
border 0.35s ease;

}

.content-section h2{

display:flex;
align-items:center;

gap:10px;

margin-top:0;

}

.content-section:last-child{

border-bottom:none;

}



/* MAP */

.map-container{

margin-top:20px;

border-radius:10px;

overflow:hidden;

box-shadow:0 4px 14px rgba(0,0,0,0.2);

}



/* BUTTONS */

.print-btn{

margin-top:20px;

padding:10px 18px;

background:#1f6fbf;

color:white;

border:none;

border-radius:8px;

cursor:pointer;

font-weight:600;

box-shadow:0 3px 8px rgba(0,0,0,0.15);

transition:background 0.2s ease, transform 0.15s ease;

}

.print-btn:hover{

background:#2a82da;

transform:translateY(-2px);

}



/* FOOTER */

footer{

background:var(--secondary);

color:white;

padding:40px 30px;

margin-top:60px;

}

.footer-columns{

display:flex;

justify-content:space-between;

flex-wrap:wrap;

gap:30px;

max-width:1100px;

margin:auto;

}

.footer-columns div{

max-width:260px;

}

footer a{

color:#b8d8ff;

text-decoration:none;

}

footer a:hover{

text-decoration:underline;

}

.footer-bottom{

text-align:center;

margin-top:20px;

font-size:0.9rem;

}



/* DARK MODE */

/**/

body.dark-mode{

background:#1b1f24;

color:#e4e4e4;

}

body.dark-mode header select,
body.dark-mode header button{

background:rgba(255,255,255,0.1);
color:white;
border:1px solid rgba(255,255,255,0.25);

}

body.dark-mode nav{

background:#1c1c1c;

}

body.dark-mode main{

background:#1b1f24;

}

body.dark-mode .hero{

background:linear-gradient(
135deg,
#224c7a 0%,
#1f466f 40%,
#1a3c63 100%
);

box-shadow:
0 10px 26px rgba(0,0,0,0.6),
inset 0 1px 0 rgba(255,255,255,0.05);

}

body.dark-mode .card{

background:#262c33;

border:1px solid #3a4047;

}

body.dark-mode .card:hover{

box-shadow:0 12px 30px rgba(0,0,0,0.6);

border:1px solid #3a4047;

}

body.dark-mode .content-section{

background:#232830;

border:1px solid #3a4047;

}

body.dark-mode .content-section i{

color:#5fb3ff;

}

body.dark-mode .map-container{

border:1px solid #3a4047;

}

body.dark-mode .search-bar input{

background:#2a2f36;

border:1px solid #3a4047;

color:#e4e4e4;

}

body.dark-mode footer{

background:#0f2f52;

}

body.dark-mode a{

color:#8fc7ff;

}

body.dark-mode a:hover{

color:#9fd1ff;

}



/* ACCESSIBILITY */

a:focus,
button:focus,
select:focus{

outline:2px solid #4da3ff;
outline-offset:2px;

}



/* MOBILE */

@media(max-width:768px){

.cards{

flex-direction:column;

align-items:center;

}

.search-bar input{

width:90%;

}

.hero{

padding:45px 25px;

}

.footer-columns{

flex-direction:column;

gap:20px;

text-align:center;

}

}



/* PRINT */

@media print{

nav,
header select,
button,
footer{

display:none;

}

a::after{

content:" (" attr(href) ")";
font-size:0.9em;

}

body{

background:white;
color:black;

}

}