html {
	font-size: calc(156px + (360 - 156) * (100vw - 320px) / (640 - 320));
}

@media only screen and (min-width: 320px) {
	html {
		font-size: calc(156px + (360 - 156) * (100vw - 320px) / (640 - 320));
	}
}
@media only screen and (min-width: 640px) {
	html {
		font-size: 360px;
	}
}
.vicon--small {
	font-size: 16px;
	color: #006697;
}
.fm_menu_holder {
	box-shadow: 0 3px 10px rgba(0,0,0,.1);
	padding: 20px;
	margin-bottom: 30px;
	position: relative;
}
.fm_menu {
	display: none;
}
.fm_menu--active {
	display: block;
}
.fm_menu__burger {
	font: 15px/1 Arial, sans-serif;
	color: #666;
}
.fm_menu__item {
	margin-bottom: 20px;
	font: 15px/1 Arial, sans-serif;
	color: #666;
}
.fm_menu__item:last-child {
	margin-bottom: 0;
}
.fm_menu__item a,
.fm_menu__burger a{
	color: inherit;
}
.fm_menu__item a:hover,
.fm_menu__item a:focus,
.fm_menu__burger a:hover,
.fm_menu__burger a:focus {
	color: #000;
}
.fm_menu__name {
	display: inline-block;
	vertical-align: middle;
}
.fm_menu .vicon--small {
	margin-right: 8px;
}
.fm_menu__burger .vicon {
	position: absolute;
	right: 15px;
	margin-right: 0;
}
.fm_radio {
	position: relative;
	box-shadow: 0 3px 10px rgba(0,0,0,.1);
	padding: 22px 0;
	margin-bottom: 30px;
}
.fm_radio__header {
	display: inline-block;
	text-align: left;
	margin-left: 120px;
	margin-bottom: 30px;
}
.fm_radio--error .fm_radio__header {
	margin-top: 100px;
	margin-bottom: 130px;
}
.fm_radio--error .fm_broadcast,
.fm_radio--error .fm_schedule,
.fm_radio--error .fm_radio__current {
	display: none;
}
.fm_radio--error .fm_radio__error_text {
	display: block;
}
.fm_broadcast {
	position: relative;
	text-align: left;
	padding: 0 25px;
}
.fm_broadcast--loading {
	background: #fff url('http://im.kommersant.ru/CorpImages/Custom/fm/ajax-loader.gif') no-repeat 50% 68%;
}
.fm_radio__image {
	width: 136px;
	height: 136px;
	display: inline-block;
	vertical-align: top;
}
.fm_radio__image img {
	max-width: 100%;
}
.fm_radio__player {
	display: inline-block;
	margin: 20px 0 0 30px;
}
.fm_radio__text {
	font: 20px/1 Georgia, serif;
	color: #333;
	margin: 5px 0 20px;
}
.fm_radio__error_text {
	font: 16px/1.2 Georgia, serif;
	color: #282828;
	margin: 5px 0 20px;
	/* min-height: 140px; */
	display: none;
}
.fm_radio__play_button {
	display: inline-block;
	background-color: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	margin-left: -4px;
}
.fm_radio__play_button svg {
	width: 100%;
	height: 100%;
	fill: #2268a2;
}
.fm_radio__logo svg {
	width: 1rem;
	font-size: calc(1rem / 12);
}
.fm_radio__current {
	color: #2268a2;
	display: inline-block;
}
.fm_radio__time_zone {
	font: 12px/32px Arial, sans-serif;
	vertical-align: middle;
}
.fm_radio__time {
	font: 18px/32px Arial, sans-serif;
	vertical-align: middle;
}
.fm_broadcast__text_holder {
	margin-bottom: 7px;
	height: 12px;
}
.fm_broadcast__text {
	color: #666;
	font: 12px/1 Arial, sans-serif;
}
.fm_broadcast--loading .fm_broadcast__text {
	visibility: hidden;
}
.fm_broadcast__button {
	position: absolute;
	background-color: #2268a2;
	height: 42px;
	width: 42px;
	vertical-align: middle;
	border: 0;
	cursor: pointer;
	top: 2px;
}
.fm_broadcast--loading .fm_broadcast__button,
.fm_broadcast__button--disabled {
	background-color: #ccc;
	cursor: default;
}
.fm_broadcast__nav {
	position: absolute;
	width: 60px;
	height: 49px;
	background-color: #fff;
	top: 0;
}
.fm_broadcast__nav--prev {
	width: 60px;
	height: 49px;
	background-color: #fff;
	top: 0;
	left: 0;
}
.fm_broadcast__nav--next {
	width: 60px;
	height: 49px;
	background-color: #fff;
	top: 0;
	right: 0;
}
.fm_broadcast__button .vicon {
	color: #fff;
}
.fm_broadcast__nav--prev .fm_broadcast__button {
	left: 2px;
	transform: rotate(90deg);
}
.fm_broadcast__nav--next .fm_broadcast__button {
	right: 2px;
	transform: rotate(270deg);
}
.fm_broadcast__runner_holder {
	position: relative;
	width: 100%;
	height: 50px;
	padding: 2px 60px 0;
	box-sizing: border-box;
	overflow: hidden;
}
.fm_broadcast__date {
	color: #666;
	font: 12px/1 Arial, sans-serif;
	margin-top: 4px;
}
.fm_broadcast--loading .fm_broadcast__date {
	visibility: hidden;
}
.fm_runner {
	position: relative;
	padding: 0 0 2px;
	box-sizing: border-box;
	overflow: hidden;
}
.fm_broadcast--loading .fm_runner {
	visibility: hidden;
}
.fm_runner__timeline {
	position: relative;
	border-bottom: 1px solid #666;
	white-space: nowrap;
}
.fm_runner__timeline_item {
	color: #666;
	font: 14px/26px Arial, sans-serif;
	box-sizing: border-box;
	display: inline-block;
	width: 40px;
	padding: 0 12px;
}
.fm_runner__timeline_item--disabled {
	color: #ccc;
}
.fm_runner__timeline_item--minutes {
	font-size: 11px;
}
.fm_runner__timeline_item--minutes:before {
	content: '\0027';
}
.fm_runner__timeline_item--ellipsis:before {
	content: '\2026';
}
.fm_runner__schedule {
	position: absolute;
	white-space: nowrap;
	top: 0;
	height: 100%;
	font: 0/0 a;
}
.fm_runner__schedule_item {
	width: 100px;
	height: 100%;
	display: inline-block;
	border: 2px solid #dadada;
	border-left-width: 1px;
	border-right-width: 1px;
	box-sizing: border-box;
	cursor: pointer;
}
.fm_runner__schedule_item:first-child {
	border-left-width: 2px;
}
.fm_runner__schedule_item:last-child {
	border-right-width: 2px;
}
.fm_runner__schedule_item--current {
	border-color: #333;
	border-left-width: 2px;
	border-right-width: 2px;
	margin-left: -2px;
}
.fm_runner__schedule_item--disabled {
	width: 40px;
	border: none;
	cursor: default;
}
.fm_runner__now {
	position: absolute;
	top: 0;
	bottom: -1px;
	width: 3px;
	height: 100%;
	background-color: rgba(203,0,0,.7);
}
.fm_schedule {
	margin-top: 40px;
	font: 0/0 a;
	text-align: left;
	position: relative;
	min-height: 140px;
}
.fm_schedule__item {
	position: relative;
	margin-bottom: 5px;
	padding: 6px 25px;
	min-height: 30px;
	border: 2px solid #fff;
	box-sizing: border-box;
}
.fm_schedule__item.fm_schedule__item--current {
	min-height: 36px;
}
.fm_schedule__item:hover {
	border-color: #dadada;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}
.fm_schedule__item.fm_schedule__item--current:hover {
	border-color: #fff;
}
.fm_schedule__item .vicon--play {
	height: 20px;
	font-size: 11px;
	background-color: #2268a2;
	fill: #fff;
	padding: 4px;
	box-sizing: border-box;
	display: none;
	border-radius: 2px;
	vertical-align: top;
}

.fm_schedule__item:hover .vicon--play {
	display: inline-block;
	margin-right: 14px;
	cursor: pointer;
}
.fm_schedule__item.fm_schedule__item--current:hover .vicon--play {
	display: none;
}
.fm_schedule__item.fm_schedule__item--empty {
	position: absolute;
	bottom: 0;
	min-height: 24px !important;
	margin-bottom: 0;
	padding: 0 15px;
	border: 0;
}
.fm_schedule__item_time,
.fm_schedule__item_name {
	color: #333;
	font: 14px/1.4286 Arial, sans-serif;
}

.fm_schedule__item_name a {
	color: #333;
}
.fm_schedule__item_name a:hover {
	color: #2268a2;
	text-decoration: underline;
}
.fm_schedule__item--current .fm_schedule__item_time {
	color: #cb0000;
	line-height: 24px;
}
.fm_schedule__item_name {
	display: inline-block;
	padding-left: 14px;
}
.fm_schedule__item--current .fm_schedule__item_name {
	font: 18px/24px Arial, sans-serif;
}
.fm_schedule__all {
	color: #2268a2;
	font: 12px/1.4 Arial, sans-serif;
	border-bottom: 1px dashed #2268a2;
	display: inline-block;
	margin: 30px 0 0 25px;
}
.fm_schedule__all:hover {
	cursor:  pointer;
}
.fm_schedule__switch {
	position: absolute;
	bottom: 22px;
	right: 23px;
	display: inline-block;
	color: #7e7e7e;
	height: 20px;
}
.fm_schedule__switch_text {
	font: bold 14px/1.4286 Arial, sans-serif;
	text-transform: uppercase;
	vertical-align: top;
}
.fm_schedule__switch .vicon {
	height: 20px;
	font-size: 12px;
	background-color: #fff;
	fill: #7e7e7e;
	padding: 3px 2px 3px 4px;
	box-sizing: border-box;
	border-radius: 2px;
	border: 1px solid #7e7e7e;
	vertical-align: top;
	margin-left: 6px;
}
.fm_schedule__switch:hover .vicon {
	fill: #2268a2;
	border-color: #2268a2;
}
.fm_schedule__switch .icon {
	vertical-align: top;
	margin-top: -5px;
}
.fm_schedule__item--empty ~ .fm_schedule__all {
	display: none;
}
.fm_opinion__holder,
.fm_article__holder {
	font: 0/0 a;
}
.fm_opinion {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	box-sizing: border-box;
	margin-bottom: 40px;
}
.fm_opinion:nth-child(2n-1) {
	padding-right: 15px;
}
.fm_opinion:nth-child(2n) {
	padding-left: 15px;
}
.fm_article {
	display: inline-block;
	width: 270px;
	vertical-align: top;
	margin-right: 30px;
	box-sizing: border-box;
	margin-bottom: 40px;
}
.fm_article:nth-child(3n) {
	margin-right: 0;
}
.fm_article__picture {
	margin-bottom: 3px;
}
.fm_article__picture img {
	display: block;
	width: 100%;
	height: auto;
}
.fm_article__rubric {
	border-bottom: 1px solid #c2c2c2;
	margin-bottom: 10px;
}
.fm_article__rubric_name {
	font: 12px/3 Arial, sans-serif;
	vertical-align: middle;
	padding-left: 6px;
}
.fm_article__title {
	font: 16px/1 Georgia, serif;
	padding-left: 22px;
	margin-bottom: 2px;
}
.fm_article__title a {
	color: #333;
}
.fm_article__author {
	font: 12px/1.3333 Arial, sans-serif;
	padding-left: 22px;
	margin-bottom: 10px;
}
.fm_article__author a {
	color: #999;
}
.fm_article__text {
	font: 14px/1.4 Arial, sans-serif;
}
.fm_article__text a {
	color: #666;
}
.fm_opinion .fm_article__picture {
	width: 84px;
	height: 105px;
	float: left;
	background-color: #fff;
	margin-right: 22px;
	border-bottom: 1px solid #bcbcbc;
}
.fm_opinion .fm_article__rubric .vicon {
	margin-left: -22px;
}

.fm_video {
	position: relative;
	height: 0;
	width: 240px;
	margin-bottom: 30px;
	padding-top: 56.25%;
}
.fm_video iframe,
.fm_video embed,
.fm_video object{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fm_social__list,
.fm_mobile_app {
	font: 0/0 a;
	margin-bottom: 30px;
}
.fm_social__item {
	position: relative;
	margin-bottom: 14px;
	padding-left: 35px;
}
.fm_social__name {
	font: 16px/20px Georgia, serif;
	color: #999;
	display: inline-block;
}
.fm_social__item .vicon {
	color: #c0c0c0;
	font-size: 30px;
	position: absolute;
	left: 0;
	top: -4px;
}

/* 3 column */
@media only screen and (min-width: 980px) {
	.fm_menu {
		display: block;
	}
	.fm_social__item {
		padding-left: 45px;
	}
	.fm_social__item .vicon {
		font-size: 36px;
		left: 5px;
	}
	.fm_social__name {
		font-size: 11px;
		line-height: 1.4;
	}
}
/* 3 column small */
@media only screen and (min-width: 980px) and (max-width: 1199px), not screen {
	.fm_article {
		width: 210px;
	}
	.fm_radio__header {
		margin-left: 25px;
	}
	.fm_radio__player {
		margin-left: 15px;
	}
}
/* 1 & 2 columns */
@media only screen and (max-width: 979px) {
	.fm_menu--active {
		margin-top: 20px;
	}
	.fm_video {
		width: 100%;
		height: auto;
	}
}
/* 2 columns */
@media only screen and (min-width: 480px) and (max-width: 979px) {
	.fm_article {
		width: 50%;
		margin-right: 0;
	}
	.fm_article:nth-child(2n-1) {
		padding-right: 15px;
	}
	.fm_article:nth-child(2n) {
		padding-left: 15px;
	}
	.fm_schedule__item.fm_schedule__item--empty {
		bottom: -1px;
	}
	.fm_schedule__item.fm_schedule__item--empty .fm_schedule__item_time {
		top: 1px;
	}
}
/* 1 column large */
@media only screen and (min-width: 480px) and (max-width: 719px) {
	.fm_radio__header {
		margin-left: 25px;
	}
	.fm_radio__player {
		margin-top: 15px;
	}
}
/* 1 column large */
@media only screen and (min-width: 480px) and (max-width: 639px) {
	/* 	.fm_radio__logo svg {
		width: 240px;
		font-size: 20px;
	} */
	.fm_radio__image {
		width: 105px;
		height: 105px;
	}
	.fm_radio__player {
		margin-top: 15px;
	}
}
/* 1 column */
@media only screen and (max-width: 479px) {
	/* 	.fm_radio__logo svg {
		width: 180px;
		font-size: 15px;
	} */
	.fm_place-menu,
	.fm_radio,
	.fm_opinion__holder,
	.fm_article__holder	{
		margin-left: 15px;
		margin-right: 15px;
	}
	.fm_radio__header {
		margin-left: 15px;
		margin-right: 15px;
	}
	.fm_radio--error .fm_radio__header {
		margin-top: 0;
		margin-bottom: 0;
	}
	.fm_radio__error_text {
		min-height: auto;
	}
	.fm_radio__image {
		width: 74px;
		height: 74px;
	}
	.fm_radio__player {
		width: 60%;
		margin: 10px 0 0 15px;
	}
	.fm_radio__time {
		white-space: nowrap;
	}
	.fm_opinion,
	.fm_article {
		width: 100%;
		margin-right: 0;
		padding: 0;
	}
	.fm_radio__text {
		font-size: 16px;
	}
	.fm_schedule__item {
		padding: 6px 15px;
	}
	.fm_schedule__item.fm_schedule__item--empty {
		padding: 3px 15px;
	}
	.fm_schedule__item_time,
	.fm_schedule__item_name {
		font-size: 12px;
	}
	.fm_schedule__item--current .fm_schedule__item_name {
		font-size: 14px;
	}
	.fm_schedule__item--current .fm_schedule__item_time {
		line-height: 18px;
	}
	.fm_schedule__item.fm_schedule__item--empty {
		bottom: -2px;
	}
	.fm_schedule__item.fm_schedule__item--empty .fm_schedule__item_time {
		top: 4px;
	}

	.fm_broadcast__button {
		position: static;
	}
	.fm_broadcast__nav {
		position: static;
		width: 42px;
		height: 42px;
		display: inline-block;
		margin-top: 6px;
	}
	.fm_broadcast__button--prev {
		margin-left: 36px;
	}
	.fm_broadcast__date {
		position: absolute;
		right: 0;
		top: 0;
		margin-top: 0;
	}
	.fm_video_nest {
		padding: 0 15px;
	}
	.fm_broadcast__runner_holder {
		padding: 0;
	}
	.fm_radio__play_button {
		width: 20px;
		height: 20px;
	}
	.fm_schedule__all {
		margin-left: 15px;
	}
	.fm_schedule__item--empty .fm_schedule__item_name {
		padding-left: 74px;
	}
	.fm_radio__text {
		margin-bottom: 10px;
	}
}
/* 1 column small */
@media only screen and (max-width: 399px) {
	.fm_schedule__switch {
		position: static;
		margin-left: 15px;
		margin-top: 15px;
	}
	.fm_schedule__switch .vicon,
	.fm_schedule__switch .icon {
		float: left;
		margin-left: 0;
		margin-right: 6px;
	}
}
/* 1 column small */
@media only screen and (max-width: 319px) {
	/* 	.fm_radio__logo svg {
		width: 150px;
		font-size: 12.5px;
	} */
	.fm_radio__player {
		margin-left: 5px;
	}
	.fm_radio__image {
		margin-bottom: 10px;
	}
	.fm_radio {
		text-align: left;
	}
}
