*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

a{
    color: whitesmoke;
    text-decoration: none;
}

body{
	-webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    min-height: 100%;
    background-color: #fff;
}

nav{
    display: flex;
    gap: 1em;
    background-color: #000080;
    color: whitesmoke;
    height: 6.5em;
}

nav .left-nav{
    display: flex;
    align-items: center;
    margin-left: 1.5em;
    gap: 1em;
}

nav p{
    font-size: 1.4em;
    font-weight: bold;
}

nav .nav-tele{
    font-size: 3em;
}

/* Mobile Menu Styles */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    color: whitesmoke;
    font-size: 1.5em;
    cursor: pointer;
    padding: 0.5em;
    margin-right: 1em;
}

.mobile-menu {
    display: none;
    position: absolute;
    top: 4.5em;
    right: 0;
    background-color: #000080;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.mobile-menu.show {
    display: block;
}

.mobile-menu .mobile-link {
    display: block;
    padding: 1em;
    text-decoration: none;
    color: whitesmoke;
    border-bottom: 1px solid #0101c2;
}

.mobile-menu .mobile-link:hover {
    background-color: #0101c2;
}

.mobile-menu .mobile-link:last-child {
    border-bottom: none;
}

.link{
    font-size: .6em;
    align-self: flex-end;
    margin-right: 1em;
}

.link:hover{
    background-color: #0101c2;
}

.link h1{
    padding: .25em;
}

.header-area{
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 16/5;
    width: 100%;
    background-image: url('ron-turner-unsplash3.jpg');
    background-size: cover;
    background-position: center;
}

.title {
    text-align: center;
    background-color: rgba(128, 128, 128, 0.85);
    padding: 1em;
    color: white;
    text-shadow: 0 2px 6px rgba(0,0,0,0.9);
    font-size: clamp(1rem, 2vw, 2rem);
}

.title h1{
    margin-bottom: .4em;
}

.title h2{
    font-size: 1.5rem;
}

main{
    font-size: 1.5em;
    text-align: center;
    height: 100%;
}

.content{
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: space-evenly;
    margin-top: 1em;
    padding: 0 1em;
}

.card {
    flex: 1 1 300px;
    max-width: 30%;
    border: 1px solid lightgrey;
    display: flex;
}

.card-body {
    display: flex;
    align-items: stretch;
    padding: .4em;
    background-color: whitesmoke;
}

.card-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

.card-title{
    font-weight: bold;
    margin-bottom: .4em;
}

.card-caption{
    font-size: .65em;
    padding: .4em;
}

main h1{
    font-size: 2.5rem;
    padding: .5em;
}

main p{
    font-size: 1.3rem;
}

hr{
    margin-top: 1em;
    margin-bottom: 1em;
}

.text{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2em;
}

.contact-information{
    display: flex;
    justify-content: center;
    text-align: center;
}

.contact-information p {
    text-align: center;
}

.about-us-content{
    display: flex;
    justify-content: center;
    text-align: center;
}

.about-us-content p {
    text-align: center;
}

.faq-item {
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    cursor: pointer;
}

.question {
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}

.answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq-item.active .answer {
    max-height: 200px; /* enough space for the answer */
    padding: 10px 0;
}

.footer-content{
    background-color: #1c1c77;
    color: whitesmoke;
    padding: 1em;
}

.about-footer-content{
    background-color: #1c1c77;
    margin-top: 80.5vh;
    color: whitesmoke;
    padding: 1em;
}

/* Media Query for Mobile Devices */
@media screen and (max-width: 768px) {
    /* Hide regular navigation links on mobile */
    .link {
        display: none;
    }
    
    /* Show mobile menu toggle */
    .mobile-menu-toggle {
        display: block;
        margin-left: auto;
    }
    
    /* Navigation adjustments */
    nav {
        position: relative;
    }

    nav .nav-tele{
        font-size: 2em;
    }
	
	.title {
		text-align: center;
		background-color: rgba(128, 128, 128, 0.10);
		padding: 1em;
		color: white;
		text-shadow: 0 2px 6px rgba(0,0,0,0.9);
		font-size: clamp(1rem, 2vw, 2rem);
	}
    
    .content {
        flex-direction: column;
        align-items: center;
        gap: 1em;
        padding: 0 1em;
    }

    .contact-information{
        font-size: 1em;
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .contact-information p {
        text-align: center;
        width: 100%;
    }

    .about-us-content{
        font-size: 1em;
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .about-us-content p {
        text-align: center;
        width: 100%;
    }
    
    .card {
        max-width: 100%;
    }

    .card-body {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .card-body img {
        width: 100%;
        height: auto;
        max-width: 280px;
    }
    
    .card img {
        width: 80% !important;
        aspect-ratio: 1 / 1 !important;
        margin: 0 0 1em 0;
    }
    
    .card-text {
        text-align: center;
        justify-content: flex-start;
    }
    
    .card-title {
        font-size: 2em;
        margin-bottom: 0.5em;
    }
    
    .card-caption {
        font-size: 1em;
        line-height: 1.3;
    }
    
    main {
        font-size: 1.2em;
    }
}