*
{
    margin: 0;
    padding: 0;
}
.logo 
{
	position: fixed;
	top: 20px;              /* adjust vertical spacing */
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
	text-align: center;
}

.logo_img 
{
	width: 300px;
	padding-top: 25px;
}
.flag 
{
	width: 470px;
	padding-top: 8px;
}

.hero
{
    height: 100vh;
    width: 100%;
    background-image: url("img/sky.jpeg");
    background-size: cover;
    background-position: center;
    position: relative;
    overflow-x: hidden;
}
.highway {
    height: 200px;
    width: 100%;
    position: absolute;
    bottom: 0;
    background: url("img/sea.jpg") repeat-x;
    background-size: cover;
    overflow: hidden;
}

.highway::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("img/sea.jpg") repeat-x;
    opacity: 0.6;
    animation: waterLayer 12s linear infinite;
}

.highway::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("img/sea.jpg") repeat-x;
    opacity: 0.3;
    animation: waterLayer 20s linear infinite reverse;
}

@keyframes waterLayer {
    from { background-position: 0 0; }
    to   { background-position: -1500px -20px; }
}



@keyframes highway
{
    100%
    {
        transform: translateX(-3400px);
    }
}
.city
{
    height: 900px;
    width: 500%;
    background-image: url("img/bg.png");
    position: absolute;
    bottom: 200px;
    left: 0;
    right: 0;
    display: block;
    z-index: 1;
    background-repeat: repeat-x;
    animation: city 20s linear infinite;
}
@keyframes city
{
    100%
    {
        transform: translateX(-1400px);
    }
}

.flower
{
    height: 301px;
    width: 500%;
    background-image: url("img/grass.png");
    position: absolute;
    bottom: 200px;
    left: 0;
    right: 0;
    display: block;
    z-index: 1;
    background-repeat: repeat-x;
    animation: city 20s linear infinite;
}
@keyframes flower
{
    100%
    {
        transform: translateX(-1400px);
    }
}

.car
{
    width: 750px;
    left: 50%;
    bottom: 100px;
    transform: translateX(-50%);
    position: absolute;
    z-index: 2;
}
.car img
{
    width: 100%;
    animation: car 1s linear infinite;
}
@keyframes car
{
    100%
    {
        transform: translateY(-1px);
    }
    50%
    {
        transform: translateY(-1px);
    }
    0%
    {
        transform: translateY(-1px);
    }
}
.wheel 
{
    left: 50%;
    bottom: 179px;
    transform: translateX(-50%);
    position: absolute;
    z-index: 2;
}
.wheel img
{
    width: 72px;
    height: 72px;
    animation: wheel 1s linear infinite;
}
.back-wheel
{
    left: -165px;
    position: absolute;
}
.front-wheel
{
    left: 90px;
    position: absolute;
}
@keyframes wheel
{
    100%
    {
        transform: rotate(360deg);
    }
}


@media (max-width: 480px) 
{
    .logo 
	{
		position: fixed;
		top: 30%;
    	left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		text-align: center;
	}

	.logo_img 
	{
		width: 500px;
		padding-top: 25px;
	}
	.flag 
	{
		width: 750px;
		padding-top: 30px;
	}

}

/* =========================
   Mobiles (≤ 600px)
   ========================= */
@media (max-width: 600px) 
{
	.logo 
	{
		position: fixed;
		top: 30%;
    	left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		text-align: center;
	}

	.logo_img 
	{
		width: 500px;
		padding-top: 25px;
	}
	.flag 
	{
		width: 750px;
		padding-top: 30px;
	}

    
}

/* =========================
   Tablets (portrait & landscape)
   ========================= */
@media (min-width: 601px) and (max-width: 768px) 
{
    .logo 
	{
		position: fixed;
		top: 30%;
    	left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		text-align: center;
	}

	.logo_img 
	{
		width: 500px;
		padding-top: 25px;
	}
	.flag 
	{
		width: 750px;
		padding-top: 30px;
	}

	
}

/* =========================
   Tablets & small laptops
   ========================= */
@media (min-width: 769px) and (max-width: 1024px) 
{
    .logo 
	{
		position: fixed;
		top: 30%;
    	left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		text-align: center;
	}

	.logo_img 
	{
		width: 500px;
		padding-top: 25px;
	}
	.flag 
	{
		width: 750px;
		padding-top: 30px;
	}

}

/* =========================
   Laptops & desktops
   ========================= */
@media (min-width: 1025px) 
{
    .logo 
	{
		position: fixed;
		top: 20px;              /* adjust vertical spacing */
		left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		text-align: center;
	}

	.logo_img 
	{
		width: 300px;
		padding-top: 25px;
	}
	.flag 
	{
		width: 470px;
		padding-top: 8px;
	}
}