.main--container {
	display: table;
	width: 100vw;
	padding: 100px 0 100px;
	box-sizing: border-box;
	background: var(--biruza-lite);
	background-size: cover !important;
	position: relative;
}
.main--container.small{
	padding: 20px 0 20px;
}
.main--subcontainer{
	position: absolute;
	/*z-index: -1;*/
	top: 0;
	display: table;
	width: 100%;
	height: 100%;
	-webkit-filter: blur(5px);
	backdrop-filter: blur(5px);
	filter: blur(5px);
	background: rgba(255, 255, 255, 0.2);
}
.base{
	max-width: 1160px;
	margin: 0 auto;
	width: 80%;
	box-sizing: border-box;
}

.base .player iframe{
	/*margin: 0 auto;
	display: block;*/
	display: flex;
	justify-content: center;
	width: 100%;
	height: auto;
	min-height: 600px;
}

.sm--head {
	padding: 30px;
}
.sm--head .head--container {
	max-width: 1160px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 2fr 10fr;
	grid-gap: 0;
}
.sm--head .logo {
	max-width: 260px;
	height: 85px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 30px;
}
.sm--head .head--title{
	font-size: 3.0em;
	font-weight: bolder;
	color: var(--gray-darkblue);
	padding-top: 15px;
}

.sm--foot{
	display: table;
	width: 100vw;
	padding: 20px 0 20px;
	background: #ECEFF1;
	text-align: center;
}
.sm--foot .sm--contacts{
	max-width: 1160px;
	margin: 0 auto;
}
.sm--contact{
	display: inline-block;
	padding: 10px;
	border-right: 1px solid var(--gray);
}
.sm--contact:last-child{
	border: 0;
}

.slider {
	margin: 0 auto;
	display: grid;
	grid-template-columns: 50px auto 50px;
	grid-template-rows: 1fr;
	grid-gap: 0;
}
.swiper-container{
	width: 100%;
	height: 90px;
}
.swiper-wrapper {
	/*width: 100% !important;*/
}
.slider-button{
	margin-top: 10px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	line-height: 50px;
	text-align: center;
	color: var(--gray-dark);
	cursor: pointer;
	transition         : all 500ms ease;
	-webkit-transition : all 500ms ease;
	-moz-transition    : all 500ms ease;
}
.slider-button:hover{
	background: var(--blue);
	color: var(--white);
}

.sponsor--logos {
	max-width: 1160px;
	width: 80%;
	margin: 0 auto;
	overflow: hidden;
	height: 80px;
}
.sponsor--thumb {
	display: inline-block;
	/*width: 160px;*/
	height: 80px;
	margin: 0 20px;
}

.slider-body{
	text-align: center;
}

.stream--block{
	display: grid;
	grid-template-columns: 3fr 2fr;
	grid-gap: 2px;
	color: var(--white);
}
.stream--program{
	max-height: 370px;
	/*max-height: 99% !important;*/
	overflow-y: auto;
	line-height: 1.1em;
	padding: 2px;
}
.time--block{
	background: var(--gray-darkblue);
	border: 1px solid var(--gray-darkblue);
	border-radius: 5px;
	padding: 5px;
	margin-bottom: 5px;
}
.time--block .text{
	padding: 5px 10px;
}
.stream--video{
	display: block;
	width: 100%;
	/*width: 95%;
	min-height: 500px;*/
	border: 2px solid transparent;
	background: transparent;
	box-sizing: border-box;
	/*border-radius: 15px;*/
}
.stream--video path{
	/*fill: transparent !important;*/
	stroke: transparent !important;
}

.stream--title h1{
	background: rgba(0,0,0,0.4);
	padding: 10px;
	display: inline;
	line-height: 2.0em;
}
.stream--title .content{
	background: rgba(0,0,0,0.4);
	padding: 10px;
}

.settings{
	display: block;
	position: fixed;
	top:50px;
	right: 50px;
	width: 50px;
	height: 50px;
	font-size: 2.0em;
	z-index : 100;
}
.settings.control{
	top: 20px;
	right: 10px;
	color: var(--white) !important;
	font-size: 1.4em;
}
.settings.control a{
	color: var(--white) !important;
}

.room--container{
	display: block;
	overflow: hidden;
	max-width: 1160px;
	width: 80%;
	height: 100px;
	margin: 0 auto;
	margin-top: 30px;
}
.rooms{
	overflow: hidden;
	display: table;
}
.room{
	display: inline-block;
	width: 200px !important;
	height: 100%;
	background-size: cover;
	margin: 0 10px 0 0;
	border: 2px solid var(--white);
	background: var(--gray-darkblue);
	box-sizing: border-box;
	text-align: center;
	font-size: 3.0em;
	line-height: 100px;
	color: var(--white);
}
.swiper-wrapper.rooms {
	width: 100% !important;
}

.room--block{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	/*grid-template-rows: 1fr;*/
	grid-gap: 10px;
	max-width: 1160px;
	width: 80%;
	margin: 0 auto;
}
.xroom{
	display: table;
	background: var(--gray-sub);
	border: 2px solid var(--gray-soft);
	border-radius: 5px;
	padding: 0;
	cursor: pointer;
}
.xroom .thumb{
	display: table;
	width: 100% !important;
	height: 160px;
	margin: 0;
	background: var(--gray);
	box-sizing: border-box;
	background-size: cover !important;
	padding: 10px;
	position: relative;
	border-radius: 5px;
}
.xroom .anonce{
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	padding: 5px 10px;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.45em;
	color: var(--white);
	background: rgba(0,0,0,0.7);
	text-align: right;
	position: absolute;
	bottom: 5px;
	left: 0;
}

.questions{
	display: grid;
	grid-template-columns: 2fr 3fr;
	grid-gap: 10px;
	padding: 20px 10px;
	box-sizing: border-box;
}
.questions--form{
	background: var(--gray-soft);
	padding: 20px 10px;
	border-radius: 5px;
}
.questions--chat{
	/*padding: 20px 10px;*/
	overflow-y: auto;
	max-height: 30vw;
}
.chat--message{
	border: 1px solid var(--gray-soft);
	background: var(--gray-soft);
	margin: 0 10px 10px 10px;
	padding: 10px;
	border-radius: 5px;
}
.chat--message .author{
}
.chat--message .text{
	line-height: 1.2em;
}
.chat--message .voting{
	cursor: pointer;
	color: var(--gray-darkblue)
}
.chat--message .voting:hover{
	color: var(--green);
}

.xtabs{
	position: absolute;
	top: calc(-20px - 3.15em);
	line-height: 2.0em;
}
.xtab{
	display: inline-block;
	padding: 5px 15px;
	background: var(--gray);
	line-height: 2.0em;
	font-size: 1.2em;
	font-weight: bold;
}
.xtab:hover,
.xtab.current{
	background: var(--orange);
}

.xhalls{

}
.xhall{
	display: grid;
	grid-template-columns: 80px auto;
	grid-gap: 5px;
	margin-bottom: 10px;
	padding: 10px;
	border-radius: 5px;
	cursor: pointer;
}
.xhall:hover{
	background: rgba(0,0,0,0.4);
}
.xhall.current{
	background: rgba(0,0,0,0.4);
	cursor: auto;
}
.xhall .hall--poster{
	border: 2px solid var(--white);
	border-radius: 100px;
	background-size: cover !important;
	width: 50px;
	height: 50px;
}

.speakerhall{
	display: grid;
	grid-template-columns: 120px 100px 80px auto 120px 50px 120px;
	grid-gap: 10px;
	padding: 10px;
	border-radius: 5px;
}

.program,
a.program{
	padding: 10px 20px !important;
	color: var(--white);
	border: 1px dotted var(--white);
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.3);
	width: max-content;
	font-size: 1.3em !important;
	font-weight: bold;
	display: inline-block;
	margin-bottom: 5px;
}
.program:hover,
a.program:hover{
	background: var(--white);
	color: var(--black);
}
.program:active,
a.program:active{
	background: var(--orange-lite);
	color: var(--black);
}
.program i,
a.program i{
	font-size: 1.3em;
	line-height: inherit;
}

.avatar--block{
	display: grid;
	grid-template-columns: 40px max-content 40px;
	position: fixed;
	top: 0;
	right: 0;
	border: 1px solid var(--gray-lite);
	background: var(--gray);
	border-radius: 0 0 0 10px;
	padding: 5px 10px;
	cursor: pointer;
	z-index : 100;
}
.avatar--block .useravatar{
	width: 20px;
	height: 20px;
	border: 1px solid var(--gray-dark);
	border-radius: 50%;
	background: url("/assets/images/noavatar.webp");
	background-size: cover !important;
	margin-top: 5px;
}
.avatar--block .username{
	line-height: 30px;
	padding-right: 20px;
}
.avatar--block .popblock-item{
	font-size: 1.3em;
	padding: 10px;
}

.avatar {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: url("/assets/images/noavatar.png");
	background-size: cover !important;
}
.avatar.mini{
	width: 50px;
	height: 50px;
}
.avatar.medium{
	width: 150px;
	height: 150px;
}
.avatar.big {
	width: 300px;
	height: 300px;
}

.profile--form{
	max-width: 1160px;
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns : 6fr 5fr;
	grid-gap              : 0;
}
.profile--inputs{
	padding-right: 20px;
}

.profile--cards{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}
.profile--card{
	border: 1px solid var(--gray-soft);
	background: var(--gray-soft);
	padding: 10px;
	border-radius: 10px;
	box-shadow         : 1px 0 3px 0 rgba(50, 50, 50, 0.3);
	cursor: pointer;
}
.profile--card:hover{
	background: var(--biruza-lite);
}

.schedule-slot.active{
	background: var(--orange-sublite) !important;
	border: 1px solid var(--orange-lite) !important;
}

#subwindow .header li {
	line-height: 30px;
	height: 30px;
	font-size: 0.9em;
}

.blink {
	-webkit-animation: blinker 1s linear infinite;
	animation: blinker 1s linear infinite;
}

div[data-block="program"]{
	font-size: 1.2em;
}
.program--halls{
	box-shadow: 0 0 0 0 transparent !important;
	font-weight: bold;
	z-index: 2 !important;
	gap: 5px;
}
.hall-item{
	padding: 10px;
	background: var(--gray-lite);
	border: 1px solid var(--gray-dark);
	border-radius: 5px;
	cursor: pointer;
}
body.night .hall-item{
	padding: 10px;
	background: var(--gray-darkblue);
	border: 1px solid var(--gray-darkblue);
	border-radius: 5px;
	cursor: pointer;
}
.program--slot{
	display: grid;
	grid-template-columns: 10% auto;
	margin-bottom: 20px;
}

.archive--halls{
	top: 50px !important;
}
.archive-item{
	background: var(--orange-dark);
}
body.night .archive-item{
	background: var(--indigo);
}

.player.mx-auto div{
	margin: 0 auto !important;
}

@media (max-width: 767px) {

	.base {
		width: 100%;
		padding: 10px;
	}

	.base div{
		box-sizing: border-box;
		/*margin: 0 auto;*/
	}

	.settings {
		display: none;
	}

	.main--container {
		padding: 30px 0 30px;
	}

	.sm--head {
		padding: 10px;
		margin-top: 10px;
	}
	.sm--head .head--title{
		font-size: 2.0em;
	}
	.sm--foot{
		padding: 5px 0 5px;
		height: 20px;
		position: fixed;
		bottom: 0;
		z-index: 10;
	}
	.sm--contact{
		padding: 5px;
	}

	.sponsor--logos {
		width: 98%;
		height: 60px;
	}
	.sponsor--thumb {
		display: inline-block;
		width: 50%;
		height: 60px;
		margin: initial;
	}

	.slider {
		grid-template-columns: 5px auto 5px;
	}

	.sm--head .head--container {
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-gap: 0;
		text-align: center;
	}
	.sm--head .head--title{
		font-size: 0.9rem;
	}
	.stream--title .content {
		line-height: 1.3rem;
	}
	.sm--head .logo {
		max-width: unset;
		max-height: 50px;
		background-size: contain;
		background-repeat: no-repeat;
		margin: 0 auto;
		background-position: center center;
	}

	.swiper-container{
		margin-bottom: 50px;
	}
	.slider {
		grid-template-columns: 10px auto 10px;
	}
	.swiper-container{
		width: 100%;
		height: 60px;
	}

	.main--container.small {
		padding: 10px 0 20px;
	}

	.stream--block{
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 10px;
		color: var(--white);
	}
	.stream--video {
		display: block;
		width: 98%;
	}
	.stream--title h1{
		font-size: 2.1rem;
		line-height: 4rem;
		margin: 5px 0;
		padding: 10px;
	}
	.stream--program{
		padding: 0;
	}

	.questions{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-gap: 10px;
		padding: 20px 10px;
		box-sizing: border-box;
	}

	.questions--chat{
		max-height: 400px;
	}

	.room--block {
		grid-template-columns: 1fr;
		width: 94%;
	}

	.speakers {
		grid-template-columns: repeat(2, 1fr);
	}
	.speaker--avatar {
		display: block;
		margin: 0 auto;
		width: 80px !important;
		height: 80px;
		border-radius: 100px;
		background-size: cover !important;
	}

	.xtabs{
		position: initial;
		line-height: 1.5em;
		text-align: center;
	}
	.xtab{
		display: inline-block;
		padding: 10px;
		line-height: 1.5em;
		font-size: 1.1em;
		margin-bottom: 5px !important;
		border-radius: 5px;
	}

	.program{
		margin: 0 auto;
	}

	.profile--title{
		text-align: center;
	}
	.profile--form{
		grid-template-columns : 1fr;
		grid-gap              : 0;
	}
	.profile--inputs{
		padding-right: 0;
	}
	.profile--buttons{
		padding: 10px;
	}

	.avatar--block{
		grid-template-columns: 20px 10px 30px;
		position: fixed;
		z-index: 10;
	}
	.avatar--block .popblock-menu{
		width: 60vw !important;
	}

	#subwindow .header li {
		line-height: 20px;
	}

	.speakerhall{
		display: block;
		padding: 10px;
		border-radius: 5px;
	}

	.main--body h1{
		padding: 0;
		margin : 0;
	}

	.flex-container[data-block="speakerhallForm"] {
		display: grid !important;
		grid-template-columns: 40% 40% auto;
		grid-gap: 10px;
		padding: 0;
		background: var(--gray-darkblue);
	}
	.flex-container[data-block="speakerhallForm"] .wp30{
		width: initial !important;
	}
	.flex-container[data-block="speakerhallForm"] .wp95{
		width: 99% !important;
	}
	.flex-container[data-block="speakerhallForm"] .button {
		padding: 11px 15px !important;
	}
	.flex-container[data-block="speakerhallForm"] .flex-string:last-child{
		text-align: left !important;
	}

	.base[data-block="speakerhall"]{
		width: 100%;
		padding: 0;
	}

	select:focus {
		background: var(--biruza) !important;
		color: var(--black);
	}

	.profile--cards {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.card--text{
		overflow-wrap   : break-word;
		word-wrap       : break-word;
		word-break      : normal;
		line-break      : auto;
		-webkit-hyphens : auto;
		-ms-hyphens     : auto;
		hyphens         : auto;
		white-space     : normal;
		width           : 99%;
	}

	div[data-block="program"]{
		font-size: 1.0em;
	}
	.program--halls{
		top: 50px !important;
	}
	.hallname{
		padding: 5px;
		border-radius: 5px;
		/*background: var(--gray-lite);
		color: var(--black);*/
	}
	body.night .hallname{
		background: var(--black);
		color: var(--white);
	}
	.program--slot{
		grid-template-columns: 20% auto;
		margin-bottom: 10px;
	}
	.hall-item{
		padding: 10px;
		/*background: var(--gray-soft);
		border: 1px solid var(--gray-dark);*/
		border-radius: 5px;
		cursor: pointer;
	}

}

@media (min-width: 768px) and (max-width: 1200px){

	.sm--foot{
		padding: 10px 0 10px;
		height: 30px;
		position: fixed;
		bottom: 0;
		z-index: 10;
		text-align: center;
	}

}