/* Reset and font setup */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
}

html {
    background: white;
    min-width: min-content;
    min-height: 100vh;
}

body {
    color: #ffffff;
    background: linear-gradient(135deg, #ffffff, #333333);
    background-attachment: local;
    min-width: min-content;
    min-height: 100vh;
	
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: min-content min-content 1fr min-content;
	row-gap: 20px;
}

header {
	grid-row: 1;
    background: #101010;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

header nav {
    padding: 0 20px;
	
    display: grid;
    grid-template-columns: 80px auto 1fr minmax(400px, 2fr) 1fr auto;
    grid-template-rows: 80px;
	column-gap: 20px;
}

header nav .logo {
	grid-column: 1;
	place-self: center start;
	max-height: 75%;
	max-width: 75%;
}

header nav .logo img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

header nav .site-name {
	grid-column: 2;
	place-self: center start;
	
	text-decoration: none;
}

header nav .site-name h1 {
    color: white;
    font-size: 30px;
    font-weight: 700;
}

header nav .search-bar {
	grid-column: 4;
	place-self: center stretch;
	
	height: 50px;
    display: grid;
    grid-template-columns: 1fr 50px;
    grid-template-rows: 100%;
	
	outline: 1.5px solid #EFEFEF;
	border-radius: 15px;
	overflow: hidden;
}

header nav .search-bar .search-input {
    border: none;
    outline: none;
    padding: 10px 20px;
    font-size: 16px;
    text-align: left;
}

header nav .search-bar .search-button {
	background: #101010;
    border: none;
	width: 100%;
	height: 100%;
    cursor: pointer;
	
    display: grid;
}

header nav .search-bar .search-button img {
	place-self: center center;
	
	width: 75%;
	height: 75%;
}

header nav .search-bar .search-button img:hover {
	filter: invert(56%) sepia(68%) saturate(367%) hue-rotate(73deg) brightness(90%) contrast(97%); /* #4CAF50 */
}

header nav .nav-links {
	grid-column: 6;
	place-self: center end;
	
	display: flex;
	flex-wrap: nowrap;
}

header nav .nav-links img {
	margin: 10px;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

header nav .nav-links img:hover {
	filter: invert(56%) sepia(68%) saturate(367%) hue-rotate(73deg) brightness(90%) contrast(97%); /* #4CAF50 */
}

/* Main Navigation */
.main-navigation {
	grid-row: 2;
	place-self: center center;
	
    background-color: black;
    padding: 10px 60px;
    border-radius: 0px;
	max-width: min-content;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
}

.main-navigation ul {
    list-style-type: none;
    display: flex;
    gap: 40px;
    justify-content: center;
	min-width: max-content;
}

.main-navigation ul li a {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
}

.main-navigation ul li a:hover {
    color: #4CAF50;
}

.about-us {
	grid-row: 3;
	place-self: start stretch;
	
    padding: 40px 20px;
    text-align: center;
	font-size: 24px;
	color: black;
	
	display: grid;
    grid-template-columns: 1fr min(80%, 1000px) 1fr;
    grid-template-rows: auto;
    text-align: justify;
}

.about-us p {
	grid-column: 2;
}

/* Footer */
footer {
	grid-row: 4;
    background: black;
    color: white;
    text-align: center;
    padding: 15px;
    font-size: 14px;
	width: 100%;
    bottom: 0;
    left: 0;
}
