@charset "UTF-8";

html, body {
  	margin: 0;
  	padding: 0;
  	overflow-x: hidden;
	color: #333333;
}

/*-- Accordian --*/
/*-- Accordions --*/
.accordion-item:first-of-type {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: calc(1rem - 1px);
  border-top-right-radius: calc(1rem - 1px);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: calc(1rem - 1px);
  border-bottom-left-radius: calc(1rem - 1px);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.accordion-body {
  padding: 1.5rem;
  font-size: 1rem;
}
.accordion-button {
  padding: 1.5rem;
	font-size: 1.125rem;	
  font-family: serifa, serif;
}

.accordion-button:not(.collapsed) {
  color: #008080;
  background-color: #fff;
  box-shadow: 0;
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23193311'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

}
.accordion-button:focus {
  z-index: 3;
  border-color: #dde3c3;
  outline: 0;
  box-shadow: 0;
}

/*-- Border Radius --*/
.form-control, .btn, .card, .modal, .nav-link  {
	border-radius: 1rem;
}

/*-- Box Shadow and Outline --*/
.dropdown,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.btn-check:focus + .btn, .btn:focus,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus
.accordion-button,
.accordion-button:focus,
.accordion-button:not(.collapsed),
.page-link,
.page-link:focus,
.btn-close:focus
{
    box-shadow: none;
	outline: none;
}

/*-- Buttons --*/
.btn {
	margin-bottom: 1rem;
	font-family: serifa, serif;
	padding: 0.75rem 1.25rem;
}

/*-- Cards --*/
.card-img-top {
  width: 100%;
  border-top-left-radius: calc(1rem - 1px); /* default Bootstrap border radius */
  border-top-right-radius: calc(1rem - 1px);
}
/*-- Carousel (Vertical on Home Page) --*/
.carousel-title {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80vw;              /* Makes the title span the full viewport width */
	max-width: 100%;           /* Prevents overflow if something wider sneaks in */
	padding: 0 1rem;           /* Optional: horizontal padding for breathing room */
	text-align: center;        /* Ensures text is centered even at full width */
	z-index: 1;
	pointer-events: none;
}
.carousel-image-container {
	margin-top: -100vh;
	padding-top: 100vh;
	z-index: 2;
}
.carousel-image {
	will-change: transform;
}

/*-- Circle Animation on Home Page --*/
.animation-container {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 50%;
}
#scrollCircle {
	display: block;
	width: 100%;
	height: 100%;
}
#circleText {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #333333;
	pointer-events: none;
	letter-spacing: 1px;
	user-select: none;
	width: 100%;
	text-align: center;
	z-index: 2;
}

/*-- Color --*/
a,
.btn-link {
  color: #ff8c00;
  text-decoration: none;
}
a:hover,
a:focus,
.btn-link:hover,
.btn-link:focus,
.nav-link:hover,
.nav-link:focus {
  color: #d87600;
}
.bg-mdae a {
  color: #ffdb63;
  text-decoration: none;
}
.bg-mdae a:hover,
.bg-mdae a:focus {
  color: #fff;
}
.btn-mdae {
	color: #fff;
	background-color: #ff8c00;
}
.btn-mdae:hover,
.btn-mdae:focus {
	color: #fff;
	background-color: #d87600;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	color: #008080; /* teal */
}
/* Not in use
.bg-accent,
.bg-accent h2,
.bg-accent .h2 {
	color: #fff !important;
	background-color: #ff8c00;
}
.bg-accent .btn-mdae {
	color: #ff8c00;
	background-color: #fff;
}
.bg-accent .btn-mdae:hover,
.bg-accent .btn-mdae:focus {
	color: #d87600;
	background-color: #fff;
} */
.bg-mdae {
	color: #fff;
	background-color: #008080;
}
.bg-mdae h1,
.bg-mdae .h1,
.bg-mdae h2,
.bg-mdae .h2,
.bg-mdae h4,
.bg-mdae .h4 {
	color: #fff !important;
}
.bg-mdae-alt {
	background-color: #fafafa;
}
.bg-mdae-2 {
	background-color: #ffdb63;
}
.bg-mdae-2 h1,
.bg-mdae-2 .h1,
.bg-mdae-2 h2,
.bg-mdae-2 .h2,
.bg-mdae-2 h4,
.bg-mdae-2 .h4 {
	color: #333333; !important;
}

.border-middle {
	border-left: 1px solid #dee2e6;
}
.form-control {
	border-color: #ff8c00;
}
.form-control:focus {
	border-color: #d87600;
	background-color: #fff6eb;
}
.form-control::placeholder {
	color: #ff8c00;
	opacity: 1;
}
.form-control:focus::placeholder {
	color: #d87600;
}
.modal-backdrop {
  background-color: rgba(0, 128, 128, 1); /* Teal with 70% opacity */
}
.nav-link {
	color: #fff;
	background-color: #ff8c00;
}
.nav-link:hover,
.nav-link:focus {
	color: #fff;
	background-color: #d87600;
}
.text-dark {
	color: #333333;
}
	
/*-- Columms --*/
@media (min-width: 992px) {
	.text-columns-2 {
		column-count: 2;
		column-gap: 3rem;
		margin-bottom: 1rem;
	}
}

/*-- Forms --*/
.form-control {
	padding: 0.75rem 1.25rem;
}

/*-- Font family --*/
body {
	font-family: proxima-nova, sans-serif;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: serifa, serif;
	font-weight: 400;
	font-style: normal; 
  	line-height: 1.2;
}
.nav-link,
.nav-link-alt,
.dropdown-item, 
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.display-6 {
    margin-bottom: 1rem;
}

/*-- Font Utilities --*/
.display-4 {
  font-weight: 400;
}
.fs-7 {
	font-size: 1.125rem;
}
.text-serif {
	font-family: serifa, serif;
	font-weight: 400;
}

/*-- Hero --*/
.hero-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}
.hero-overlay {
	position: relative;
	z-index: 2;
}

/*-- Images --*/
img {
	margin-bottom: 1rem;
}

/*-- Margin and Padding Utility Classes --*/
.p-mdae {
	padding-top: 2rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-bottom: 1rem;
}
.py-mdae {
	padding-top: 2rem;
	padding-bottom: 1rem;
}
.pb-mdae {
	padding-bottom: 1rem;
}
.g-mdae, .gy-mdae {
	--bs-gutter-y: 1rem;
}
@media (min-width: 992px) {
.p-mdae {
	padding-top: 3rem;
	padding-left: 3rem;
	padding-right: 3rem;
	padding-bottom: 2rem;
}	
	.py-mdae {
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
	.pb-mdae {
		padding-bottom: 2rem;
}
	.g-mdae, .gy-mdae {
		--bs-gutter-y: 2rem;
	}
	.g-mdae, .gx-mdae {
		--bs-gutter-x: 3rem;
	}
	.py-lg-mdae {
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
	.pt-lg-mdae {
	padding-top: 3rem;
}
}

/*-- Logos --*/
.logo-opacity {
	opacity: 0.8;
}

.logo-size {
	width:150px;
}
/*-- Modals --*/
.modal-header {
  	padding: 2rem;
  	border-bottom: none;
}
.modal-body {
	padding-top: 0;
	padding-bottom: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;	
}
@media (min-width: 992px) {
	.modal-header {
  		padding: 3rem;
	}	
	.modal-body {
		padding-top: 0;
		padding-bottom: 2rem;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}
.modal-backdrop.show {
  opacity: 1 !important; /* Ensure it's fully visible */
}

/*-- Navigation --*/
.nav-link {
	margin-bottom: 1rem;
	font-family: serifa, serif;
	padding: 0.75rem 1.25rem;
}

.nav-link {
	font-size: 1.25rem
}

/*-- Offcanvas --*/
@media (min-width: 768px) {
  .offcanvas-md-100 {
    --bs-offcanvas-width: 100vw;
  }
}

/*-- Packery --*/
.grid {
  position: relative;
}

.grid-item {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
}

@media (min-width: 576px) {
  .grid-item { width: 50%; }
}
@media (min-width: 768px) {
  .grid-item { width: 33.3333%; }
}
@media (min-width: 1200px) {
  .grid-item { width: 25%; }
}
/*-- Scroll Effects --*/
.scroll-fx {
	opacity: 0;
	transition: opacity 0.15s ease-in-out;
}
.scroll-fx.visible {
	opacity: 1;
}