/* Reset default styles */
* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    font-family: 'poppins-semibold', 'sans-serif';
    line-height: 1.45em;
    background-image: url("../images/parallax.jpg");
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

h1 {
    text-align: center;
    font-family: 'poppins-bold', 'sans-serif';
}

h2 {
    text-align: center;
    font-family: 'poppins-bold', 'sans-serif';
}

h3 {
    text-align: center;
    font-family: 'poppins-bold', 'sans-serif';
}

h4 {
    text-align: center;
    font-family: 'poppins-bold', 'sans-serif';
}

h5 {
    text-align: center;
    font-family: 'poppins-bold', 'sans-serif';
}
 

p {
    font-family: 'poppins-semibold', 'sans-serif';
    font-size: 18px;
    line-height: 1.45em;
    color: #255857;
}

/* Style for the horizontal line */ 
hr {  
    height: 4px; 
    background-color: #000000;
    border-color: #000000;
    border-top: solid;  
}  

.opening-paragraph {
    color: #255857;;
    font-size: 18px;
    text-indent: 20px;
    text-align: left;
    line-height: 1.45em;
}

.second-paragraph {
    color: #f8f8f8;
    font-size: 18px;
    font-family: 'poppins-semibold', 'sans-serif';
    text-indent: 20px;
    font-weight:500;
    text-align: center;
    line-height: 1.45em;
}


/* Navigation styling */
nav {
    background-color: #ffffff;
    padding: 10px;
    text-align: center;
    font-family: 'poppins-semibold', sans-serif; /* Falls back to sans-serif if font fails to load */
    letter-spacing: 2px;
    text-shadow: .4px .4px 0 #000000; /* Top-left shadow */
    font-size: 14px;
    width: 100%;
    border-top: 5px solid #255857; /* border on the top */
    border-bottom: 5px solid #255857; /* border on the bottom */
    top: 0px;
    position: sticky;
    margin-bottom: 6px;
}

nav, 
ul {
    list-style-type: none;
    display: flex;
    justify-content: center;
    gap: 20px;
}

nav, ul, 
li {
    color: #255857;
    text-decoration: none;
    font-weight: bold;
}


/* links */
a:link {
    font-size: 14px;
   color: #255857;
   text-decoration: none;
   font-family: 'poppins-semibold', 'sans-serif'; 
}

a:visited {
   color: #255857;
   text-decoration: none;
}

a:hover {
   color: #e47e6a;
   font-weight: bold;
   text-decoration: underline;
}


/* black banner styling */
.banner {
    height: 250px;
    width: 100%;
    background-color: #000000;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.3em;
    text-align: center;
    letter-spacing: 0.2em;
    float: center;
}


/* Banner image styling */
.banner-image {
    width: 100%;
    height: auto;
    display: block;
    justify-content: center;
    float: center;
}


/* logo image styling */
.logo-image {
    width: 100%;
    height: auto;
    display: block;
    float: center;
}



/* Set a fixed height for the carousel */
#carouselExampleIndicators {
    height: 600px;
}

/* Ensure carousel-inner takes up the full height */
.carousel-inner {
    height: 100%;
}

/* Ensure the images fill the carousel and maintain their aspect ratio */
.carousel-inner img {
    height: 600px; /* Fill the height of the carousel */
    width: auto; /* Ensure the width covers the full container */
    object-fit: cover; /* Maintain aspect ratio while covering the full space */
}

.carousel-item img {
    object-fit: cover; /* Makes the image fill the container */
    width: 100%; /* Ensures the image takes full width */
    height: 100%; /* Ensures the image fills the full height */
}



/*Grid styling for blocks */
.grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal-width columns */
    flex-direction: column;
    max-width: 100%; /* Limits the width for readability */
    gap: 20px; /* Spacing between columns */
    padding: 5px 10px 5px 10px; /* Padding on top, bottom, and sides */
    margin: 10px;
}

.grid-container-about {
    display: block;
    grid-template-columns: 1fr 1fr; /* Two equal-width columns */
    flex-direction: column;
    gap: 20px; /* Spacing between columns */
    padding: 5px 10px 5px 10px; /* Padding on top, bottom, and sides */
    margin: 10px;
    height: 75%;
    overflow: auto;
}


.grid-container-brand {
    display: block;
    grid-template-columns: 1fr 1fr; /* Two equal-width column */
    flex-direction: column;
    gap: 20px; /* Spacing between columns */
    padding: 5px 10px 5px 10px; /* Padding on top, bottom, and sides */
    margin: 10px;
    height: 100%;
}


.grid-container-body {
    display: block;
    grid-template-columns: 1fr; /* Three equal-width columns */
    flex-direction: column;
    gap: 25px; /* Spacing between columns */
    padding: 5px 10px 5px 10px; /* Padding on top, bottom, and sides */
    margin: 10px;
}


/* block styling */
.column-left,
.column-center,
.column-right {

    background-color: #ffffff; /* Right column background color */
    padding: 25px;
    text-align: center;
}


.left-section,
.center-section,
.right-section {

    background-color: #ffffff;
    text-align: center; /* Centers the text */

}



/* about block styling */
.column-right-about {
    align-items: center;
    background-color: #f8f8f8; /* Right column background color */
    padding: 25px;
    text-align: center;
    display: fixed;
    height: 100%;
    overflow: auto; /* Allow scrolling if content overflows */
}

.column-left-about {
    align-items: center;
    background-color: #9bdeea; /* Left column background color */
    padding: 25px;
    text-align: center;
    display: fixed;
    max-width: 100%;
    overflow: auto; /* Allow scrolling if content overflows */
}

.right-section-about {
    text-align: center;
    background-color: #f8f8f8;
    display: fixed;
    height: 100%;
    max-width: 800px; /* Limits the width for readability */
}

.left-section-about {
    text-align: center;
    background-color: #9bdeea;
    display: fixed;
    max-width: 800px; /* Limits the width for readability */
}

.contact-section-about {
    text-align: center;
    align-items: center;
    background-color: #9bdeea;
    display: fixed;
    max-width: 800px; /* Limits the width for readability */
}



/* brand block styling */
.column-right-brand {
    background-color: #f8f8f8; /* Right column background color */
    padding: 25px;
    text-align: left;
    overflow: auto; /* Allow scrolling if content overflows */
}

.column-left-brand {
    background-color: #000000; /* Left column background color */
    padding: 25px;
    text-align: left;
    overflow: auto; /* Allow scrolling if content overflows */
}

.right-section-brand {
    background-color: #f8f8f8;
    max-width: 800px; /* Limits the width for readability */
}

.left-section-brand {
    background-color: #000000;
    max-width: 800px; /* Limits the width for readability */
}



/* Style the button that is used to open and close the collapsible content */
.collapsible {
    background-color: #255857;
    color: #feebe1;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: none;
    text-align: center;
    outline: none;
    font-size: 20px;
    font-family: 'poppins-semibold', 'sans-serif';
  }
  
  /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
  .active, .collapsible:hover {
    background-color: #e47e6a;
    font-size: 22px;
  }
  
  /* Style the collapsible content. Note: hidden by default */
  .content {
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    background-color: #feebe1;
  }

  .collapsible:after {
    content: '\02795'; /* Unicode character for "plus" sign (+) */
    font-size: 13px;
    color: white;
    float: right;
    margin-left: 5px;
  }


  .contact-map-a {
    background-color: #9bdeea;
}  


.centered-image {
    max-width: 100%; /* Keeps image within column width */
    height: auto; /* Maintains aspect ratio */
    display: block; /* Removes inline spacing */
    margin: 0 auto; /* Centers image horizontally */
}


 /* contact image */
.about-image {
    text-align: center;
    max-width: 500px; /* Keeps image within column width */
    height: auto; /* Maintains aspect ratio */
    display: grid; /* Removes inline spacing */
    margin: 0 auto; /* Centers image horizontally */
}


/* Styling for author */
#quote-author {
    font-size: 18px;
    color: #255857;;
    margin-top: 5px;
    text-align: center;
    font-family: 'poppins-semibold', 'sans-serif';
}

#quote-author-about {
    font-size: 18px;
    color: #f8f8f8;
    margin-top: 5px;
    text-align: center;
    font-family: 'poppins-semibold', 'sans-serif';
}

/* Styling for email and phone */
#email-phone {
    font-size: 18px;
    color: #f8f8f8;
    margin-top: 5px;
    text-align: center;
    font-family: 'poppins-regular', 'sans-serif';
    height: 100%;
    text-align: center;
}

/* styling for branding company identity */
#company-identity {
    font-size: 32px;
    color: #9bdeea;
    margin-top: 5px;
    text-align: center;
    font-family: 'poppins-semibold', 'sans-serif';
    height: 100%;
}


/* Full-width video styling */
.full-width-video {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}


/* portfolio video styling */
.gallery-video {
    width: 500px;
    height: 286px;
    object-fit: cover;
    display: block;
    margin: auto;     
}


/* Footer styling */
footer {
    font-family: 'poppins-bold', 'sans-serif';
    font-size: 18px;
    background-color: #ffffff;
    color: #255857;
    text-align: center;
    width: 100%;
    padding: 20px;
}