*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#333;
    line-height:1.8;
}


/* HERO */

.hero{
    position:relative;
    height:380px;
    overflow:hidden;
}

.hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(0,60,40,.60);

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:20px;
}

.overlay h1{
    color:white;
    font-size:52px;
}


/* BACK BUTTON */

.top-bar{
    max-width:1100px;
    margin:30px auto;
    padding:0 20px;
}

.back-btn{
    display:inline-block;

    background:#0B6E4F;
    color:white;

    text-decoration:none;

    padding:12px 25px;

    border-radius:30px;

    font-weight:bold;

    transition:.3s;

    box-shadow:0 5px 15px rgba(0,0,0,.15);
}

.back-btn:hover{
    background:#FFD700;
    color:#0B6E4F;
}


/* CONTENT */

.content{
    width:92%;
    max-width:1100px;

    margin:auto;

    padding:20px 0 40px;
}

.content h2{
    color:#0B6E4F;
    margin-bottom:20px;
}

.content p{
    margin-bottom:20px;
}


/* INFO GRID */

.info-grid{
    display:grid;

    grid-template-columns:repeat(2, 1fr);

    gap:25px;

    margin:40px 0;
}

.info-card{
    background:white;

    padding:30px;

    border-radius:15px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;
}

.info-card:hover{
    transform:translateY(-5px);
}

.info-card h3{
    color:#0B6E4F;

    margin-bottom:15px;

    font-size:23px;
}

.info-card h4{
    color:#0B6E4F;

    margin-top:20px;

    margin-bottom:10px;
}

.info-card ul{
    margin-left:22px;
}

.info-card li{
    margin-bottom:7px;
}


/* COURSES */

.courses-card{
    min-height:100%;
}


/* CALENDAR SECTION */

.calendar-card{
    grid-column:span 2;

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    align-items:flex-start;

    gap:30px;
}

.calendar-card > h3{
    width:100%;
    text-align:left;
}

.calendar-card > p{
    width:100%;
    text-align:left;
}

.calendar-section{
    width:260px;

    text-align:center;
}

.calendar-section h4{
    margin-top:0;

    margin-bottom:12px;
}


/* SMALL CALENDAR IMAGES */

.calendar-image{
    width:220px;

    height:auto;

    display:block;

    margin:0 auto;

    object-fit:contain;

    border-radius:10px;

    box-shadow:0 5px 15px rgba(0,0,0,.12);

    transition:.3s;
}

.calendar-image:hover{
    transform:scale(1.03);
}


/* REGISTER SECTION */

.register-card{
    grid-column:span 2;
}

.registration-option{
    background:#f6fbf8;

    padding:20px;

    margin-top:18px;

    border-radius:12px;

    border-left:5px solid #0B6E4F;
}

.registration-option h4{
    margin-top:0;
}

.registration-option a{
    color:#0B6E4F;

    font-weight:bold;
}

.register-btn{
    display:inline-block;

    margin-top:8px;

    background:#0B6E4F;

    color:white !important;

    text-decoration:none;

    padding:12px 24px;

    border-radius:30px;

    font-weight:bold;

    transition:.3s;
}

.register-btn:hover{
    background:#FFD700;

    color:#0B6E4F !important;
}


/* CONTACT BOX */

.contact-box{
    background:#eef5f1;

    border-left:6px solid #0B6E4F;

    padding:30px;

    border-radius:12px;

    margin-top:40px;
}

.contact-box a{
    color:#0B6E4F;

    font-weight:bold;

    text-decoration:none;
}

.contact-box a:hover{
    text-decoration:underline;
}


/* FOOTER */

footer{
    background:#0B6E4F;

    color:white;

    text-align:center;

    padding:25px;

    margin-top:60px;
}


/* TABLET */

@media(max-width:900px){

    .info-grid{
        grid-template-columns:1fr;
    }

    .calendar-card,
    .register-card{
        grid-column:auto;
    }

    .calendar-card{
        gap:20px;
    }

    .calendar-section{
        width:220px;
    }

    .calendar-image{
        width:190px;
    }

}


/* MOBILE */

@media(max-width:600px){

    .hero{
        height:250px;
    }

    .overlay h1{
        font-size:32px;
    }

    .content{
        width:94%;
    }

    .info-card{
        padding:22px;
    }

    .calendar-card{
        gap:15px;
    }

    .calendar-section{
        width:46%;
    }

    .calendar-image{
        width:100%;

        max-width:150px;
    }

    .register-btn{
        width:100%;

        text-align:center;
    }

    .contact-box{
        padding:24px;
    }

}