*, body * {
	padding: 0;
	margin: 0;
	color: #BDBDBD;
	box-sizing: border-box;
	font-family: 'Lato', sans-serif;
}

:active, :hover, :focus {
    outline: 0;
    outline-offset: 0;
}

a {
	text-decoration: none;
}

body {
	background: #000000;
}

pre {
	max-width: 99%;
	word-wrap: break-word;
	word-spacing: space;
	white-space: pre-line;
}

input {
	background-color: #272729;
	border: 1px solid #272729;
	border-radius: 8px;
	padding: 8px 15px;
	font-size: 18px;
	outline: none;
}

select {
	background-color: #000;
	border: 1px solid #CF1D1D;
	border-radius: 8px;
	padding: 8px 15px;
	font-size: 18px;
	outline: none;
}

input:active, input:focus {
	border: 1px solid #BDBDBD55;
}

ul {
	list-style: none;
}

ul li a {
	text-decoration: none;
}

#main-container {
	display: flex;
	max-width: 1366px;
	margin: 0 auto;
	padding: 0 10px;

	flex-flow: row wrap;
	justify-content: left;
	align-items: flex-start;
}

/* Header */
header#header,
footer#footer {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

div.breadcrumbs {
	flex-basis: 100%;
	text-align: right;
	display: flex;
  	flex-direction: row-reverse;
}

div.breadcrumbs > a {
	font-size: 14px;
	color: #555;
}

div.breadcrumbs > a.breadcrumb {
	display: inline-block;
	color: #8D8D8D;
}

div.breadcrumbs > a.breadcrumb:hover {
	color: white;
}

div.breadcrumbs > a.breadcrumb::after {
	margin-left: 8px;
	margin-right: 8px;
	content: "/";
	color: #DDD;
}

header#header {
	width: 100%;
	height: 75px;
	margin-bottom: 60px;
	align-items: center;
}

.logo a {
	width: 100%;
	height: 100%;
	display: inline-block;
	color: transparent;
}

.logo {
	background-image: url('../img/header_logo.png');
	width: 187px;
	height: 74.8px;
	background-repeat: no-repeat;
}

h1 {
	margin-bottom: 10px;
}
/*
h2 {
	font-size: 40px;
}

h3 {
	font-size: 34px;
}*/

/* Search field */
.search input {
	width: 525px;
	height: 42px;
	background-image: url('../img/search.png');
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 10px;
	padding: 3px 3px 3px 40px;
}

header#header .search input {
	flex-grow: 1;
}

.search-container {
	margin: 10px auto;
}

.search-container .search input {
	height: 38px;
}

/* Footer */
footer#footer {
	width: 100%;
	height: 419px;
	padding: 60px;
	margin-top: 50px;
	align-items: flex-start;
	border-top: 2px solid #CF1D1D;
}

footer#footer .footer-menu a {
	font-size: 18px;
}

footer#footer .footer-menu-container {
	display: flex;
	flex-flow: nowrap row;
}

footer#footer .footer-menu-container ul li {
	padding: 10px 35px;
}

footer#footer .contacts p {
	background-size: 25px;
	background-position: center left;
	background-repeat: no-repeat;
	padding-left: 30px;
	line-height: 30px;
}

footer#footer .contacts p.mail {
	background-image: url('../img/gmail.png');
}

footer#footer .contacts p.calendar {
	background-image: url('../img/calendar.png');
}

/* Sidebar & Side menu */
div#sidebar {
	width: 250px;
}

ul#side-menu li {
	padding: 10px 0;
}


ul#side-menu li a {
	text-transform: uppercase;
	font-size: 16px;
}

ul.menu li a {
	color: #BDBDBD;
}

ul.menu li a:hover {
	color: #FFF;
}

ul.menu li.active a {
	color: #CF1D1D;
}

ul.menu li.active a:hover {
	color: #F00;
}

/* Content  */
div#content{
	min-height: 50%;
	display: block;
	width: calc(100% - 250px);
}

div#content .post-item {
	width: 100%;
	padding: 15px;
	background-color: #131313;
	margin: 15px auto;
}

div#content .post-item > a {
	text-decoration: none;
	display: block;
}

div#content .post-item a:hover,
div#content .post-item a:hover > * {
	color: #FFF;
}

div#content .post-item.post-item-airbag p a {
	display: inline;
}

div#content .post-item.post-item-airbag {
	background-image: url('../img/airbag.png');
	background-repeat: no-repeat;
	background-position: 15px center;
	background-size: 45px;
	padding-left: 80px;
}


/* Buttons */
input[type=file]::file-selector-button,
button,
.btn {
	background-color: transparent;
	border-radius: 8px;
	border: 1px solid transparent;
	padding: 8px 15px;
	font-size: 16px;
	display: inline-block;
	cursor: pointer;
	color: #CF1D1D;
	margin-left: 5px;
}

input[type=file]{
	line-height: 36px;
	padding: 0 0 0 15px;
	min-width: 50%;
}

input[type=file]::file-selector-button {
	background-image: url('../img/add_file.png');
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 16px;
	padding-left: 40px;
	margin: 0px;
	float: right;
	border-color: #616161;
	background-color: #616161;
	color: #FFF;
	border-radius: 0 8px 8px 0;
}

input[type=file]::file-selector-button:hover {
  	border-color: #707070;
	background-color: #707070;
	color: #FFF;
}

.btn.btn-light {
	padding: 5px 7px;
	border-bottom: 1px solid #CF1D1D;
	border-radius: 0px;
}

.btn.btn-light:hover {
	border-bottom: 1px solid #F00;
	color: #FFF;
}

.btn.btn-primary {
	border-color: #CF1D1D;
	background-color: #CF1D1D;
	color: #FFF;
}

.btn.btn-primary:hover {
	border-color: #F00;
	background-color: #F00;
	color: #FFF;
}

.btn.btn-default {
	border-color: #CF1D1D;
	background-color: #000;
	color: #CF1D1D;
}

.btn.btn-default:hover {
	border-color: #F00;
	color: #F00;
}

.btn.btn-block {
	display: block;
	text-align: center;
	margin: 10px 0;
	width: 350px;
}

.admin-tools {
	border-left: 2px solid #CF1D1D;
	padding: 0 0 0 5px;
	margin: 8px 0;
}

.admin-tools a {
	padding: 0px 3px;
}

p.error-message {
	background-color: #151414;
	color: #BDBDBD;
	background-image: url('../img/circle_error.png');
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 22px;
	padding: 5px 7px 5px 40px;
	margin: 10px auto;
}

#main-container p {
	margin-top: 5px 0px;
}

/* Download page */
div.payment{
	border: 3px solid #CF1D1D;
	border-radius: 5px;
	margin: 25px 0;
	padding: 20px 15px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	align-content: center;
}

/* Category selector */
.category-selector {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	margin: 20px auto;
}

.category-selector h2 {
	width: 100%;
	flex-grow: 1;
	margin-bottom: 18px;
}

.category-selector > a {
	padding: 10px 25px;
	/*border: 1px solid rgba(255, 255, 255, 0.5);*/
	border-radius: 5px;
	margin: 5px;
	flex-basis: 40%;
}

.category-selector > a:hover {
	background-color: #151515;
}

/* Category items */
article {
	padding: 15px 150px 15px 15px; 
	margin: 10px auto;
	/*border-left: 2px solid #CF1D1D;*/
}

article a:hover {
	color: #3A3A3A;
}

.post-categories {
	margin-top: 6px;
}

.post-categories a, 
.post-categories span {
	font-size: 11px;
	border: 1px solid gray;
	padding: 3px 5px;
	border-radius: 5px;
}

.text-large {
	font-size: 20px;
	margin-bottom: 5px;
}

.text-title {
	display: inline-block;
	color: #CF1D1D;
	padding-right: 7px;
}

.text-small {
	font-size: 12px;
	color: #3f3f3f;
}


/**
 * Adaptive features
 */
/*@media screen and (max-width: 768px) {*/
@media screen and (max-width: 960px) {
	.search input {
		width: 100%;
  	}
}

@media screen and (max-width: 768px) {
	.search input {
		display: none;
  	}

  	div#sidebar, div#content {
  		width: 100%;
  		margin: 5px auto;
  	}

  	select {
  		margin: 5px auto;
  	}
}

@media screen and (max-width: 740px) {
	#footer .logo{
  		width: 140px;
    	height: 57px;
  		background-size: contain;
	}
}

@media screen and (max-width: 690px) {
	#footer .logo{
  		display: none;
	}
}

@media screen and (max-width: 550px) {
	footer#footer .footer-menu-container {
  		display: flex;
  		flex-flow: column;
	}

	footer#footer .footer-menu-container, div#contacts {
  		margin-bottom: 20px;
	}
}

@media screen and (max-width: 380px) {
	.logo{
  		width: 90px;
  		height: 35px;
  		background-size: contain;
	}
}