/* ----------------------------------------------------------------
	Basic Layout Styles
-----------------------------------------------------------------*/

:root {
	--blue1: #1e2532;
	--blue2: #002147;
	--blue3: #0a466e;
	--blue4: #005b96;
	--blue5: #518cc4;
	--blue6: #b3cde0;
	--gold1: #ad8c56;
	--gold2: #cbb077;
	--gold3: #dccfaa;
	--grey1: #444;
	--grey2: #737373;
	--grey3: #aaa;
	--grey4: #eee;
}

body					{ font-family:"Noto Sans", sans-serif; font-size:16px; line-height:1.3; color:#666; }
p						{ margin-bottom:16px; }

h1, h2					{ font-family:"Marcellus", serif; }
h3, h5					{ font-family:"EB Garamond", serif; font-style:italic; }
h4, h6					{ font-family:"Noto Sans", sans-serif; }

h1						{ font-size:42px; font-weight:700; color:var(--blue3); } 				/* Main Heading - Oxford Blue*/
h2						{ font-size:24px; font-weight:600; color:var(--blue4); }				/* Section Heading - Light Blue*/
h3						{ font-size:30px; font-weight:400; color:var(--gold2); }				/* Subtitle Cursive - Gold */
h4						{ font-size:22px; font-weight:100; color:var(--blue5); }				/* Small Heading Lite - Very Light Blue*/
h5						{ font-size:22px; font-weight:400; color:var(--gold2); }				/* Small Subtitle Cursive - Gold */
h6						{ font-size:14px; font-weight:600; color:#666666; }						/* Very Small Heading */

.text-smaller			{ font-size:0.925em; }

#content				{ position:relative; background-color:#FFF; }
#content .container		{ position: relative; }
#wrapper				{ position:relative; float:none; width:100%; margin: 0 auto; background-color:#FFF; }

a						{ text-decoration:none !important; color:#002147; }
a:hover					{ font-weight:600; }
a.footer				{ color:#fff; }

section 				{ position:relative; width:100%; background-color:#eee; overflow:hidden; }
section .container		{ z-index:2; }
section .blue			{ background-color: #E6F0FA; }

.grid-container, .grid-inner	{ position: relative; overflow: hidden; }
.grid-inner						{ width: 100%; background-size: cover; background-position: center center; background-repeat: no-repeat; }

li.italic				{ font-family:'Cormorant Garamond', sans-serif; font-size:22px; font-style:italic; }
li.spaced				{ margin-bottom:10px; }

img.heart				{ position:relative; left:49%; transform:translateX(-50%); max-width:100px; height:auto; object-fit:contain; margin:30px 0px; }

blockquote				{ padding:10px 20px; margin:0 0 20px; font-style:italic; font-size:0.95rem; color:#999; border-left:5px solid #777; }

.cryptedmail:after		{ color:#fff; content: attr(data-name) "@" attr(data-domain) "." attr(data-tld); }

/* ====================== NAVBAR ====================== */

#mainNav				{ transition:all 0.5s ease; background-color:#ffffff !important; opacity:0.7; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
#mainNav.scrolled		{ background-color: var(--blue1) !important; opacity:1; box-shadow: 0 4px 15px rgba(0,0,0,0.15); }

.logo-color				 { display: block; height: 100px; }
.logo-white				 { display: none; height: 100px; }

#mainNav.scrolled .logo-color { display: none; }
#mainNav.scrolled .logo-white { display: block; }

.navbar-brand			{ padding: 0 40px; }
.navbar-nav				{ gap: 2.8rem; }
.nav-left, .nav-right 	{ display: flex; }
.nav-left  				{ justify-content: flex-start; }
.nav-right 				{ justify-content: flex-end; }

#mainNav .nav-link		{ font-family: 'Marcellus', sans-serif; font-size: 15px; font-weight: 600; color: #222 !important; white-space: nowrap; }

#mainNav.scrolled .nav-link { color: #ffffff !important; }

#mainNav .nav-link:hover,
#mainNav .nav-link.active { color: var(--gold2) !important; }

#mainNav .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: none !important;
    margin: 0 !important;
    width: 100% !important;
    padding: 0 1.5rem !important;   /* optional: nice breathing room on sides */
}

/* ==================== DESKTOP (lg and up) ==================== */
@media (min-width: 992px) {
    /* Hide toggler and mobile menu on desktop */
    #mainNav .navbar-toggler,
    #mainNav .collapse.navbar-collapse {
        display: none !important;
    }
}

/* ==================== MOBILE (< lg) ==================== */
@media (max-width: 991.98px) {
    
    /* Hide the desktop left/right menus (they're duplicated in mobile menu) */
    #mainNav .nav-left,
    #mainNav .nav-right {
        display: none !important;
    }
    
    /* Show only the toggler on mobile */
    #mainNav .navbar-toggler {
        display: block !important;
        margin-left: auto !important;   /* pushes toggler to the far right */
    }
    
    /* Make sure collapse works normally */
    #mainNav .collapse.navbar-collapse {
        display: none !important;
    }
    
    #mainNav .collapse.navbar-collapse.show {
        display: block !important;
        width: 100% !important;
    }
}


.dropdown-menu			{ background: rgba(0,33,71,0.8) !important; border: 1px solid rgba(255,255,255,0.1); backdrop-filter: blur(8px); }
.dropdown-item			{ font-family: 'Marcellus', sans-serif; font-size: 14px; font-weight: 500; color: #ffffff !important; }
.dropdown-item:hover,
.dropdown-item:focus	{ background-color: rgba(203,176,119,0.15) !important; color: #cbb077 !important; }

p.card-title			{ font-family:'Marcellus', sans-serif; font-size:16px; font-weight:600; color:#fff; }
p.accordion-text		{ font-family:'Marcellus', sans-serif; font-size:16px; color:#666;  }

.min-vh-25				{ min-height:25vh !important; }
.min-vh-50				{ min-height:50vh !important; }
.min-vh-75				{ min-height:75vh !important; }

		
/* ----------------------------------------------------------------
	Footer
-----------------------------------------------------------------*/

#footer							{ position:relative; background-color:#333; border-top:2px solid #ccc; }
#copyrights						{ padding:20px 0; background-color:#222; font-size:0.875rem; line-height:1.8; }

#footer .footer-widgets-wrap	{ position:relative; padding:30px 0; }
#copyrights i.footer-icon		{ position:relative; top: 1px; font-size: 0.875rem; width:14px; text-align:center; margin-right:3px; }

.copyright-links a				{ display: inline-block; margin:0 3px; color: #333; border-bottom: 1px dotted #444; }
.copyright-links a:hover		{ color: #555; border-bottom: 1px solid #666; }

.copyrights-menu				{ margin-bottom: 10px; }
.copyrights-menu a				{ font-size: 0.875rem; margin: 0 10px; border-bottom: 0 !important; }

#copyrights a:first-child			{ margin-left: 0; }
#copyrights.text-end a:last-child	{ margin-right: 0; }

.widget							{ position:relative; margin-top:20px; }
.widget p 						{ line-height:1.5; }
.widget > h4					{ margin-bottom: 25px; font-size: 15px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }

