* {
  --diff: calc(var(--max-size) - var(--min-size));
  --responsive: calc((var(--min-size) * 1px) + var(--diff) * ((100vw - 360px) / (1280 - 360)));
  --diff2: calc(var(--max-size2) - var(--min-size2));
  --responsive2: calc((var(--min-size2) * 1px) + var(--diff2) * ((100vw - 360px) / (1280 - 360)));
}

* {
	--color-dark: #58448e;
}

html {
	height: 100%;
}

body {
	font-size: 17px;
	overflow-x: hidden;
	min-width: 320px;
	font-family: 'Roboto', sans-serif;
	background-image: url('/images/us-bg.jpg');
	background-size: cover;
	background-attachment: fixed;
	height: 100%;
}


/* ОБЩИЕ СТИЛИ */

h1 {
	font-family: 'Alegreya Sans', sans-serif;
	color: var(--color-prim);
  --max-size: 38;
  --min-size: 28;
  font-size: var(--responsive);
  --max-size2: 15;
  --min-size2: 10;
  margin-top: var(--responsive2);
  margin-bottom: var(--responsive2);
}

h2 {
	font-family: 'Alegreya Sans', sans-serif;
	color: var(--color-prim);
  --max-size: 36;
  --min-size: 28;
  font-size: var(--responsive);
	margin-top: 0;
}

h3 {
	font-family: 'Alegreya Sans', sans-serif;
	color: var(--color-prim);
  --max-size: 30;
  --min-size: 24;
  font-size: var(--responsive);
  --max-size2: 48;
  --min-size2: 40;
  margin-top: var(--responsive2);
	font-weight: 500;
}

h4, .h4 {
	font-family: 'Alegreya Sans', sans-serif;
	color: var(--color-prim);
  --max-size: 24;
  --min-size: 20;
	line-height: 1;
  font-size: var(--responsive);
}

h5 {
  font-size: 18px;
  font-weight: 600;	
}

a {
	color: var(--color-prim);
}

p a, .u {
	text-decoration: underline;
	font-weight: bold;
}

main h4 {
	color: var(--color-prim);
	font-weight: 400;
}

.container {
	width: 100%;
	max-width: 1200px;
}

.card-description {
	font-size: 14px;
	line-height: 1.3;
}

.map {
	background-color: #eee;
	border: 1px solid #ddd;
	min-height: 480px;
}


/* ШАПКА */



/* МЕНЮ */

.menu-container {
	position: sticky;
	top: 20px;
}

.menu-container2 {
	margin-top: 25px;
	border-radius: 5px;
	padding: 14px 0;
	border: 2px solid var(--color-sec);
}

.menu {
	list-style: none;
	padding: 0;
	font-family: 'Alegreya Sans', sans-serif;
	color: var(--color-prim);
  --max-size: 20;
  --min-size: 16;
  font-size: var(--responsive);
	margin-bottom: 0;
}

.menu a {
	padding: 3px 22px;
	display: block;
}

.menu a:hover {
	background-color: var(--color-sec);	
	color: var(--color-prim);
	text-decoration: none;	
}

.hot, .menu .hot:hover {
	color: #fff;
	background-color: var(--color-prim);	
}

.content {
	padding-top: 10px;
	padding-bottom: 30px;
}

.copyright {
	font-size: 14px;
	opacity: 0.8;
	margin-top: 15px;
	text-align: center;
}

.btn-banner {
	display: inline-block;
	background-color: var(--color-prim);
	color: #fff;
	border-radius: 5px;
	white-space: normal;
	margin-top: 15px;
	line-height: 1.2;
}

.btn-banner:hover, .btn-banner:focus {
	background-color: var(--color-prim-d);
	color: #fff;
}


/* ОБЩЕЕ */

.blockcomment {
	margin: 25px 0 15px;
}

.blockcomment ol {
	padding-left: 20px;
}

.blockcomment a {
	text-decoration: underline;
}

.pageblock-gallery figure img {
	border-radius: 4px;
}

/* АДАПТИВНОСТЬ */

@media screen and (min-width: 1280px) {
  h4 {
     font-size: 24px;
  }
}

@media (max-width:767px) {
		
	body {
		--max-size: 16;
		--min-size: 14;
		font-size: var(--responsive);
	}
}

@media (max-width:960px) {
	nav ul a {
		padding: 6px 12px !important;
		font-size: 20px;
		overflow: hidden;
		white-space: nowrap;
	}
	
	.logo {
		height: calc(15vw + 155px);
		object-fit: cover;
	}
}


@media (max-width: 479px) {
  .col-xxs {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xxs-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-xxs-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxs-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xxs-first {
    order: -1;
  }
	.col-xxs-6:nth-child(even) {
    padding-left: 8px;
  }
	.col-xxs-6:nth-child(odd) {
    padding-right: 8px;
  }
}




