:root {
	--menu-color: #fff;
	--title-shadow: 0px 2px 1px rgba(15, 10, 10, .8);
}


#menu {
	background-color: #030303;
}

.header {
	display: grid;
    grid-template-columns: min-content  1fr max-content;
    column-gap: 0px;
    padding: 5px 20px;
    align-items: center;
    color: var(--menu-color);
}

.logo {
	display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: 2px;
    align-items: center;	
}

.header .hamburger  {
  color: inherit;
  line-height: 0; 
}

.header .hamburger .hamburger-inner, .header .hamburger  .hamburger-inner:after, .header .hamburger  .hamburger-inner:before,
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before {
	background-color: var(--menu-color) !important;
}
.nav {
	display: grid;
	align-items: center;
	height: 100%;
}

.nav ul {
	display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: 9px;
    align-items: center;
    list-style-type: none;
    margin: auto 0;
    height: 100%;
}
.nav ul li {
	display: grid;
	align-items: center;
	margin: auto 0;
	padding-top: 5px;
	height: 100%;
}
.nav ul a {
	color: var(--menu-color);
	text-underline-offset: 2px;
	/*font-variant: small-caps;*/
	letter-spacing: 1pt;
}

.nav ul a[href^="#"] {
	text-decoration: underline dotted var(--menu-color);
	text-underline-offset: 3px;
}

.nav ul a[target^="_blank"]:after {
	font-family: bootstrap-icons;
	content: "\F1C5";
	font-size: small;
	opacity: .5;
	padding-left: 2pt;
}

#title {
	height: 10vh;
	width: 100vw;
	text-align: center;
	position: absolute;
	top: 40vh;
	padding-right: 30vw;
	font-size: 6em;
	font-weight: 800;
	text-shadow: var(--title-shadow);
}
#subtitle {
	height: 10vh;
	width: 100vw;
	text-align: center;
	position: absolute;
	top: 53vh;
	font-size: 3em;
	font-weight: 400;
	text-shadow: var(--title-shadow);
}


.video__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 90vh;
    margin-bottom: 20pt;
}

.video__wrapper iframe {
	width: 90%;
}



/* ===================================================
	XL
===================================================	*/
@media only screen and (max-width: 1400px) {
}

/* ===================================================
	LG
===================================================	*/
@media only screen and (max-width: 1200px) {
}

/* ===================================================
	MD
===================================================	*/
@media only screen and (max-width: 992px) {
	#title { font-size: 5em; padding-right: 7vw;}
	#subtitle {	font-size: 3em; padding-left: 5vw;}
}

/* ===================================================
	SM
===================================================	*/
@media only screen and (max-width: 768px) {
	#title {font-size: 3.4em; padding-right: 7vw;}
	#subtitle { font-size: 1.4em; padding-left: 5vw;}
}

/* ===================================================
	XS
===================================================	*/
@media only screen and (max-width: 576px) {
	#title {font-size: 2.6em; padding-right: 0; text-align: left;}
	#subtitle { font-size: 1.4em; padding-left: 5vw;}
}


/* ===================================================
	A C C O R D E O N    M E N U
===================================================	*/

@media (width > 1000px) {
  .header .hamburger {
    display: none;
  }
}
@media (width <= 1000px) {
  .header {
    position: relative; /* Задаём контекст для позиционирования меню */
    grid-template-columns: min-content 1fr;
  }
  .header::before {
    content: '';
    background: inherit;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 101; /* Слой-разделитель скроет меню, пока оно проезжает под шапкой */
  }
  .header .logo, .header .hamburger {
    position: relative;
    z-index: 102; /* Логотип и кнопка встанут на самом верху */
  }
  .nav {
	height: auto;
    position: absolute; /* Меню позиционируем абсолютно, сразу после шапки поверх содержимого */
    top: 0;
    left: 0;
    width: 100%; /* Растягиваем меню на всю ширину экрана */
    padding: 120px 10px 20px; /* Добавляем настолько большой верхний падинг, чтобы меню встало точно под шапкой */
    margin: 0;
    transform: translateY(-100%); /* Прячем меню за верхнюю границу экрана */
    transition: transform 75ms ease; /* Анимируем изменение позиции меню, синхронизировав с анимацией кнопки */
    transition-delay: 120ms;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
    z-index: 100; /* Меню поедет на самом нижнем уровне */
    
  }
  .nav.is-active {
    transform: translateY(0); /* Когда меню активно, ставим его под шапку */
    background-color: rgba(0, 0, 0, .8);
  }
  
  .nav ul {
     grid-auto-flow: row; /* Раскладываем меню рядами */
     grid-auto-rows: max-content;
     row-gap: 5px;
     margin-left: 0;
     height: auto;
  }
  .nav ul li {
     height: auto;
  }
  .nav__item a {
    padding: 0;
  }
}