/* ----------------------------------------------------------------
	COLOURS & TYPOGRAPHY
-----------------------------------------------------------------*/

.darkgrey				{ color:#323a43; }			/* rgba(50,58,67,1) */
.bluegrey				{ color:#304656; }			/* rgba(48,70,86,1) */
.maingold				{ color:#cbb077; }			/* rgba(203,176,119,1) */
.mediumgrey				{ color:#888; }				/* rgba(136,136,136,1) */
.lightgrey				{ color:#bbb; }
.almostwhite			{ color:#e0e0e0; }
.purewhite				{ color:#fff; }

.bg-darkgrey			{ background-color:#323a43; }
.bg-bluegrey			{ background-color:#304656; }
.bg-maingold			{ background-color:#cbb077; }
.bg-lightgrey			{ background-color:#bbb; }

h1, h2, h5, h6			{ font-family:'Montserrat', sans-serif; }
h3, h4					{ font-family:'Noto Sans', sans-serif; }

h1						{ font-size:46px; font-weight:700; } 		/* Main Heading */
h2						{ font-size:42px; font-weight:700; }		/* Section Heading */
h3						{ font-size:32px; font-weight:600; }		/* Sub Heading */
h4						{ font-size:26px; font-weight:500; }		/* Sub Text */
h5						{ font-size:18px; font-weight:600; }		/* Small Dense Header */
h6						{ font-size:14px; font-weight:300; }		/* Very Small Light Header */

body					{ font-family:'Noto Sans', sans-serif; font-size:16px; line-height:1.2; color:#555; }

p						{ margin-bottom:16px; }
p.card-title			{ font-family:'Montserrat', sans-serif; font-size:16px; font-weight:600; color:#fff; }
p.accordion-text		{ font-family:'Montserrat', sans-serif; font-size:16px; color:#666;  }

.smaller				{ font-size:0.73em; } 						/* Bootstrap .small = 0.875em */

a						{ text-decoration:none !important; }
a:hover					{ font-weight:600; }
a.footer				{ color:#fff; }

li.italic				{ font-family:'Cormorant Garamond', sans-serif; font-size:22px; font-style:italic; }
li.spaced				{ margin-bottom:10px; }

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); }

.btn-primary			{ --bs-btn-bg:#cbb077; --bs-btn-color:#333; --bs-btn-border-color:#cbb077; --bs-btn-hover-bg: #998555; --bs-btn-hover-border-color: #998555; --bs-btn-active-bg: #a88f56; 
							--bs-btn-active-border-color: #a88f56; --bs-btn-disabled-bg: #d8c7a0; --bs-btn-disabled-border-color: #d8c7a0; --bs-btn-disabled-color: #5c4a2a; }

/* ----------------------------------------------------------------
	NAVBAR & SECTIONS
-----------------------------------------------------------------*/

.content-wrap			{ position:relative; padding:80px 0; overflow:hidden; }
#content				{ position:relative; }
#content .container		{ position: relative; }
#wrapper				{ position:relative; float:none; width:100%; margin: 0 auto; background-color:#FFF; }

#mainNav 				{ background:rgba(50,58,67,0.1) !important; backdrop-filter:blur(6px); transition:all 0.8s ease; font-family:'Montserrat', sans-serif; font-size:14px; font-weight:600; color:#aaa; }
#mainNav.scrolled 		{ background:rgba(50,58,67,1) !important; box-shadow:0 4px 20px rgba(0,0,0,0.1); }

.dropdown-menu			{ background-color:rgba(48,70,86,1) !important; color:#aaa; }
.dropdown-menu a		{ font-size:14px; font-weight:400; color:#aaa !important; }
.dropdown-menu a:hover	{ color:#cbb077 !important; }
.navbar-collapse.show,
.navbar-collapse.collapsing 	{ background-color:rgba(48,70,86,1) !important; }

.nav-link					{ padding-top:1.25rem !important; padding-left:1.25rem !important; padding-right:1.25rem !important; }
.nav-link.active, .nav-link:hover, .nav-link:focus			{ color:#cbb077 !important; font-weight:700; background-color:transparent !important; }		

.navbar-brand img 			{ height: 80px; transition: height 0.3s; }
@media (max-width: 991px) 	{ .navbar-brand img { height: 70px; } }
@media (max-width: 576px) 	{ .navbar-brand img { height: 60px; } }

section 					{ position:relative; width:100%; overflow:hidden; }
#footer.a					{ font-size:14px; font-weight:400; color:#aaa !important; }

.full-width-black 				{ background-color:#222; margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%); }
.grid-container, .grid-inner	{ position: relative; overflow: hidden; }
.grid-inner						{ width: 100%; background-size: cover; background-position: center center; background-repeat: no-repeat; }

.min-vh-25				{ min-height:25vh !important; }
.min-vh-50				{ min-height:50vh !important; }
.min-vh-75				{ min-height:75vh !important; }

/* FORMS ---------------------------------------------------- */

#contactForm					{ color:#efefef; font-size:0.95rem; }
#contactForm label				{ color:#efefef; font-weight:500; font-size:0.95rem; }
#contactForm .form-control,
#contactForm .form-select 		{ background-color:rgba(50,58,67,0.6); border:1px solid #485b6e; color:#efefef; font-size:0.95rem; padding:0.65rem 1rem; }
#contactForm .form-control:focus,
#contactForm .form-select:focus { background-color:rgba(50,58,67,0.8); border-color:#cbb077; box-shadow: 0 0 0 0.25rem rgba(203, 176, 119, 0.25); color: #efefef; }
#contactForm .form-control::placeholder 	{ color:rgba(239,239,239,0.6); opacity:1; }
#contactForm .form-check-input	{ background-color:#323a43; border:1px solid #485b6e; }
#contactForm .form-check-input:checked 		{ background-color:#cbb077; border-color:#cbb077; }
#contactForm .form-check-label	{ color:#efefef; font-size:0.95rem; }
#contactForm .card				{ background-color:rgba(50,58,67,0.7); border:1px solid #485b6e; color: #efefef; }
#contactForm .card-header		{ background-color:#cbb077; color:#1a1a1a; font-weight:600; font-size:1rem; }
#contactForm ~ .alert			{ font-size:0.95rem; }
#contactForm .btn-primary		{ font-size:1rem; padding:0.75rem 2.5rem; }
#contactForm .text-danger		{ color:#ff6b6b !important; }



/* Common base styles for all action icons */
.action-link		{ display: inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0 4px; border-radius:4px;
						text-decoration:none; color:#333; transition:all 0.18s ease; }
.action-link:hover	{ transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.12); color:#333; }

.action-view		{ color:#333; background-color:#bdd2f5; } /* grey on light blue */
.action-view:hover	{ color:#fff; background-color:#4f77aa; } /* white on darker blue */

.action-edit		{ color:#333; background-color:#cbb077; } /* grey on light gold */
.action-edit:hover	{ color:#fff; background-color:#998555; } /* white on darker gold */

.action-delete		{ color:#333; background-color:#f5bdbd; } /* grey on light red */
.action-delete:hover	{ color:#fff; background-color:#990000; } /* white on darker red */
