* {
	margin: 0;
	padding: 0;
}

body {
	font-family: sans-serif;
	font-size: 24px;
}

.shop_header{
    background-image: url(./images/shop_header_back.jpg);
}

header {
	height: 60vh;
    background-size: cover;
    background-position: center center;
	grid-column: 1 / -1;
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.5);
	display: flex;
	flex-direction: column;
}

.main-grid {
	display: grid;
	grid-template-columns: 1fr repeat(2, minmax(auto, 25em)) 1fr;
}

a {
	text-decoration: none;
	color: white;
}

nav {
	height: 100px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 50px;
}

.logo {
	height: 100%;
}

.menu ul {
	list-style: none;
	display: flex;
}

.menu ul li {
	padding: 1em 2em;
}

.menu ul li a:hover {
	color: grey;
	transition: 0.5s;
	text-decoration: underline;
}

.banner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	flex-grow: 1;
}

.banner h1 {
	color: white;
	font-size: 72px;
}

.banner p {
	max-width: 40%;
	color: white;
	text-align: center;
	padding: 50px 0;
	font-size: 20px;
}

.contentInfo{
    grid-column: 2 / -2;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    padding-top: 75px;
    padding-bottom: 100px;
}

.contentInfo p {
    text-align: center;
    margin-top: 25px;
}

.tiles{
    grid-column: 2 / -2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-row-gap: 100px;
    grid-column-gap: 20px;
    margin-bottom: 100px;
}

.tiles .item{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 18px;
}

.tiles .item p{
    text-align: center;
    margin: 25px;
}

.tiles .item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.button{
    background-color: black;
    border-radius: 7px;
    padding: 20px 50px;
}

.button:hover{
    background-color: grey;
    transition: 0.7s;
}

footer {
	grid-column: 1 / -1;
	background-color: black;
	color: white;
	height: 30vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

footer p{
	padding: 30px 0;
}

.social{
	display: flex;
	justify-content: space-around;
	width: 10vw;
}

.social a:hover{
    transition: 0.5s;
    color: darkorange; 
}

.about_header{
    background-image: url(./images/about_header_back.jpg);
}

.description{
	grid-column: 2 / -2;
	height: 30vh;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	padding: 70px 0;
	padding-right: 25%;
}

.hr_desc{
	width: 20%;
	height: 3px;
	background-color: #000;
	border: none;
}

.description p{
	font-size: 20px;
}

.tiles_team{
    grid-column: 2 / -2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-row-gap: 100px;
    grid-column-gap: 100px;
    margin-bottom: 100px;
}

.tiles_team .item{
    display: flex;
    justify-content: center;
    /* align-items: center; */
    flex-direction: column;
    font-size: 18px;
}

.tiles_team .item p{
    /* text-align: center; */
    margin: 25px;
}

.tiles_team .item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team_name{
	font-size: 24px;
}

.position{
	color: gray;
}

.contactsBlock{
	grid-column: 2 / -2;
	height: 15vh;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: flex-start;
	padding-top: 150px;
	padding-bottom: 150px;
}

#request{
	grid-column: 2 / -2;
	display: flex;
	flex-direction: column;
}

input{
	box-sizing: border-box;
	width: 100%;
	border: none;
	border-bottom: 1p solid #000;
	font-size: 18px;
	padding: 20px 5px;
	margin: 30px 0;
}

input:focus{
	outline: none;
}

#submit{
	width: 300px;
	border-radius: 40px;
	background-color: black;
	color: white;
	align-self: center;
}

#submit:hover{
	cursor: pointer;
	background-color: white;
	color: black;
	transition: 1s;
	border: 1px solid black;
}

#submit:nth-of-type(1) {
    z-index: 1;
}

#submit:nth-of-type(2) {
    z-index: 1;
}

#submit:nth-of-type(3) {
    z-index: -1;
}

#submit:nth-of-type(4) {
    z-index: 1;
}

#submit:nth-of-type(5) {
    z-index: -1;
}

#map_desc{
	grid-column: 2 / -2;
	padding-top: 100px;
}

iframe{
	grid-column: 1 / -1;
	width: 100%;
	height: 50vh;
	margin-top: 25px;
}

.paragraph{
	margin-bottom: 15px;
}

.contacts_header{
	background-image: url(./images/contacts_header_back.jpg);
}