@charset "UTF-8";

/* CSS Document */

/*
Theme Name: VOA Foundation
Theme URI: https://virginiarecovers.com/
Author: Consociate
Author URI: consociate.marketing
Text Domain: voa-foundation
*/

/* GENERAL 
#################################################### */

html, body {
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

body { font-family: "source-sans-pro", sans-serif; font-weight: 400; font-style: normal; font-size: 20px }

h1, h2, h3, h4, h5, h6 { font-family: "roboto-slab", serif; font-weight: 700; 
	line-height: 1.25em; margin-bottom: 1.25rem;  }
h1 { font-size: 60px }
h2 { font-size: 52px }
h3 { font-size: 44px }
h4 { font-size: 34px }
h5 { font-size: 28px }
h6 { font-size: 22px }

.left { text-align: left }
.right { text-align: right }
.center { text-align: center }

.light { font-weight: 300 }
.norm { font-weight: 400 }
b, strong, .bold { font-weight: 700; }

.caps { text-transform: uppercase }
.small, small { }

.slab { font-family: "roboto-slab", serif; font-weight: 400; }
.script { font-family: "handsome-pro", sans-serif; font-weight: 400 }
.semi { font-family: "source-sans-pro", sans-serif; font-weight: 600 }

.txt-green { color: #1F9156 }
.txt-blue { color: #283B91 }
.txt-gold { color: #FAD22D !important }
.bg-blue { background-color: #283B91 }
.bg-white { background-color: #fff }

i { font-size: 25px; margin: 0 10px } /* FA icons */


/* Header */

#header {  }
.cap { background: url("images/bg-green-cap.svg") center top no-repeat; width: 100%; height: 125px; margin-top: -125px; 
	position: relative; z-index: 10}

/* Nav */

/* .navbar-brand img { width: 250px; height: auto } */
.navbar-brand { background: url("/wp-content/themes/voa-foundation/images/logo-voa-foundation-wide.png") center center no-repeat;
	width: 250px; height: 100px; background-size: contain}
.page-id-4258 .navbar-brand { background: url("/wp-content/uploads/2026/02/VOAA_VA-Recovery-Conference-2026-Secondary-Logo.webp") center center no-repeat; width: 250px; height: 100px; background-size: contain }

.navbar .container-fluid { padding: 25px 0 0 5% } 
.navbar-nav { border-top-left-radius: 25px; border-bottom: 10px solid #1F9156; padding: 15px 35px }
.nav-link { color: #fff; font-weight: 700; text-transform: uppercase }
.nav-link:hover { color: #1F9156 !important }
.navbar-expand-lg .navbar-nav .nav-link { padding-right: 25px; padding-left: 25px }

#intro { background: url(images/bg-green-intro.jpg) top center no-repeat; background-size: cover;
	padding-top: 100px; padding-bottom: 300px; background-color: #1F9156 } 
#intro .text { color: #fff; border-left: 10px solid #FAD22D; padding-left: 50px; margin-left: 5% }
#intro .map img { max-width: 115%; height: auto }

#mission { padding-bottom: 100px;
	background: linear-gradient(180deg, rgba(31, 145, 86, 1) 0%, rgba(40, 59, 145, 1) 100%) }
#mission .bg-white { padding: 100px 50px; margin-top: -150px; position: relative; z-index: 10 }
#mission .register { border-top: 5px solid #FAD22D; padding-top: 50px; margin-top: 50px; text-align: center }
#mission .logo { width: 250px; height: auto; margin: -175px auto 40px auto; padding-bottom: 40px; border-bottom: 10px solid #FAD22D }
#mission .collage { max-width: 120%; margin-top: -75px }

.btn-icon { line-height: 2 }
.fa-pen-to-square { margin-left: 5px; margin-right: -5px }

footer { padding: 75px 0 }
footer .icon img { max-width: 150px; width: 100% }
footer .txt-blue { padding-right: 25px }
footer .address { border-left: 5px solid #FAD22D; padding-left: 50px }
footer .copyright { font-size: 18px; margin-top: 50px }


/* Pages */

/*
####################################################
C O M P O N E N T S
####################################################
*/

/* IMAGES */

img { max-width: 100%; height: auto; }


/* LINKS */

a { text-decoration: none; transition: 200ms; font-weight: 700; color: #283B91 }
a:hover { color: #1F9156 }

a img { transition: 200ms }
a img:hover { opacity: .8 }

/* BUTTONS */

.btn { border: none; padding: 12px 20px 10px 20px; background: #FAD22D; color: #283B91; 
	font-family: "roboto-slab", serif; text-transform: uppercase; font-weight: 700 }
.btn:hover { background: #283B91; color: #fff }

.btn-gold { background: #FAD22D; color: #283B91 }

.wp-block-button__link { background-color: #FDBD3D; color: #000;
	font-family: "din-condensed", sans-serif; font-weight: 400; font-size: 20px; text-transform: uppercase;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;  }
.wp-block-button__link:hover { background-color: #09366f; color: #fff; text-decoration: none }


/* Shadows */

.shadowed { box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px !important; }

.shadow-text { text-shadow: -1px -1px 1px #fff, 1px 1px 1px rgba(0,0,0,.50) }

/* Spacing */

.max-800, .max-1000, .max-1200, .max-w { margin-left: auto; margin-right: auto }
.max-800 { max-width: 800px }
.max-1000 { max-width: 1000px }
.max-1200 { max-width: 1000px }

.mar-0 { margin: 0 }
.mar-btm-0 { margin-bottom: 0 !important }
.mar-btm-25 { margin-bottom: 25px }

/*
####################################################
E X T R A S
####################################################
*/

/* Anchor scroll sticky menu offset */
html {
  scroll-padding-top: 150px;
}

/* WP admin bar offset */
body.admin-bar .navbar {
    margin-top: 32px;
}

/* Nav scroll */

.navbar-fixed-top.scrolled  {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px !important;
}
.navbar-fixed-top.scrolled  {
  background: #fff;
  transition: background 200ms ease
}
.navbar-fixed-top.scrolled .navbar-brand img {
  width: 150px;
  transition: width 200ms ease
}
.navbar-fixed-top.scrolled .container-fluid {
	padding-top: 0; 
	transition: padding-top 200ms ease
}

/* Full-width in WP Block Editor (Cover block) */
.alignfull {
    width:  100vw;
    max-width:  100vw;
    margin-left:  calc(50% - 50vw);
}
.wp-block-cover.alignfull {
    padding-top: 100px; padding-bottom: 100px; margin-top: 50px; margin-bottom: 75px
}
.wp-block-cover.alignfull.flush {
    margin-top: 0;
    margin-bottom: 0;
}

.wp-block-cover__inner-container { max-width: 1200px }

#XXX { overflow-x: hidden } /* Fix for PC horizontal scroll bars with .alignfull */

/* Image Wraps */

.crop,
	.wp-block-post-featured-image { height: 350px }
.crop img,
	.wp-block-post-featured-image img { 
	object-fit: cover;
    width: 100%;
    height: 100% !important;
}

/* Nav dropdown on hover */
.dropdown:hover>.dropdown-menu {
  display: block;
}

.dropdown>.dropdown-toggle:active {
  /*Without this, clicking will make it sticky*/
    pointer-events: none;
}

/* Heading lines */

.bordered { position: relative; display: inline-block; margin-bottom: 50px }

.bordered::after { 
	content: "";
	position: absolute;
	bottom: -25px; /* Aligns with bottom of parent */
	left: 0;   /* Starts at left */
	width: 100px;
	height: 10px; /* Adjust thickness as needed */
	background-color: #FAD22D; /* Adjust color */
}

.heading {
  position: relative;
  display: inline-block; /* keeps text width tight */
  text-align: center;
}
.heading::after {
  content: "";
  display: block;
  width: 100px; /* set your line width */
  height: 10px; /* thickness of the line */
  background-color: #D22630; /* color of the line */
  margin: 8px auto 0; /* centers line below text */
}

/* Line centered after text vertically */
.line {
  display:inline-block;
  padding: 10px 10px 15px; /* bottom padding should be higher to make up for pseudo border height */
  background: linear-gradient(90deg, transparent 25%, #fff 25%, #fff 75%, transparent 75%);
  background-size: 100% 5px;
  background-position: 0% 100%;
  background-repeat: no-repeat;
}

/* Line after text Horizontally */
#partners .heading-line { 
  display: flex;
  align-items: center;
  gap: 1em; /* space between text and line */ }
#partners .line { 
  flex-grow: 1;
  height: 10px;
  background-color: #64B9AE; /* line color */ }


/*
####################################################
M E D I A  Q U E R I E S
####################################################
*/

/*
::::::::::::::::::::::::::::::::::::::::::::::::::::
Bootstrap 4 breakpoints
*/

/* Custom */
@media (min-width: 1925px) {

}

/* Extra large devices (large desktops, 1200px and up)
 * No media query since this is the default in Bootstrap because it is "mobile first"
 */
@media (min-width: 1200px) {

}

/* Large devices (desktops, 992px and up) */
@media (max-width: 1199px) {


}

/* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */
@media (max-width: 991px) {
	
	.m-hide { display: none }
	.m-show { display: block }
	
	/* Breaks WP BLOCK columns early w/ tweaks */
	.wp-block-columns { display:block } 
	.wp-block-column:nth-child(2n),
		.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) { margin-left: 0 }
	
	/*
	.offcanvas-title img { max-width: 200px }
	.navbar-expand-lg .navbar-nav .nav-link { color: #0A6399; font-size: 22px; font-weight: 700 }
	.offcanvas .navbar-nav .nav-link.active { border-bottom: 0 }
	*/
	
	.navbar-toggler { background-color: #1F9156; border-color: #1F9156; color: #fff; font-size: 20px }
	.navbar-toggler-icon {
	  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	}
	.offcanvas-title { color: #fff }
	.offcanvas { background: #1F9156 url(images/bg-green-intro.jpg) left bottom no-repeat; background-size: cover; }
	.offcanvas-body { padding-right: 0 }
	
	.navbar .container-fluid {  padding: 0 15px }
	.navbar-brand { width: 200px }
	.navbar-nav { padding: 15px 35px 15px 0 }
	
	#intro { padding-top: 50px }
	#intro .text { margin-left: 15px; padding-left: 25px; padding-right: 45px }
	#intro .map { text-align: center }
	#intro .map img { max-width: 75%; margin-bottom: 25px }
	
	#mission .collage { max-width: 100%; margin-top: 0 }
	#mission .bg-white { padding: 100px 25px }
	
	.wp-block-cover.alignfull { padding-top: 50px; padding-bottom: 50px }


}

/* Small devices (landscape phones, 544px and up) */
@media (max-width: 767px) {
	
	.reverse-mobile { flex-direction: column-reverse }
	
	footer { padding: 50px 0 }
	footer .icon img { margin-bottom: 15px }
	footer .txt-blue { padding-right: 0; margin-bottom: 25px }
	footer .address { padding-left: 25px }
}

/* Extra small devices (portrait phones, less than 544px) */
@media (max-width: 543px) {

}

/*
::::::::::::::::::::::::::::::::::::::::::::::::::::
Custom media queries
*/

/* Set width to make card deck cards 100% width */
@media (max-width: 950px) {

}