/* ==========================================================================
   1. Reset & Global Styles
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Lora', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    background-color: #333333;
	color: black;
	min-height: 600px;
}

.lora-<uniquifier> {
	font-family: "Lora", serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
		}
.arimo-<uniquifier> {
  font-family: "Arimo", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.container {
    width: 90%;
    max-width: 2000px;
    margin: 0 auto;
}

#home-video {
position: relative;
	top:-140px;
  width: 100%;
  height: 600px; /* Adjust height as needed */
  overflow: hidden; /* Prevents video from spilling out */
}

#home-video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* Keeps aspect ratio without distortion */
	z-index: -1; /* Pushes the video behind the content */
}

/* ==========================================================================
   2. Header & Navigation Layout
   ========================================================================== */
header {
    position: sticky;
    top: 0;
    z-index: 1000;
    
    /* Pushes brand group to left, navbar to right */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 30px;
    background-color: transparent;
    color: #ffffff;
	transition: background-color 0.7s ease, padding 0.7s ease; /* Smooth fade effect */
}

header.is-scrolled {
  background-color: rgb(54 54 54 / 97%); /* Turns opaque black */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Optional: adds depth */
  /* padding: 10px 0; Optional: shrinks the header slightly */
}
	
.left-header-logo {
	display: flex;
    align-items: center; /* Centers logo vertically against the text block */
    gap: 0;           /* Spaces out the logo image from the text */
}

.left-header-logo img {
	height: 120px;
	width: auto;
}

.left-header-text {
	display: none;
    flex-direction: column; 
    justify-content: left;
}

.text-line-1 {
    font-size: 33px;
    font-weight: bold;
    line-weight: 1;
	margin: 0;
}

.text-line-2 {
    font-size: 18.5px;
    margin: 0;
}

/* Navbar Link Layout */
.navbar ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

.navbar li {
    margin-left: 20px;
}

.navbar a {
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s;
}

.navbar a:hover {
    color: #C8C5C5; /* Accent color on hover */
}

.hamburger-btn {
	display: none;
	background: white;
 	border: none;
  	cursor: pointer;
  	width: 30px;
  	height: 24px;
  	position: relative;

}	
	

/* ==========================================================================
   3. Main Components & Content Sections
   ========================================================================== */
main {
	
}

main h1 {
	font-size: 57px;
	text-align: center;
	color: aliceblue;
	margin: 280px auto 0 auto;
	align-items: center;
	position: relative;
}

.home-block-1 {
	background-color: #F5F4F4;
	padding: 1% 2% 1% 1%;
	position: relative;
	margin: -140px 0 0 0;
}

.home-block-1 h2 {
	margin: 10px 20% 12px 20%;
	font-size: 24px;
	text-transform: uppercase;
	color: #F29347;
	font-family: Arimo;
	font-weight: 300;
	letter-spacing: .3em;
	line-height: 1.1;
}

.home-block-1 p {
	margin: 0 20% 12px 20%;
	line-height: 1.2;
	font-family: Arimo;
	font-weight: 100;
	text-align: justify;
	text-justify: inter-word;
}
	
.home-block-2 {
	background-color: #555555;
	font-family: Arimo;
	width: 100%;
	padding: 2% 20% 1% 20%;
	clear: both;
	min-height: 510px;
}

.home-block-2 h2 {
	font-size: 36px;
	text-transform: uppercase;
	color: #F29347;
	font-family: Lora;
	font-weight: 300;
	letter-spacing: 10px;
	line-height: 1.1;
	writing-mode: vertical-rl;
	white-space: nowrap;
	float: left;
	margin: 0 12px 7px 0;

}

.home-block-2 p {
	line-height: 1.2;
	font-family: Arimo;
	font-weight: 100;
	padding: 0;
	margin: 0 16px 12px 0;
	text-align: justify;
	text-justify: inter-word;
	color: #f4f4f4;
	width: auto;
}

.line-break {
	margin: 0 0 12px 0;
	display: block;
	content: "";
}

	.chris-pic-1 {
		width: 320px;
		float: left;
		padding: 0 12px 0 4px;
		margin: 0 0 3px 0;
	}
	
	.youtube-player-1 {
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
		align-content: center;
		background-color: #E9E9E9;
	}	
	
	.youtube-player-1-css {
		width: 560px;
		margin: 0 auto;
		padding: 7px 0 0 0;
	}

.youtube-player {
	width: 90%;               /* Makes it exactly the width of the viewport */
 	height: auto;               /* Allows the height to calculate automatically */
 	aspect-ratio: 16 / 9;       /* Forces the video to maintain standard widescreen shape */
 	border: none;               /* Removes the default iframe border */
}

.packages-header {
	width: 100%;
	position: relative;
	top: -145px;
	margin: 0;
	padding: 0;
}

.packages-header img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.packages-block-1 {
	background-color: #F5F4F4;
	padding: 1% 2% 1% 1%;
	position: relative;
	margin: -155px 0 0 0;
}

.packages-block-1 h2 {
	margin: 10px 20% 12px 20%;
	font-size: 24px;
	text-transform: uppercase;
	color: #F29347;
	font-family: Arimo;
	font-weight: 300;
	letter-spacing: .3em;
	line-height: 1.1;
}

.packages-block-1 p {
	margin: 0 20% 12px 20%;
	line-height: 1.2;
	font-family: Arimo;
	font-weight: 100;
	text-align: justify;
	text-justify: inter-word;
}

.packages-block-2 {
	background-color: #555555;
	padding: 1% 20% 1% 20%;
	margin: 0;color: #f4f4f4f4;
}

.packages-block-2 h3{
	margin: 0;
	color: #F29347;
}

.packages-block-2 p {
	margin: 0;
}

.packages-block-2 ul {
	list-style: none;
	margin: 0;
}

.packages-block-2 li {
	list-style: disc;
	text-indent: 0.1rem;
	margin: 0 0 0.1rem 2.2rem;
	padding: 0;
}

.sub-point-1 {
	margin-left: 4rem !important;
	font-style: italic;
	font-size: 0.7rem;
	
}

.orange-list-item {
	font-weight: bold;
	color: #F29347;
}

.italic {
	font-style: italic;
}

.contact-header {
	width: 100%;
	position: relative;
	top: -145px;
	margin: 0;
	padding: 0;
}

.contact-header img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.contact-block-1 {
	background-color: #F5F4F4;
	padding: 1% 2% 1% 1%;
	position: relative;
	margin: -155px 0 0 0;
}

.contact-block-1 h2 {
	margin: 10px 20% 12px 20%;
	font-size: 24px;
	text-transform: uppercase;
	color: #F29347;
	font-family: Arimo;
	font-weight: 300;
	letter-spacing: .3em;
	line-height: 1.1;
}

.contact-block-1 p {
	margin: 0 20% 12px 20%;
	line-height: 1.2;
	font-family: Arimo;
	font-weight: 100;
	text-align: justify;
	text-justify: inter-word;
}

.contact-block-2 {
	background-color: #555555;
	padding: 1% 20% 1% 20%;
	margin: 0;color: #f4f4f4f4;
}

.contact-block-2 h3{
	margin: 0;
	color: #F29347;
}

.contact-block-2 p {
	margin: 0;
}

.contact-block-2 form ::placeholder {
  color: #aaa;
}

.name {
	height: 1.6rem;
	width: 16rem;
	margin: 1rem 1rem 0rem 0;
	padding: 1%;
	box-sizing: border-box;
}

.contact-block-2 input, textarea {
	font-family: Arimo;
	font-size: 16px;
	field-sizing: content;

	/* Beveled Edge Aesthetics */
  border-top: 1px solid #b3b3b3;
  border-left: 1px solid #cbcbcb;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 5px; /* Slight curve */
  background-color: #ffffff;
  box-shadow: inset 1px 2px 4px rgba(0, 0, 0, 0.08); 
  transition: all 0.2s ease-in-out;
}
	
.contact-block-2 input:focus, textarea:focus {
  outline: none;
  border-color: #F29347;
  /* Swaps the bevel inner shadow for a clean focus glow */
  box-shadow: 0 0 0 3px rgba(0, 118, 223, 0.15), inset 1px 1px 2px rgba(0, 0, 0, 0.05);
}

.email {
	height: 1.6rem;
	width: 16rem;
	margin: 1rem 1rem 0rem 0;
	padding: 1%;
	box-sizing: border-box;
}

.textarea {
	height: 10rem;
	width: 33rem;
	margin: 1rem 1rem 1rem 0;
	padding: 1%;
	box-sizing: border-box;
}

.submit {
	height: 2rem;
	width: 6rem;
	margin: 1rem 1rem 1rem 0;
	padding: 0 0;
	box-sizing: border-box;
	align-content: center;
	font-family: Arimo;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	/* Beveled Edge Aesthetics */
  border-top: 1px solid #b3b3b3;
  border-left: 1px solid #cbcbcb;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 5px; /* Slight curve */
  background-color: #ffffff;
  box-shadow: inset 1px 2px 4px rgba(0, 0, 0, 0.08); 
  transition: all 0.2s ease-in-out;

}

.partners-header {
	width: 100%;
	position: relative;
	top: -145px;
	margin: 0;
	padding: 0;
}

.partners-header img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.partners-block-1 {
	background-color: #F5F4F4;
	padding: 1% 2% 1% 1%;
	position: relative;
	margin: -155px 0 0 0;
}

.partners-block-1 h2 {
	margin: 10px 20% 12px 20%;
	font-size: 24px;
	text-transform: uppercase;
	color: #F29347;
	font-family: Arimo;
	font-weight: 300;
	letter-spacing: .3em;
	line-height: 1.1;
}

.partners-block-1 p {
	margin: 0 20% 12px 20%;
	line-height: 1.2;
	font-family: Arimo;
	font-weight: 100;
	text-align: justify;
	text-justify: inter-word;
}

.partners-block-2 {
	background-color: #555555;
	padding: 1% 20% 1% 20%;
	margin: 0;color: #f4f4f4f4;
	display: flex;
}

.partners-block-2 h3{
	margin: 0;
	color: #F29347;
}

.partners-block-2 p {
	margin: 0;
}

.partner-img {
	width: 250px;
	align-content: center;
	align-items: center;
	margin: 0 auto;
	display: block;
}

.partner-col-1 {
	margin: 0;
	padding: 1%;
	flex: 1;
}

.partner-logo-text {
	text-align: center;
	display: block;
	clear: both;
	margin: 1% auto;
	padding: 0;
}

.partner-logo-text a {
	text-decoration: none;
	color: #F29347;
}

.partner-logo-text p {
	text-align: justify;
	text-justify: inter-word;
	margin: 0 0 7px 0;
	padding: 0 7px 0 0;
}

/* ==========================================================================
   4. Footer Layout
   ========================================================================== */
footer {
    background-color: #202124;
    color: #f8f9fa;
    text-align: center;
    padding: 2rem 0;
	margin: 0;
	z-index: 1;
	display: flex;
}

.footer-col-1 {
	flex: 1;
}

.footer-col-2 {
	flex: 1;
	align-content: center;
}

.footer-col-3 {
	flex: 1;
	align-content: center;
	justify-content: center;
}

.facebook-logo {
	height: 30px;
	border: none;
	padding: 0 4%;
	align-content: center;
}

.youtube-icon {
	height: 44px;
	border: none;
	padding: 0 4%;
	align-content: center;
}

.socials {
	display: flex;
	align-items: center; /* Vertically centers the children */
	justify-content: center;
	column-gap: 20px;
}

#backToTop {
  z-index: 3; /* Stay on top of other elements */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #333; /* Set a background color */
  color: white; /* Text/arrow color */
  cursor: pointer; /* Change mouse pointer on hover */
  padding: 15px; /* Some padding */
  border-radius: 5%; /* Make it circular */
  font-size: 16px; /* Increase font size */
  transition: background-color 0.7 ease;
  font-family: Lora;
	align-content: center;
	justify-content: center;
	text-align: center;

}

#backToTop:hover {
	background-color: #555; /* Darker background on hover */
	transition: background-color 0.7 ease;
}
