:root {
	--main-font: 'Montserrat';
	--main-width: 1200px;
	--primary-color: #5a3f36;
	--red: #be0d1f;
}

@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Thin.ttf);
  font-weight:100;
}
@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Light.ttf);
  font-weight:200;
}
@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Regular.ttf);
  font-weight:300;
}
@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Medium.ttf);
  font-weight:400;
}
@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Bold.ttf);
  font-weight:500;
}
@font-face {
  font-family: 'Montserrat';
  src: url(fonts/Montserrat-Black.ttf);
  font-weight:600;
}

body {
	margin:0;
	padding:0;
	font-family:var(--main-font);
	min-width:320px;
}
a {
	text-decoration:none;
}
.red {
	color:var(--red);
}
.highlight {
	text-transform:uppercase;
	font-weight: 500;
}
.selected {
	font-weight: 500;
}

/*HEADER*/

header {
	background:var(--primary-color);
}
header .topmenu {
	max-width: var(--main-width);
    margin: 0 auto;
    display: flex;
    justify-content: end;
}
header a {
	color: #af978d;
    padding: 10px;
    display: inline-block;
}
header a:hover,
header a:focus {
	color: white;
}

.header {
	background:#78564a;
}
.header_info {
	max-width: 1920px;
	min-height: 400px;
	margin: 0 auto;
    background-repeat: no-repeat;
    background-image: url(img/dovuz.jpg);
	position: relative;
}


.header_container {
	max-width: var(--main-width);
    margin: 0 auto;
    display: flex;
    justify-content: end;
    align-items: center;
    min-height: inherit;
	z-index: 2;
    position: relative;
}
.header_text {
	flex-basis: 800px;
    color: white;
}

.header_text,.molimp_text {
	padding-right: 2rem;
}

.header_text .tagline {
	font-size: 1.5rem;
    border-bottom: 2px solid white;
    padding-bottom: 1rem;
    display: inline-block;
}
.header_text h1 {
	text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .1rem;
}
.header_text p {
	line-height: 1.5rem;
    font-weight: 300;
}

/*MAIN*/


/*Услуги*/

.services {
	padding: 2rem 0;
}
.services_container {
	max-width: var(--main-width);
	margin: 0 auto;
	padding: 0 3rem;
	display: flex;
	flex-wrap: wrap;
	column-gap: 3rem;
}
.services_container > * {
	flex-basis: 46%;
}
.service_header {
	color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
	display:flex;
	align-items: center;
	column-gap: 1rem;
	min-height: 80px;
}
.service_header img {
	width: 56px;
    height: 50px;
}
.service_header h2 {
	text-transform: uppercase;
    font-weight: 500;
    font-size: 1.2rem;
}
.service_info .phone {
	font-size: 1.5rem;
    display: inline-block;
    color: var(--primary-color);
    font-weight: 500;
}
.service_info .button,
.molimp_block .button {
	background: var(--red);
    color: white;
    text-transform: uppercase;
    padding: 1rem;
    display: inline-block;
    border-radius: 5px;
    font-size: .9rem;
	margin: 1rem 0 0;
}
.service_info .button:hover,
.molimp_block .button:hover,
.service_info .button:focus,
.molimp_block .button:focus {
	background: var(--primary-color);
}


/*Олимпиада, Русский как иностранный, Отзывы*/

section.molimp {
	background: #e8e8e8;
}
section.rus {
	background: #a3998f;
	color: white;
}
section.reviews,
section.contacts {
	background: var(--red);
	padding: 2rem;
}

.molimp_info,.rus_info {
	max-width: 1920px;
    min-height: 400px;
    margin: 0 auto;
	background-repeat: no-repeat;
	position: relative;
}
.molimp_info {
    background-image: url(img/molimp1.jpg);
}
.rus_info {
	background-image: url(img/rus1.jpg);
}


.molimp_container,
.rus_container {
	max-width: var(--main-width);
    margin: 0 auto;
    display: flex;
    justify-content: end;
    align-items: center;
    min-height: inherit;
	z-index: 2;
    position: relative;
}
.molimp_text,
.rus_text {
	flex-basis: 800px;
    display: grid;
    flex-wrap: wrap;
}
.rus_text {
	flex-basis: 600px;
	padding:2rem;
}

.molimp_header_wrapper,
.rus_header_wrapper {
	display: flex;
    justify-content: end;
}
.molimp_header,
.rus_header {
	color: var(--red);
    font-size: 2rem;
    font-weight: 500;
    flex-basis: 600px;
    text-align: right;
	margin: 2rem 0 0;
}
.rus_header {
	color:white;
}

.molimp_blocks {
	display: flex;
    flex-wrap: wrap;
	gap: 2rem;
	margin: 1rem 0 0;
	justify-content: space-between;
}
.molimp_block .highlight {
	color: var(--primary-color);
}
.molimp_text h2 {
	color: var(--primary-color);
	font-weight: 500;
}
.molimp_block .button {
	margin:0;
}

.rus_block a {
	color: white;
}

.readmore_block {
	display: flex;
    justify-content: end;
	column-gap: 1rem;
	flex-wrap: wrap;
}
.button.readmore {
	background: white;
    color: #a3998f;
    text-transform: uppercase;
    padding: 1rem 4rem;
    display: inline-block;
    border-radius: 5px;
    margin: 1rem 0 0;
    font-weight: 500;
}
.button.readmore:hover,
.button.readmore:focus {
	color: white;
    background: var(--primary-color);
}

.reviews_container {
	max-width: 500px;
    margin: 0 auto;
    display: flex;
    column-gap: 2rem;
    align-items: center;
    justify-content: center;
}
.reviews_container a {
	background: white;
    color: var(--red);
    text-transform: uppercase;
    padding: 1rem 4rem;
    display: inline-block;
    border-radius: 5px;
    font-weight: 500;
}
.reviews_container i,
.contacts_container i {
	color: white;
    font-size: 5rem;
}
.reviews_container a:hover,
.reviews_container a:focus {
    background: #ebebeb;
}

/*Отзывы, Контакты*/

section.review {
	padding: 2rem 0;
}
section.review.grey {
	background:#e8e8e8;
}

.review_container,
.contacts_container {
	max-width: var(--main-width);
    margin: 0 auto;
    padding: 0 3rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 3rem;
}
.contact_container {
	max-width: var(--main-width);
	margin: 0 auto;
    padding: 3rem;
}

.review_container > * {
    flex-basis: 46%;
}

.reviews.page .reviews_container,
.contacts.page .contacts_container {
	max-width: var(--main-width);
    margin: 0 auto;
	justify-content: initial;
}
.reviews_header,
.contacts_header {
	display: flex;
    column-gap: 2rem;
    color: white;
    text-transform: uppercase;
}
.reviews_header h1,
.contacts_header h1 {
	font-weight: 500;
}

.feedback_header_container {
	max-width: var(--main-width);
	margin: 0 auto;
	text-align: center;
    text-transform: uppercase;
}
.feedback_header {
	font-weight: 500;
	margin-top: 0;
}

.review_item {
	border-bottom: 1px solid;
    margin: 1rem 0 2.5rem;
	padding-bottom: 1rem;
}
.review_info {
	font-weight:500;
	line-height: 1.5rem;
}
.review_info .date,
.review_info .name {
	margin: 0;
}


/*FOOTER*/

footer {
	background: var(--primary-color);
	padding: 2rem;
    color: white;
}
footer p {
	margin:0;
}
.footer_container {
	max-width: var(--main-width);
    margin: 0 auto;
}
footer .info {
	line-height: 2rem;
}
footer .copyright {
	margin: 2rem 0 0;
    text-align: center;
}


/*MEDIA*/

@media screen and (max-width:1560px) {
	
	.molimp_info {
		background-position: -10rem 0;
	}
	
}


@media screen and (max-width:1200px) {
	
	.molimp_info {
		background-position: initial;
	}
	.header_info:after,
	.molimp_info:after,
	.rus_info:after {
		content: '';
		background: #00000080;
		display: block;
		height: 100%;
		width: 100%;
		position: absolute;
		top: 0;
		z-index: 1;
	}
	.header_container,
	.molimp_container {
		justify-content: center;
		padding: 0 2rem;
	}
	
	.molimp,.molimp_header,.molimp_block .highlight,.molimp_text h2 {
		color:white;
	}
	
	.button.readmore:hover,
	.button.readmore:focus {
		background: #a3998f;
	}
	
	
}


@media screen and (max-width:900px) {
	
	.molimp_blocks {
		display: block;
	}
	
}


@media screen and (max-width:768px) {
	
	.services_container {
		padding: 0 2rem;
		row-gap: 1rem;
	}
	.services_container > *,
	.review_container > * {
		flex-basis: initial;
	}
	.review_container {
		padding: 0 2rem;
	}
	
	.reviews.page .reviews_container {
		justify-content: center;
	}
	
	.review_container > *:last-of-type .review_item {
		margin: 0;
	}
	
	.feedback_header {
		padding: 0 2rem;
	}
	
	.header_text,.molimp_text,.rus_text {
		padding:0;
	}
	
	.rus_info {
		min-height: initial;
		background-position: -10rem 0;
	}
	.rus_header {
		text-align:center;
		margin: 0;
	}
	.rus_container {
		justify-content: center;
		padding: 2rem;
	}
	.readmore_block {
		justify-content: center;
	}
	
	footer .info {
		text-align:center;
	}
	
}


@media screen and (max-width:640px) {
	
	.header_info {
		min-height: initial;
		background-size: cover;
	}
	.header_container {
		padding: 2rem;
	}
	
}

@media screen and (max-width:425px) {
	
	.header_text h1,.molimp_header {
		font-size: 1.5rem;
	}
	.service_header {
		display: inherit;
	}
	.service_icon {
		text-align: center;
	}
	.reviews_container {
		column-gap: 1rem;
	}
	
}

@media screen and (max-width:375px) {
	
	.feedback_header {
		font-size: 1.3rem;
	}
	
}
