body {
	font-family: 'Montserrat', sans-serif;
    /*font-family: 'Source Sans Pro', sans-serif;*/
	font-size: 14px;
	line-height: 1.5;
	min-width: 980px;
	overflow-x: hidden;
	overflow-y: hidden;
}

@font-face {
  font-family: "linecons";
  src: url('fonts/linecons.eot');
  src: url('fonts/linecons.eot?#iefix') format('eot'), 
    url('fonts/linecons.woff') format('woff'), 
    url('fonts/linecons.ttf') format('truetype'), 
    url('fonts/linecons.svg#linecons') format('svg');
  font-weight: normal;
  font-style: normal;
}
h2,
h3 {
	font-weight: 300;
}
a {
    color: #d30000;
}
a:hover {
    color: #000;
}
a,
a img,
a:before,
a:after {
	-webkit-transition: color 0.2s, border-color 0.2s, opacity 0.2s, background 0.2s, background-size 0.2s, box-shadow 0.2s;
	transition: color 0.2s, border-color 0.2s, opacity 0.2s, background 0.2s, background-size 0.2s, box-shadow 0.2s;
}

.pxline {
    height: 1px;
    width: 100%;
    background-color: #fff;
    color: #fff;
    opacity: 0.1;
    position: relative;
    top: 30px;
    z-index: 1;
}
hr.cleanit {
    visibility: hidden;
    clear: both;
    margin-bottom: 20px;
}
div.cara {
    clear: both;
    width: 940px;
    height: 1px;
    background-color: #cccccc;
    margin-top: 40px;
    margin-left: 10px;
}

/* Colors */
.red {
	color: #d30000;
}
.yellow {
	color: #f6c000;
}

/* Sticky header */
#sticky_aside {
	z-index: 990;
}
#sticky_aside > div {
	z-index: 990;
}
.sticky {
	position: fixed;
	z-index: 990;
}

.section-wrap {
    position: relative;
    margin: 0 auto;
	width: 100%;
    max-width: 1140px;
	box-sizing: border-box;
	padding: 0 10px;
}

 /* Buttons */
.action-button {
	position: relative;
	display: inline-block;
	height: 50px;
	line-height: 50px;
	padding: 0 40px;
	background-color: #1e2022;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0px 5px 10px rgba(0,0,0,0);
}
.action-button:hover {
	color: #fff;
	box-shadow: 0px 5px 20px rgba(0,0,0,0.3);
}

.action-button.red-button {
	background-color: #d30000;
}
.action-button.red-button:hover {
	color: #000;
	background-color: #f6c000;
}

.action-button.yellow-button {
	background-color: #f6c000;
}
.action-button.yellow-button:hover {
	background-color: #039be5;
}

.action-button.stroke-button {
	height: 38px;
	line-height: 38px;
	background: none;
	border: 1px solid rgba(0,0,0,0.3);
	color: #000;
}
.action-button.stroke-button:hover {
	background: none;
	color: #ec1b24;
	border-color: #ec1b24;
}

.buttons_container .action-button {
	margin: 0 20px;
}

/* ---------- Header ---------- */
.header {
    width: 100%;
    height: 110px;
	background-color: #fff;
}
.header_in {
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.header_in > div {
	position: relative;
	box-sizing: border-box;
    -webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}
.header-logo {
	display: table;
	background-color: #fff;
	z-index: 10;
}
.header-logo a {
	display: table-cell;
	width: 100%;
	height: 110px;
	vertical-align: middle;
}
.header-logo a:hover {
	opacity: 0.85;
}
.header-logo a img {
	margin-right: 30px;
	height: 90px;
}

.header-center {
	width: 30%;
	color: #858b8e;
}
.header-center-1,
.header-center-2 {
	width: 25%;
	color: #858b8e;
	font-size: 12px;
	padding-right: 20px;
}
.header-center-2 {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
    -ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.header-center-2 img {
    height: 50px;
}

.header-right {
	width: 25%;
}

.site-search {
	padding-left: 25px;
	text-align: right;
}
.search-form input[type="text"] {
	box-sizing: border-box;
	width: 240px;
	height: 40px;
	padding: 0 50px 0 10px;
	border: 1px solid rgba(157,184,197,0.3);
	border-radius: 4px;
	background: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: #000;
	transition: border 0.2s, width 0.3s;
}
.search-form input[type="text"]:hover,
.search-form input[type="text"]:focus {
	border-color: #d30000;
}
.search-form input[type="text"]:focus {
	width: 100%;
}
.search-form input[type="submit"] {
	position: absolute;
	top: 0;
	right: 0;
	height: 40px;
	width: 40px;
	border: 0;
	background: url(img/svg/icon_search.svg) 50% 50% no-repeat;
	cursor: pointer;
	transition: background 0.2s;
}
.search-form:hover input[type="submit"]:hover,
.search-form:focus input[type="submit"]:hover {
	background-image: url(img/svg/icon_search_red.svg);
}

/* Header Menu */
.header-bottom {
    position: relative;
	width: 100%;
	height: 60px;
	background-color: #fff;
	border-top: 1px solid rgba(157,184,197,0.3);
	box-shadow: 0 5px 17px 0 rgba(0,0,0,.03);
}

/* ----- Menu ----- */
.header-menu {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
}
.header-menu_item {
	display: block;
	box-sizing: border-box;
	padding: 0 0;
	line-height: 60px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	color: #101115;
}
.header-menu_item:hover {
	color: #d30000;
}

/* ---------- Main dropdown ---------- */
.menu-dropdown_title {
	position: relative;
	display: block;
	box-sizing: border-box;
	line-height: 60px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	color: #101115;
}
.menu-dropdown_title:hover {
	color: #d30000;
}
.menu-dropdown_title:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -4px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	opacity: 0;
	transition: opacity 0.1s 0.3s, bottom 0.1s 0.5s;
	z-index: 30;
}
.menu-dropdown:hover .menu-dropdown_title:before,
.menu-dropdown.__active .menu-dropdown_title:before {
	bottom: -7px;
	opacity: 1;
}
.menu-dropdown.__active .menu-dropdown_title {
	color: #d30000;
}
.menu-dropdown.__active .menu-dropdown_body,
.menu-dropdown:hover .menu-dropdown_body {
	top: 100%;
	opacity: 1;
	visibility: visible;
}
.menu-dropdown_body {
	position: absolute;
	top: 110%;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, top 0.3s;
	text-align: left;
	padding: 30px 0;
	z-index: 10;
}
.menu-dropdown_body:before {
	content: '';
	position: absolute;
	top: 0;
	left: -50%;
	right: -50%;
	height: 100%;
	background-color: #d30000;
	box-shadow: 0 20px 50px rgba(0,0,0,0.2);
	/*background: url(img/svg/pattern_01.svg);
	opacity: 0.5;*/
	z-index: 5;
}
.menu-dropdown_body .section-wrap {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: flex-start;
    -ms-flex-pack: start;
	justify-content: flex-start;
	z-index: 10;
}

.menu-dropdown_item {
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 50%;
	line-height: 30px;
}
.menu-dropdown_item a {
	display: inline-block;
	position: relative;
	padding: 10px 40px 10px 0;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	transition: color 0.2s, padding 0.2s;
}
.menu-dropdown_item a:hover {
	color: #fff;
	padding-left: 5px;
}
.menu-dropdown_item a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -16px;
	width: 32px;
	height: 32px;
	background: url(img/svg/arrow_long_right.svg) 50% 50% no-repeat;
	opacity: 0;
	transition: opacity 0.2s;
}
.menu-dropdown_item a:hover:after {
	opacity: 1;
}

/* ---------- Main part (slider) ---------- */
.main-slider {
	position: relative;
    width: 100%;
    height: 600px;
	background: url('img/main_img_1.jpg') no-repeat 50% 0 #000;
	margin-bottom: 115px;
}
.main-slider:before,
.main-slider:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1;
}
.main-slider:before {
	background-image: linear-gradient(to bottom, rgba(41,93,139,0.4), rgba(63,74,77,0.4));
	background-repeat: repeat-x;
}
.main-slider:after {
	/*background-color: rgba(0,0,0,0.2);*/
	background-image: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.6));
	background-repeat: repeat-x;
}
.main-slider_in {
	z-index: 2;
}
.main-slider_in h1 {
    padding-top: 5rem;
    font-size: 48px;
    font-weight: 500;
    text-align: left;
    color: #fff;
}

.main-cols {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
	margin: 2rem 0;
}
.main-cols_item {
	box-sizing: border-box;
	width: 32%;
	padding-right: 5%;
	color: #fff;
	font-size: 16px;
	line-height: 26px;
}
.main-cols_item .icon {
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	transition: transform 0.2s;
}
.main-cols_item .icon img {
	width: 100%;
}
.main-cols_item:hover .icon {
	transform: translateY(-5px);
}

.main-blocks {
	position: absolute;
	bottom: -90px;
	left: 0;
	width: 100%;
	z-index: 10;
}
.main-blocks .section-wrap {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
}
.main-blocks_item {
	position: relative;
	box-sizing: border-box;
	width: 32%;
	height: 310px;
	padding: 30px;
	overflow: hidden;
	background-color: #fff;
	box-shadow:
		0 5px 10px rgba(0,0,0,0.0),
		0 20px 50px rgba(0,0,0,0.1);
	transition: box-shadow 0.3s, margin 0.3s;
    will-change: box-shadow, margin;
}
.main-blocks_item:not(:last-child) {
	margin-right: 20px;
}
.main-blocks_item:hover {
	/*margin-top: -10px;*/
	box-shadow:
		0 5px 10px rgba(0,0,0,0.05),
		0 20px 50px rgba(0,0,0,0.15);
}
.main-blocks_item.highlight {
	background-color: #d30000;
	color: #fff;
}
.main-blocks_item.highlight:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 400px;
	height: 200px;
	background: url(img/svg/pattern_04.svg) 0 0 no-repeat;
	background-size: cover;
	opacity: 0.2;
	pointer-events: none;
}
.highlight_list {
	margin-top: 0.5rem;
}
.highlight_list li:not(:last-child) {
	margin-bottom: 1.5rem;
}
.highlight_list li a {
	position: relative;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	font-weight: 500;
	line-height: 30px;
	transition: padding 0.2s, color 0.2s;
}
.highlight_list li a:hover {
	padding-left: 5px;
}
.highlight_list._marked li a {
	padding-left: 20px;
}
.highlight_list._marked li a:hover {
	padding-left: 25px;
}
.highlight_list._marked li a:before {
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 12px;
	height: 2px;
	background: #f6c000;
	transition: background 0.2s;
}
.highlight_list._marked li a:hover:before {
	background-color: #000;
}


.main-block_title {
    margin-top: 0.5rem;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    color: #d30000;
}
.main-block_list {
	position: relative;
	height: 230px;
	overflow: hidden;
}
.main-block_list:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40px;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
	background-repeat: repeat-x;
}
.main-block_list li {
	margin-top: 1.25rem;
}
.main-block_list li a {
	color: #000;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
}
.main-block_list li a:hover {
	color: #d30000;
}
.main-block_list li p {
    color: #858b8e;
	font-size: 12px;
	margin-top: 0.5rem;
}


/* ---------- Content ---------- */
.page-section {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 1rem 0;
}
.page-section.grey {
	background-color: #f7f7f7;
	padding: 20px;
}
.page-section.grey .section-title h2 {
	background-color: #f7f7f7;
}

.section-title {
	position: relative;
	padding: 1rem 0;
}
.section-title h2,
.section-title h3 {
	position: relative;
	display: inline-block;
	margin: 0!important;
	padding-right: 20px;
}
.section-title h2 {
	font-size: 36px!important;
	font-weight: 600!important;
	color: #d30000;
}
.section-title h3 {
	font-size: 24px!important;
	font-weight: 600!important;
	color: #000;
}


.basic-cols {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
}
.basic-cols > div {
	position: relative;
	box-sizing: border-box;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 25%;
}
.basic-cols .w-25 {
	max-width: 25%;
}
.basic-cols .w-50 {
	max-width: 50%;
}
.basic-cols .w-75 {
	max-width: 75%;
}
.basic-cols .w-33 {
	max-width: 33.33%;
}
.basic-cols .w-66 {
	max-width: 66.66%;
}
.basic-cols .w-100 {
	max-width: 100%;
}
.padding-right {
	padding-right: 40px;
}
.padding-left {
	padding-left: 60px;
}


/* ---------- News ---------- */
.news-grid {
	padding: 5px 0;
}
.news-grid > div {
	padding: 0.5rem 40px 1.5rem 0;
	max-width: 32%;
}
.news-grid > div:not(:nth-child(3n+1)) {
	padding-left: 30px;
}
.news-grid > div:not(:nth-child(3n+1)):before {
	content: '';
	position: absolute;
	top: 0px;
	left: 0;
	width: 1px;
	height: 100%;
	background-color: rgba(157,184,197,0.3);
	transition: background 0.2s;
	z-index: 1;
}
.news-grid a {
	display: block;
	box-sizing: border-box;
	text-decoration: none;
	color: #000;
}
.news-grid a:hover {
	color: #ec1b24;
}
.news-grid a h3 {
	font-size: 20px!important;
	font-weight: 500!important;
	line-height: 26px!important;
	margin: 0 0 0.5rem!important;
}
.news-grid a p {
	color: #37393a;
}
.news-grid .news-date {
	margin-bottom: 1rem;
	font-size: 12px;
	color: #858b8e;
}

.bottom-link {
	margin: 1rem 0;
}
.bottom-link a {
	position: relative;
	display: inline-block;
	padding-right: 40px;
	text-decoration: none;
	color: #d30000;
	font-size: 16px;
	font-weight: 700;
	line-height: 32px;
}
.bottom-link a:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 32px;
    background: url(img/svg/arrow_right_red.svg) 50% 50% no-repeat;
	transition: background 0.2s;
}
.bottom-link a:hover {
	color: #000;
}
.bottom-link a:hover:before {
	background-image: url(img/svg/arrow_right.svg);
	background-position: 100% 50%;
}


/* ---------- Banner ---------- */
.banner-100 {
    position: relative;
	box-sizing: border-box;
	margin: 1rem 0;
    width: 100%;
    height: 150px;
    background: 50% 0 no-repeat #242529;
	background-size: cover;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.banner-100 > div {
	position: relative;
	box-sizing: border-box;
	z-index: 2;
}
.banner-100 .banner-text {
	-webkit-flex: 0 0 70%;
	-ms-flex: 0 0 70%;
	flex: 0 0 70%;
	padding: 0 20px 0 30px;
	overflow: hidden;
}
.banner-100 .middle {
	display: table-cell;
	width: 100%;
	height: 150px;
	vertical-align: middle;
}
.banner-100 .banner-text h3 {
    font-size: 36px;
	font-weight: 500;
	line-height: 40px;
}
.banner-100 .banner-text p {
	margin-top: 0.5rem;
    font-size: 16px;
	line-height: 22px;
}
.banner-100 .banner-button {
	-webkit-flex: 1 0 25%;
	-ms-flex: 1 0 25%;
	flex: 1 0 25%;
	min-width: 280px;
	text-align: right;
	padding: 0 30px 0 20px;
}

.banner-100:before,
.banner-100:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1;
}
.banner-100.dark:before {
	background-image: linear-gradient(to bottom, rgba(41,93,139,0.5), rgba(63,74,77,0.5));
	background-repeat: repeat-x;
}
.banner-100.dark:after {
	/*background-color: rgba(0,0,0,0.2);*/
	background-image: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.2));
	background-repeat: repeat-x;
}
.banner-100.dark .banner-text h3 {
    color: #fff;
}
.banner-100.dark .banner-text p {
    color: #c3ccd5;
}

.banner-100.light:after {
	background-image: linear-gradient(to bottom, rgba(41,93,139,0.3), rgba(196,242,255,0.6));
	background-repeat: repeat-x;
	opacity: 0.1;
}
.banner-100.light .banner-text h3 {
    color: #000;
}
.banner-100.light .banner-text p {
    color: #37393a;
}

/* ---------- Events Calendar ---------- */
.events {
	padding: 5px 0;
}
.events > div {
	padding: 0 0 1rem;
}
.calendar {
	margin: 5px 0;
	overflow: hidden;
}
.calendar-item {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	-webkit-justify-content: flex-start;
    -ms-flex-pack: start;
	justify-content: flex-start;
	color: #000;
	text-decoration: none;
	margin-bottom: 1px;
}
.calendar-date {
	box-sizing: border-box;
	width: 25%;
	padding: 20px;
	background-color: #f3f3f3;
	font-size: 12px;
	font-weight: 600;
	transition: background 0.2s, color 0.2s;
}
.calendar-item:hover .calendar-date {
	background-color: #d30000;
	color: #fff;
}
.calendar-name {
	width: 75%;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 500;
	transition: color 0.2s;
}
.calendar-item:hover .calendar-name {
	color: #d30000;
}
	

/* ---------- Events Grid ---------- */
.events-grid {
	margin: 4px 0 10px;
}
.events-grid > a {
	position: relative;
	display: block;
	box-sizing: border-box;
	min-width: 48%;
	max-width: 100%;
	height: 350px;
	padding: 1rem 0 1rem 30px;
	color: #000;
}
.events-grid > a:before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: rgba(157,184,197,0.3);
    transition: background 0.2s;
    z-index: 1;
}

.events-grid > a:nth-child(2n) {
	margin-left: 35px;
}
.events-grid > a {
	text-decoration: none;
}
.events-grid .event-image {
	position: absolute;
	bottom: 1rem;
	left: 30px;
	box-sizing: border-box;
	width: 150px;
	height: 150px;
	overflow: hidden;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: inset 0 0 0 5px transparent;
	border: 0;
	transition: opacity 0.2s;
}
.events-grid .event-image:before,
.events-grid .event-image:after,
.border-ani:before,
.border-ani:after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    border: 5px solid transparent;
    width: 0;
    height: 0;
}
.events-grid .event-image:before,
.border-ani:before {
    top: 0;
    left: 0;
}
.events-grid .event-image:after,
.border-ani:after {
    bottom: 0;
    right: 0;
}
.events-grid > a:hover .event-image {
	opacity: 0.9;
}
.events-grid > a:hover .event-image:before,
.events-grid > a:hover .event-image:after {
	width: 100%;
	height: 100%;
}
.events-grid > a:hover .event-image:before {
	border-top-color: #d30000;
	border-right-color: #d30000;
	transition:
	  width 0.25s ease-out,
	  height 0.25s ease-out 0.25s;
}
.events-grid > a:hover .event-image:after {
	border-bottom-color: #d30000;
    border-left-color: #d30000;
    transition:
      border-color 0s ease-out 0.5s,
      width 0.25s ease-out 0.5s,
      height 0.25s ease-out 0.75s;
}

.events-grid .event-name {
	position: relative;
	max-height: 120px;
	overflow: hidden;
    margin: 0 0 0.5rem!important;
	font-size: 16px !important;
	font-weight: 500;
    line-height: 24px !important;
	transition: color 0.2s;
}
.events-grid .event-name:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    background-repeat: repeat-x;
}
.events-grid .event-date {
	margin-bottom: 1rem;
    font-size: 12px;
    color: #858b8e;
}
.events-grid > a:hover .event-name {
	color: #d30000;
}

/* Main About */
.main-about {
	position: relative;
	margin-top: 2rem;
	padding: 1rem 0;
	background-color: #d30000;
	background: url(img/svg/decor_01.svg) 100% 100% no-repeat #d30000;
	background-size: contain;
	color: #fff;
}
.main-about:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0.0), rgba(0,0,0,0.2));
	background-repeat: repeat-x;
	pointer-events: none;
}
.main-about .section-wrap {
	position: relative;
	z-index: 2;
}

._invert a {
	color: #fff!important;
	text-decoration: none!important;
}
._invert a:hover {
	color: #000!important;
}
._invert .section-title h2,
._invert .section-title h3 {
	color: #fff!important;
}
._invert .bottom-link a:before {
	background-image: url(img/svg/arrow_right_white.svg) ;
}
._invert .bottom-link a:hover:before {
	background-image: url(img/svg/arrow_right.svg);
}


/* Basic Content */
.basic-content {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 22px;
}
.basic-content p {
	padding: 0 0 1rem;
}
.marked-list {
	margin: 10px 0;
}
.marked-list li {
	position: relative;
	padding: 0 0 10px 20px;
}
.marked-list.caps li a:hover {
	color: #fff;
}
/*.marked-list li:before {
	content: '';
	position: absolute;
	top: 5px;
	left: 1px;
	width: 6px;
	height: 6px;
	border: 3px solid #fff;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.1);
	background-color: #ec1b24;
}*/
.marked-list li:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	border: 3px solid #ec1b24;
	transition: background 0.2s;
}
.marked-list li:hover:before {
	background-color: #ec1b24;
}

/* ---------- Logos Grid ---------- */
.logos-grid {
	margin: 5px 0 10px;
	-webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.logos-grid > div {
	max-width: 25%;
	padding: 0 0 20px;
}
.logos-grid > div a {
	display: block;
	text-decoration: none;
	color: #fff;
	text-align: center;
	padding: 1rem 20px;
}
.logos-grid .logo-image {
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	width: 200px;
	height: 200px;
	overflow: hidden;
	border-radius: 50%;
	background-color: #fff;
	text-align: center;
	box-shadow:
		0 5px 10px rgba(0,0,0,0.0),
		0 20px 50px rgba(0,0,0,0.1);
    transition: box-shadow 0.3s, transform 0.3s;
    will-change: box-shadow, transform;
}
.logos-grid > div a:hover .logo-image {
	transform: translateY(-10px);
	box-shadow:
		0 5px 10px rgba(0,0,0,0.05),
		0 20px 50px rgba(0,0,0,0.25);
}
.logos-grid .logo-image img {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.logos-grid .logo-name {
    margin: 20px 0;
	padding-right: 5px;
	font-size: 14px;
    line-height: 22px;
	text-align: center;
	transition: color 0.2s;
}
.logos-grid .logo-name span {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 400;
	color: #f6c000;
}
.logos-grid > div a:hover .logo-name {
	color: #fff;
}

/* Footer Menu */
/* ------------------------------------------------------------------ */

.footer-container {
	position: relative;
	width: 100%;
	background-color: #1e2022;
}
.footer {
	width: 100%;
	max-width: 1120px;
	padding: 0 10px;
	margin: 0 auto;
    color: #bbbfc3;
}
.footer-top,
.footer-bottom {
	padding: 30px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer-top {
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-bottom_item {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.footer-bottom_item:first-child {
	min-width: 50%;
}
.footer-bottom_item:nth-child(2) {
	min-width: 35%;
}
.footer-bottom_item:nth-child(3) {
	min-width: 15%;
}

.footer-menu {
	width: 100%;
   	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.footer-menu a {
	text-decoration: none;
    font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	margin: 0.5rem 3rem 0.5rem 0;
    color: #fff;
}
.footer-menu a:hover {
    color: #ec1b24;
}
.footer-bottom {
	font-size: 12px;
	line-height: 20px;
}
.footer-bottom a {
	font-size: 12px;
    color: #fff;
	text-decoration: none;
}
.footer-bottom a:hover {
    color: #ec1b24;
}


/* ---------- Main part, inner pages (headline) ---------- */
.inner-page_header {
	position: relative;
	box-sizing: border-box;
    height: auto;
    min-height: 170px;
    padding: 40px 0;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: #858b8e;
	color: #fff;
}
.inner-page_header:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(img/svg/decor_01.svg) 100% 25% no-repeat;
	opacity: 0.7;
	z-index: 1;
}
.inner-page_header .section-wrap {
	z-index: 2;
}
.inner-page_header h1 {
    padding: 1rem 0;
    font-size: 48px;
    font-weight: 500;
	line-height: 52px;
    text-align: left;
    color: #fff;
}
.inner-page_header p {
    padding: 0.5rem 0;
	max-width: 600px;
}
.inner-page_header a {
	color: #fff;
}
.inner-page_header a:hover {
	color: #000;
}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs {
	position: relative;
    z-index: 2;
	margin-bottom: 10px;
	max-width: 98%;
	overflow: hidden;
	color: #bbbfc3;
	font-size: 12px;
	white-space: nowrap;
}
.breadcrumbs:after {
    content: '';
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    width: 50px;
    background-image: linear-gradient(to right, rgba(133,139,142,0), rgba(133,139,142,1));
    background-repeat: repeat-y;
}
.breadcrumbs a,
.breadcrumbs span {
	position: relative;
	display: inline-block;
	font-size: 13px;
	line-height: 20px;
}
.breadcrumbs a {
	margin-right: 6px;
	padding-right: 22px;
	color: #fff;
	text-decoration: none;
}
.breadcrumbs a:hover {
	color: #000;
}
.breadcrumbs a:after {
	content: '';
	position: absolute;
	top: 5px;
	right: 0;
	width: 13px;
	height: 13px;
	background: url(img/svg/arrow_right_big.svg) 50% 50% no-repeat;
	background-size: cover;
}
.breadcrumbs a:first-child {
	padding-left: 20px;
}
.breadcrumbs a:first-child:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px;
    width: 16px;
    height: 16px;
    background: url(img/svg/favicon.svg) 50% 50% no-repeat;
}

/* ---------- Inner content ---------- */
.inner-content {
	margin: 2rem auto;
	min-height: 300px;
}
.inner-content .page-section {
	padding: 0 0 2rem;
}

.inner-content h2 {
    font-size: 30px;
    font-weight: 600;
	line-height: 36px;
    margin: 2.5rem 0 1rem;
	color: #d30000;
}
.inner-content h3 {
    font-size: 24px;
    font-weight: 600;
	line-height: 30px;
    margin: 1.5rem 0 1rem;
}
.inner-content h4 {
    font-size: 18px;
    font-weight: 400;
	line-height: 24px;
    margin: 1.5rem 0 1rem;
}

.inner-content p {
    padding: 0 0 1rem;
}
.inner-content p.lead {
    font-size: 18px;
    font-weight: 500;
	line-height: 26px;
    padding: 0 0;
    margin: 1.5rem 0;
}
.inner-content p.date {
    font-size: 16px;
	color: #858b8e;
	padding: 6px 0 0 40px;
	background: url(img/svg/icon_calendar.svg) 0 0 no-repeat;
}

.inner-content li {
	position: relative;
	margin-bottom: 1.5rem;
	padding-left: 26px;
}
.inner-content li:before {
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	width: 16px;
	height: 2px;
	background: #d30000;
}

/* ---------- Inner news ---------- */
.inner-content .news-grid {
	-webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.inner-content .news-grid > div {
	padding-bottom: 50px;
}
.inner-content .news-grid > div:hover:before {
	background-color: #ec1b24;
}
/*.inner-content .news-grid > div:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(157,184,197,0.3);
    transition: background 0.2s;
    z-index: 1;
}*/

/* ---------- Inner calendar ---------- */
.inner-content .calendar {
	padding: 5px 0 20px;
}
.inner-content .calendar-date {
    width: 20%;
	min-height: 80px;
}

/* ---------- Inner events ---------- */
.events-list_item {
	padding: 2rem 0;
}
.events-list_item:not(:last-child) {
	border-bottom: 1px solid rgba(157,184,197,0.3);
}
.events-list_item a {
	text-decoration: none;
	color: #000;
}
.events-list_item .event-name {
    padding: 1rem 3rem 1rem 0;
}
.events-list_item .event-name h3 {
    margin: 0 0 0.5rem;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
    transition: color 0.2s;
}
.events-list_item a:hover .event-name h3 {
	color: #d30000;
}
.events-list_item .event-date {
    font-size: 12px;
    color: #858b8e;
}
.events-list_item .event-image {
    height: 150px;
	background-position: 50% 50%;
	background-size: cover;
    transition: opacity 0.2s;
}
.events-list_item a:hover .event-image {
	opacity: 0.9;
}
.events-list_item a:hover .event-image:before,
.events-list_item a:hover .event-image:after {
	width: 100%;
	height: 100%;
}
.events-list_item a:hover .event-image:before {
	border-top-color: #d30000;
	border-right-color: #d30000;
	transition:
	  width 0.25s ease-out,
	  height 0.25s ease-out 0.25s;
}
.events-list_item a:hover .event-image:after {
	border-bottom-color: #d30000;
    border-left-color: #d30000;
    transition:
      border-color 0s ease-out 0.5s,
      width 0.25s ease-out 0.5s,
      height 0.25s ease-out 0.75s;
}



/* ---------- Basic form ---------- */
.basic-form-container {
	box-sizing: border-box;
    width: 100%;
	padding: 5px 0 10px;
}
.basic-form {
	box-sizing: border-box;
    width: 100%;
    text-align: left;
}
.basic-form > div {
	margin-bottom: 20px;
}
.basic-form label {
	display: block;
	margin-bottom: 5px;
}
.basic-form .star {
	color: #ec1b24;
	font-size: 16px;
}
.basic-form p {
	color: #666;
	margin-bottom: 0.5rem;
}
.basic-form input[type="text"],
.basic-form input[type="date"],
.basic-form input[type="tel"],
.basic-form select,
.basic-form textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
    padding: 2px 7px;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	color: #000;
	border: 1px solid #e0e0e0;
	background: #f5f5f5;
	transition: color 0.2s, border 0.2s, background 0.2s;
}
.basic-form input[type="text"],
.basic-form input[type="date"],
.basic-form input[type="tel"],
.basic-form select {
	height: 42px;
}
.basic-form textarea {
	padding: 10px 7px;
}
.basic-form input[type="text"]:hover,
.basic-form input[type="text"]:focus,
.basic-form input[type="date"]:hover,
.basic-form input[type="date"]:focus,
.basic-form input[type="tel"]:hover,
.basic-form input[type="tel"]:focus,
.basic-form select:hover,
.basic-form select:focus,
.basic-form textarea:hover,
.basic-form textarea:focus {
	background: #fff;
	border-color: #ec1b24;
}
.basic-form input[type="checkbox"] {
	margin: 4px 7px 0 0;
	float: left;
}
.basic-form input[type="checkbox"] ~ p {
	margin-left: 25px;
}
.basic-form button,
.basic-form input[type="submit"] {
	margin: 10px 0;
	border: none;
	font-family: 'Source Sans Pro', sans-serif;
	cursor: pointer;
	transition: background 0.2s;
}

/* ---------- Basic table ---------- */
.basic-table-container {
	box-sizing: border-box;
    width: 100%;
	margin: 5px 0 20px;
	padding: 15px 25px;
	border: 2px dashed #03a9f4;
}
.basic-table {
    width: 100%;
	border: none;
}
.basic-table td {
	padding: 15px 20px 15px 0;
	border: none;
	/*border-bottom: 1px dotted #e5e5e5;*/
}
.basic-table td:nth-child(2n) {
    width: 70%;
    font-size: 16px;
    font-weight: 700;
	line-height: 22px;
}
.basic-table td:nth-child(2n+1) {
	padding-top: 16px;
}

/* ---------- Gallery ---------- */
.gallery {
	margin: 2rem 0;
}
.gallery .fotorama__wrap {
	margin: 0;
}

.marked-list,
.marked-list li,
.basic-content,
.basic-content p,
.news-grid,
.news-grid p,
.news-grid a,
.news-grid a h3 {
	max-height: 9001em;
}

.scroll-up {
	position: fixed;
	width: 60px;
	height: 60px;
	bottom: 10px;
	right: 10px;
	z-index: 499;
	cursor: pointer;
	background: url(img/svg/arrow_up_white.svg) 50% 50% no-repeat #d30000;
	text-indent: -9999px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.05), 0 10px 30px rgba(0,0,0,0.1);
	transition: background 0.2s;
}
.scroll-up:hover {
	background-color: #ffda2b;
	background-image: url(img/svg/arrow_up.svg);
}

/*@media only screen and (max-width:1140px)
{
	.header-menu_item {
		padding: 0 15px;
	}
}*/
@media only screen and (max-width:1000px)
{
	.header_in {
		overflow: hidden;
	}
}

#cookie_notification {
  display: none;
  justify-content: space-between;
  align-items: flex-end;
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 50%;
  width: 100%;
  max-width: 900px;
  transform: translateX(-50%);
  padding: 25px;
  background-color: #fff;
  box-shadow: 0 -12px 24px -10px rgb(0, 0, 0, .12);
}

#cookie_notification p {
  margin: 0;
  max-width: 95%;
  font-size: 0.75rem;
  text-align: left;
}

.cookie_accept {
    display: block;
    border: 0;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    transition: 0.3s;
}
.cookie_accept:hover {
	color: #000000;
	background-color: #f6c000;
    box-shadow: none;
}

@media (min-width: 576px){
  #cookie_notification.show {
    display: flex;
  }
  .cookie_accept {
    margin: 0 0 0 25px;
  }
}

@media (max-width: 575px){
  #cookie_notification.show{
    display: block;
    text-align: left;
  }
  .cookie_accept{
    margin: 10px 0 0 0;
  }
}
