*{
    margin:0;
    padding:0;
}

body{
    font-family:Arial, sans-serif;
}

.hero{
    height:20vh;
    width:100%;
    background-image: linear-gradient(to right, blue, red);
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:white;
}

.hero-text{
    background-color:rgba(0,0,0,0.5);
    padding:15px;
    border-radius:10px;
}

nav{
    background-color:#333;
}

nav ul{
    list-style:none;
    display:flex;
    justify-content:center;
}

nav li{
    margin:0;
}

nav a{
    color:white;
    text-decoration:none;
    display:block;
    padding:15px 20px;
}

nav a:hover{
    background-color:#555;
}

.grid-layout{
    display:grid;
    grid-template-columns:30% 70%;
    gap:20px;
    padding:20px;
}

.grid-layout2{
    display:grid;
    grid-template-columns:70% 30%;
    gap:20px;
    padding:20px;
}

article{
    padding:20px;
}

aside{
    padding:20px;
    border-left:5px solid blue;
    font-style:italic;
    background:rgba(255,255,255,0.3);
}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding:20px;
}

.card{
    background:white;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,0.15);
    transition:0.3s;
    display:flex;
    flex-direction:column;
	padding:10px
}

.card:hover{
    transform:translateY(-5px);
}

.image-container{
    position:relative;
    width:100%;
    aspect-ratio: 16 / 9;
    overflow:hidden;
}

.image-container img{
    width:100%;
    max-width:100%;
    display:block;
}

.image-container h3{
    position:absolute;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    color:white;
    background-color:rgba(0,0,0,0.6);
    padding:5px 10px;
}

.card p{
    text-align:justify;
    margin-top:15px;
}

.card h3{
	margin-top:10px;
}

.cards2{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    padding:20px;
}

.card2{
    background:white;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,0.15);
    transition:0.3s;
    display:flex;
    flex-direction:column;
	padding:10px
}

.card2:hover{
    transform:translateY(-5px);
}

.image-container2{
    position:relative;
    width:100%;
    aspect-ratio: 16 / 9;
    overflow:hidden;
}

.image-container2 img{
    width:100%;
    max-width:100%;
    display:block;
}

.image-container2 h3{
    position:absolute;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    color:white;
    background-color:rgba(0,0,0,0.6);
    padding:5px 10px;
}

.card2 p{
    text-align:justify;
    margin-top:15px;
}

.card2 h3{
	margin-top:10px;
}

img{
    max-width:100%;
    height:auto;
}

video{
    margin-top:15px;
}

footer{
    min-height:10vh;
    background-color:#333;
    color:white;
    text-align:center;
    padding:20px;
}

.grid-layout2 p{
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    background-color:rgba(0,0,0,0.5);
    border-radius:10px;
    color:white;
    height:100%;
    width:100%;
}

footer img{
    margin:0 5px;
    transition:0.3s;
}

footer img:hover{
    transform:scale(1.2);
}

@media (max-width: 900px){

    body{
        background-color:#dcedc8;
    }

    .cards{
        grid-template-columns:1fr 1fr;
    }

    .grid-layout{
        grid-template-columns:1fr;
    }
	footer img{
		height:20%;
		width:20%;
	}
}

@media (max-width: 600px){

    body{
        background-color:#bbdefb;
    }

    nav ul{
        flex-direction:column;
    }

    .cards{
        grid-template-columns:1fr;
    }
	footer img{
		height:20%;
		width:20%;
	}
}

@media (min-width: 901px){

    body{
        background-image: linear-gradient(to bottom, lightblue, pink);
    }
}