/* Maintain imported fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@300&family=Oswald:wght@200&display=swap');

/* Global reset and default styling */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Noto serif', serif;
    font-weight: 350;
    color: #5A0D5A;
    scroll-behavior: smooth;
    
}


/* header is fixed  */
#header { 
    clear: both;
    position:relative;
    top: 0;
    height: 6em;
    width: 100%;
    background-color: #C0C2AE;
}

/* Container for all sections*/
.container {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color:#A8DD67;
    overflow: hidden;
}


/* headings and logo */
h1,
h2 {
    font-family: Oswald, sans-serif;
    text-transform: capitalize;
    letter-spacing: 2px;
    font-weight: bolder;

}

hr {
    width:auto;
    margin: 0 auto;
    border-top: 5px solid;
}

p span {
    display: block;

}

#logo {
    float: left;
    font-size: 190%;
    margin-left: 0.2rem;
    margin-bottom: 2%;
}

/* navigation links */

#navbar > * {
    list-style-type: none;

}

#navbar a {
    float: right;
    margin-right: 1.3em;
    margin: 0 0.5rem; /* Adjust spacing between nav items */
    text-decoration: none;  
}


#menu a:hover {
    border-bottom: 3px solid #5A0D5A;
}

.active {
    border-bottom: 3px solid #5A0D5A;
}

/* main image */

#main-image {
    width: 75%;
    margin-top: 0;
    overflow: hidden;
    margin-left: 12%;


     /* animations zoom effects on loading */
     animation-name: main-img-zoom;
     animation-duration: 3s;
     animation-fill-mode:backwards;
}

/* for all images*/
.image {
    width: 100%;
    margin: 0 auto;
    height: auto;
    border-radius: 3%;
    display: block;
    object-fit: cover; /* Adjust to maintain aspect ratio */
}

/* Styling for rounded-circle class */
.rounded-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover; /* Crop the image to fill the circle */
}

 /* create zoom lever for main image */
@keyframes main-img-zoom {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.1);
    }
}
.row {
    text-align: center;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    object-fit: contain;
    position: relative;  
}

.rounded-circle {
    border-radius:50px;
    box-sizing: border-box;
    object-fit:contain;
    position: relative;  
}

/* Flex item styling for columns */
.col {
    font-size: large;
    font-weight: bold;
    text-align: left;
    width: 100%;
    padding: 1.2rem 1.2rem;
    box-sizing: border-box;
    object-fit: contain;
    position: relative;
    flex: 1; 

    box-sizing: border-box;
}


#cover-text {
    letter-spacing: 0.2rem;
    font-size: 100%;
    padding:0.2%;
    top: 20%;
    height: 10%;
    width: 15%;
    margin-left: 58%;
    text-align: center;
    position: absolute;
    text-transform: uppercase;
    background-color: #A8DD67;
}

/* homepage reasons, about designs and testimonials-zone */ 

#quetions-head-main, #testimonial-head-main {
    font-size: 100%;
}
.reasons, #offers-head, #quetions-head,#offers-main, #contact-main, .testimonials-zone, #testimonial-head, #about-community-main {
    display:flex;
    flex-wrap: wrap;
}

.reasons > * {
    border-radius: 40px;
    min-height: 2px;
    padding: 1.1rem;
    margin: 1%;
    margin-top: 1%;
    background-color:whitesmoke;
    flex:1 1 18em;
}

#about-story, #community-content {
    background-color:whitesmoke;
    height: 100%;
} 

#about-story, #community-content, #offers-head, #quetions-head, #testimonial-head {
    margin: 0 auto;
    width: 98%;
    border-radius: 20px;
    padding: 1rem;
    margin: 1%;
    margin-top: 1%;
}

.testimonials-zone > * {
    border-radius: 5px;
    min-height: 1px;
    padding: 1rem 1rem;
    margin: 2%;
    text-align: center;
    margin-top: 1%;
    background-color:whitesmoke;
    flex:11 18em;
}



/* offers, quetion and testimonial headings */
#offers-head, #quetions-head, #testimonial-head {
    font-size: 30px;
    justify-content: center;
    padding: 0rem;
    margin-top: 0.2%;  
}

/* offers heads */
.fit-heads {
    position:relative;
    text-align: center;
    width: 30%;
    margin: 0 auto;
}

/* offers section designs*/

/* Flex container for the sections */
#offers-main {
    position:relative;
    min-height: 2px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* Ensures even spacing between items */
    gap: 1px; /* Uniform gap between items */
}
    
#offers-main > * {
    position:relative;
    height: 100%;
    margin: 2%;
    margin-top: 1.3%;
    padding: 1rem;
    flex:11 22em; 
}

#about-community-main > * {
    position:relative;
    height: 100%;
    margin: 2%;
    margin-top: 1.3%;
    padding: 1rem;
    flex:11 22em;
    box-sizing: border-box; /* Includes padding and border within total width/height */
}

#offers-content, #contact-form, #table-plan {
    height: 100%;
    border-radius: 9px;
    background-color:whitesmoke;
    box-shadow: 0px 0px 12px 18px rgba(118, 119, 90, 0.607);
    flex: 11 25em;
}

/* Contact and table section*/

#contact-main {
    position:relative;
    min-height: 2px;
    width: 100%;
}

/* contact form */

#contact-form , #table-plan {
    position: relative;
    font-weight: bolder;
    border-radius: 20px;
    height: 100%;
    width: 30%;
    padding: 1.5rem 1rem;
    margin: 2%;

}

#table-plan  {
    float: left;
    text-align: center;
    width: 30%;
    flex:11 18em;
}

#contact-form  {
    float: right;
    text-align: left;
    width: 28%;
    flex:11 17em;  
}

/* Removes the default border of the fieldset*/
fieldset {
    border: none;
    margin-bottom: 12px; 
    padding: 0;
}

legend {
    padding: 2px; /* Optional: adjust these values for styling */
    margin-bottom: 8px; /* Adds space between the legend and the inputs */
    font-weight: bolder; /* Makes the legend stand out */
}


#contact-main  > *, #table-plan  > *  {
    flex:11 20em;

}

.input-text, #message-box {
    position:relative;
    font-size:large;
    text-align: left;
    width: 100%;
    height: 8%;
    border-radius: 3px;
    color: black;
    background-color:#A8DD67;
}

#message-box {
    height: 180px;
    width: 100%; 
}

.button {
    background-color:#851285;
    border:none;
    width: 28%;
    height: 5%;
    text-align: center;
    font-size: 1rem;
    padding: 0.2rem;
    border-radius: 50px;
    color:white;
    position: relative;
}

.button:hover {
    background-color:#5A0D5A;
}

/* workout-plan */



th, td {
 padding: 0.15rem;
 width: 0.0125%;
 font-size: 100%;

}

th {
    padding: 0.075rem;
    font-weight: bold;
    background-color:#A8DD67;
   }

#location {
    position: relative;
    border-radius: 10px;
    height: 50%;
    width: 100%;
    padding: 1rem 0.120rem;
    background-color: #C0C2AE;
}

/* thanks page */
#thanks-page {
    text-align: center;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    font-size: 250%;
    padding: 1.7% 0.5%;
    background-color:white; 
}

#smiley {
    margin: 0 auto;
    font-size: 400%;
    
}

/* scroll on top arrow */
#arrow-up {
    position: fixed;
    color: #851285;
    display: inline-block;
    font-size: 180%;
    height: auto;
    width: 15%;
    bottom: 12%;

}


/* scroll on top arrow hover to enhance user interface*/
#arrow-up:hover {
    color:#5A0D5A;
}


.about-links {
    text-decoration: none; 
}
.about-links:hover {
    border-bottom: 3px solid #5A0D5A
}

/* footer */
#footer {
    clear: both;
    bottom: 0;
    min-height: 0%;
    margin: 0 auto;
    width: 100%;
    padding: 0;
    display:flex;
    flex-wrap: wrap;
    background-color: #C0C2AE;
    
}

#footer > * {
    flex:11 18em;
    width: 100%;
    text-align: center;
}

#footer a {
   display:contents;
    font-size: xx-large;
    margin: 0 auto;
    padding-top: 0;
    padding-bottom: 0;
}

/* social media hover to enhance user interface*/
.fa-brands:hover {
    color: #851285;

}


/* I use media all because i want it to include speech and screen */

/*  from lagerest  to smallest media*/

@media (max-width: 2560px ) {
    .container {
        min-width: 1440px;
        font-size: 100%;
    }
    
}

/* media lagest*/
@media (max-width: 1440px ) {
    .container {
        min-width: 1024px;
        
    }
    
}


/* media large */
@media (max-width: 1024px ) {
    .container {
        min-width: 768px;

    }
    
}

/* media medium */
@media (max-width: 768px ) {
    .container {
        min-width: 425px;
    }
    #cover-text {
        letter-spacing: 0.1rem;
        font-size: 80%;
        top: 20%;
        height: 12%;
        width: 15%;
        margin-left: 58%;

    }

    #arrow-up{
        bottom: 35%;
     }
}




/* media small */
@media (max-width: 525px ) {
    .container {
        min-width: 375px;
    }
    #logo {
        
        font-size: 150%;
        margin-left: 0.1rem;
        margin-bottom: 1%;
    }

    #navbar {
        margin: 0 auto;
        font-size: 110%;
        margin-left: 1%;
        display: inline-block;
        padding: 0.5%;
    }
    
    #cover-text {
        letter-spacing: 0.1rem;
        font-size: 80%;
        top: 15%;
        height: 12%;
        width: 25%;
        margin-left: 58%;

    }

    .col {
        font-size: 95%;
    }

    .reasons, 
    #about-content,
    #offers-head, 
    #quetions-head,
    #offers-main, 
    #contact-main,
    #testimonial-head {
        font-size: 100%;

    }



}

/* media smaller */
@media (max-width: 375px ) {
    .container {
        min-width: 320px;
    }
    #main-image {
        height: 60%;
        width: 90%;
        margin-left: 5%;
    }
    
    #cover-text {
        letter-spacing: 0.1rem;
        font-size: 60%;
        top: 20%;
        height: 10%;
        width: 27%;
        margin-left: 55%;
    }
    
    #footer{
        font-size: 95%;
    }

    #footer a {
        font-size: x-large;

    }

    /* scroll on top arrow */
    #arrow-up{
    bottom: 35%;
    }

    #thanks-page {
        font-size: 190%;
        padding: 1.5% 0.3%; 
    }
    
    #smiley {
        font-size: 300%;
    }



}

/* media smallest */
@media (max-width: 320px ) {
    .container {
        min-width: 220px;
    }

    #cover-text {
        height: 12%;
       
    }
}








