/* RESETS */
/* ---------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display:block;
}

body {
	line-height:1;
}

a,
a:focus,
a:active {
	text-decoration:none;
	color:#1E88E5;
}

a:hover {
	color:#1565C0;
}

a img {
	border:none;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}



/* CORE STRUCTURE */
/* ---------------------------------------------------------- */
body {
	font-family:'Open Sans', Arial, Helvetica, sans-serif;
	color:#555;
	background-color:#ebebeb;
}

.container {
	width:96%;
	margin:0 auto 0 auto;
	padding: 1px 0 1px 0;
}



/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {

/* MEDIA QUERIES: SINGLE POST */
.container {
	width:550px;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */


/* TYPOGRAPHY */
/* -------------------------------------------------------------- */
strong, b {
	font-weight:bold;
}

em, i {
	font-style:italic;
}

h1 {
	font-size:120%;
	font-weight:bold;
	margin:0 0 20px 0;
}

h2 {
	font-size:110%;
	font-weight:bold;
	margin:0 0 9px 0;
}

h3 {
	font-size:100%;
	font-weight:bold;
	margin:0 0 5px 0;
}

p {
	font-size:85%;
	line-height:180%;
}



/* STRUCTURAL ELEMENTS */
/* -------------------------------------------------------------- */
.clear-floats {
	clear:both;
	margin:0;
	padding:0;
	height:0px;
}

.hide-for-mobile {
	display:none;
}

.bg-color-facebook  {
	background-color:#3b5998;
}

.bg-color-google-plus {
	background-color:#d34836;
}

.bg-color-twitter {
	background-color:#4099ff;
}

input[type=submit],
a.standard-button:link,
a.standard-button:visited,
a.standard-button:active {
	display:block;
	padding:0 15px;
	font-size:85%;
	font-weight:normal;
	color:#fff;
	line-height:35px;
	text-align:center;
	background-color:#1E88E5;
	border:0;
	border-radius:5px;
	outline:none;
	cursor:pointer;
}

input[type=submit]:hover,
a.standard-button:hover {
	background-color:#1565C0;
}

a.disabled:link,
a.disabled:visited,
a.disabled:active,
a.disabled:hover {
	background-color:#ccc;
	cursor:default;
}

a.button-full:link,
a.button-full:visited,
a.button-left:active {
	float:none;
	margin:10px 0;
	width:auto;
}


a.button-left:link,
a.button-left:visited,
a.button-left:active {
	float:none;
	margin:10px 0;
	width:auto;
}

a.button-right:link,
a.button-right:visited,
a.button-right:active {
	float:none;
	margin:10px 0;
	width:auto;
}

.pagination {
	margin:35px 0 0 0;
	text-align:center;
}

.pagination a,
.pagination a:focus,
.pagination a:visited,
.pagination a:active {
	display:inline-block;
	padding:0 15px;
	font-size:85%;
	font-weight:normal;
	color:#fff;
	line-height:35px;
	text-align:center;
	background-color:#1E88E5;
	border:0;
	border-radius:5px;
	outline:none;
	cursor:pointer;
}

.pagination a:hover {
	background-color:#1565C0;
}

.sys-msg {
	padding:20px;
	margin:0 0 20px 0;
	font-size:85%;
	color:#555;
	line-height:150%;
	background-color:#f9edbe;
	border:1px solid #f0c36d;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

.msg-error {
	background-color:#f9cabe;
	border:1px solid #f0746d;
}

.show-infotip {
	color:#1E88E5;
	cursor:pointer;
}

.infotip {
	display:none;
	margin:5px 0 0 0;
	padding:10px;
	box-sizing:border-box;
	background-color:#f1fafe;
	border:1px solid #d3f1fc;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

.desktop-only-inline {
	display:none;
}

.desktop-only-inline-block {
	display:none;
}

/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {

.desktop-only-inline {
	display:inline;
}

.desktop-only-inline-block {
	display:inline-block;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */



/* HEADER */
/* -------------------------------------------------------------- */
#header {
	width:100%;
	padding:1px 0;
	margin:0 0 0 0;
	background-color:#fff;
	-webkit-box-shadow:0px 2px 2px 1px rgba(215, 215, 215, 0.1);
	-moz-box-shadow:0px 2px 2px 1px rgba(215, 215, 215, 0.1);
    box-shadow:0px 2px 2px 1px rgba(215, 215, 215, 0.1);
}

#header-logo {
	float:none;
	width:100%;
	text-align:center;
}

/* FOR FONT LOGO */
/*
#header-logo a:link,
#header-logo a:focus,
#header-logo a:visited,
#header-logo a:active,
#header-logo a:hover {
	display:block;
	margin:17px 0 0 0;
	font-size:20px;
	color:#555;
}

.logo-dmitriy {
	padding:0 3px 0 0;
}
*/

/* FOR REGULAR TEXT */
#header-logo a:link,
#header-logo a:focus,
#header-logo a:visited,
#header-logo a:active,
#header-logo a:hover {
	display:block;
	margin:20px 0 0 0;
	font-size:22px;
	color:#555;
	font-weight:bold;
	text-transform:uppercase;
}

#header-logo a span {
	font-weight:300;
}

#header-site-description {
	float:none;
	margin:10px 0 0 0;
	text-align:center;
	margin:10px 0 10px 0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	color:#a2a2a2;
	text-transform:uppercase;
	letter-spacing:2px;
	line-height:100%;
}

#header-search {
	float:none;
	width:92%;
	line-height:100%;
	margin:5px auto 20px auto;
}

#header-menu {
	float:none;
	width:96%;
	margin:10px auto 0 auto;
	text-align:center;
	line-height:100%;
}

#header-social {
	float:none;
	width:96%;
	margin:20px auto 0 auto;
	text-align:center;
}


.icon-social,
a.icon-social,
a.icon-social:focus,
a.icon-social:visited,
a.icon-social:active {
	display:inline-block;
	margin:0;
	font-size:24px;
	color:#555;
	line-height:100%;
	cursor:pointer;
}

.icon-social:hover,
a.icon-social:hover {
	color:#444;
}

.social-icon-circle-googleplus:hover,
a.social-icon-circle-googleplus:hover {
	color:#D34836;
}

.social-icon-circle-facebook:hover,
a.social-icon-circle-facebook:hover {
	color:#3B5998;
}

.social-icon-circle-twitter:hover,
a.social-icon-circle-twitter:hover {
	color:#4099FF;
}

#categories {
	display:none;
	background-color:#555;
	padding:1px 0;
}

#categories-wrapper {
	width:85%;
	margin:0 auto 25px auto;
}

#categories a {
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	color:#fff;
	font-size:85%;
	line-height:200%;
}

.categories-panel-controls {
	text-align:right;
}

.close-categories {
	display:inline-block;
	vertical-align:top;
	margin:10px 10px 0 0;
	width:13px;
	height:13px;
	font-size:13px;
	color:#ccc;
	cursor:pointer;
}


.blurb-about, .blurb-follow {
	padding:0 4%;
	font-size:90%;
	line-height:160%;
	text-align:center;
}

.blurb-about {
	margin:30px 0 20px 0;
}

.blurb-follow {
	margin:10px 0 0 0;
}



/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width:960px) {

.blurb {
	padding:0;
}

/* MEDIA QUERIES: HEADER */
#header-logo {
	float:left;
	width:auto;
}


/* FOR FONT LOGO */
/*
#header-logo a:link,
#header-logo a:focus,
#header-logo a:visited,
#header-logo a:active,
#header-logo a:hover {
	margin:19px 0 0 20px;
	font-size:17px;
}
*/

/* FOR REGULAR TEXT */
#header-logo a:link,
#header-logo a:focus,
#header-logo a:visited,
#header-logo a:active,
#header-logo a:hover {
	margin:18px 0 0 20px;
	font-size:20px;
}

#header-site-description {
	float:left;
	margin:12px 0 10px 10px;
	line-height:34px;
}

#header-search {
	float:right;
	width:300px;
	margin:10px 20px 0 0;
}

#header-menu {
	float:right;
	width:auto;
	margin:10px 35px 10px 0;
	line-height:35px;
}

#header-social {
	float:right;
	width:auto;
	margin:10px 35px 10px 0;
}

.icon-social,
a.icon-social,
a.icon-social:focus,
a.icon-social:visited,
a.icon-social:active {
	line-height:35px;
}

#categories-wrapper {
	width:800px;
	margin:0 auto 25px auto;
}


/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */







/* MAIN MENU */
/* ---------------------------------------------------------- */
/* The container wrapping ul.top-menu */


.menu-separator {
	display:inline-block;
	width:1px;
	border-right:1px dotted #ccc;
	padding:0;
}

#header-menu a,
#header-menu a:focus,
#header-menu a:visited,
#header-menu a:active {
	display:inline-block;
	padding:0 10px;
	font-size:11px;
	color:#555;
	line-height:35px;
	text-transform:uppercase;
	text-decoration:none;
	background-color:#fff;
	border-bottom:3px solid #fff;
}
 
#header-menu a:hover {
	border-bottom:3px solid #4099FF;
}


/* FOOTER */
/* -------------------------------------------------------------- */
#footer {
	margin:30px 0 60px 0;
	width:100%;
	font-size:80%;
	color:#999;
	text-align:center;
}


#footer a,
#footer a:focus,
#footer a:visited,
#footer a:active {

}

#footer a:hover {
	color:#777;
}




/* SEARCH */
/* -------------------------------------------------------------- */
.search-box {
	position:relative;
	margin:0 auto;
	width:100%;
	height:35px;
}

#s {
	position:absolute;
	width:100%;
	height:35px;
	outline:none;
	padding:0 15px 0 15px;
	margin:0;
	border:1px solid #dadada;
	font-size:85%;
	color:#b7b7b7;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;
	/* box-sizing */
	-webkit-box-sizing:border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing:border-box;    /* Firefox, other Gecko */
	box-sizing:border-box;         /* Opera/IE 8+ */
	background-image:url(images/icon-search.png);
	background-repeat:no-repeat;
	background-size:16px;
	background-position:94% 48%;
}

.btn-search {
	position:absolute;
	right:0;
	width:40px;
	height:35px;
	border:0;
}



/* INDEX */
/* -------------------------------------------------------------- */
.index-item {
	margin:40px auto 0 auto;
	background-color:#fff;
	-moz-box-shadow:2px 0px 1px 1px #ccc;
	-webkit-box-shadow:2px 0px 1px 1px #ccc;
	box-shadow:1px 1px 3px #ccc;
	padding:0;
}

.index-item img {
	display:block;
	min-width:100%;
	width:inherit;  /* Make images fill their parent's space. Solves IE8. */
	max-width:100%; /* Add !important if needed. */
	height:auto;    /* Add !important if needed. */
	max-height:100%;
}

.index-item-wrapper {
	padding:15px 25px 15px 25px;
}

.index-item h2 {
	line-height:140%;
}

.index-item h2 a {
	color:#555;
}

.index-post-commands {
	float:left;
	margin:20px 15px 0 0;
}

.index-post-commands a:link,
.index-post-commands a:focus,
.index-post-commands a:visited,
.index-post-commands a:active {
	color:#999;
	font-size:75%;
	font-weight:bold;
	line-height:20px;
	text-transform:uppercase;
}

.index-post-commands a:hover {
	color:#555;
}

.index-item-time {
	float:right;
	margin:20px 0 0 0;
	color:#999;
	font-size:75%;
	line-height:20px;
	text-align:right;
}

.nothing-found-box {
	width:92%;
	margin:50px auto 50px auto;
}

.nothing-found-box h2 {
	text-transform:uppercase;
	margin:0 0 20px 0;
}

/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 600px) {
.nothing-found-box {
	width:550px;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */





/* SINGLE POST */
/* -------------------------------------------------------------- */

.post-container {
	width:96%;
	margin:20px auto 0 auto;
	background-color:#fff;
	-moz-box-shadow:2px 0px 1px 1px #ccc;
	-webkit-box-shadow:2px 0px 1px 1px #ccc;
	box-shadow:1px 1px 3px #ccc;
	padding:0 0 1px 0;
}

.the-photo-box {
	width:100%;
	margin:0 0 10px 0;
	background-color:#dadada;
}

.photo {
	cursor:pointer;
}

.the-photo-box img {
	display:block;
	min-width:100%;
	width:inherit;  /* Make images fill their parent's space. Solves IE8. */
	max-width:100%;
	height:auto;
	max-height:100%;
}

.post-container h1 {
	margin:0 0 20px 0;
	font-size:110%;
	line-height:160%;
}

.post-container h1 span {
 	font-weight:300;
	color:#777;
}

.post-wrapper {
	margin:20px 30px 50px 30px;
}

.image-description {
	line-height:200%;
}

.image-info {
	margin:30px 0 0 0;
}

.image-info p {
	font-size:75%;
	line-height:300%;
}

.keywords {
	margin:30px 0 20px 0;
}

.keywords a,
.keywords a:focus,
.keywords a:visited,
.keywords a:active {
	display:inline-block;
	margin:0 2px 6px 0;
	padding:0 10px;
	font-size:75%;
	color:#999;
	line-height:30px;
	text-transform:uppercase;
	background-color:#ededed;
	border-radius:5px;
}

.keywords a:hover {
}

.purchase-request {
	margin:25px 0 0 0;
}

#overlay {
	display:none;
	box-sizing:border-box;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#222;
	background-repeat:no-repeat;
	background-position:center;
	border:15px solid #222;
	z-index:10001;
}

.any-format {
	background-size:contain;
}

.horizontal-photo,
.vertical-photo {
	background-size:contain;
}

.comment-header {
	margin:40px 0 20px 0;
}



/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {

/* MEDIA QUERIES: SINGLE POST */
.post-container {
	width:600px;
}

.the-photo-box img {
	display:block;
	min-width:inherit;
	width:auto;
	max-width:600px;
	height:auto;
	/* max-height:600px; */
	margin:0 auto;
}
/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */


/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 700px) {

.any-format {
	background-size:auto 600px;
}

.horizontal-photo {
	background-size:750px auto;
}

.vertical-photo {
	background-size:auto 750px;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */





/* PAGE */
/* -------------------------------------------------------------- */
.page-container {
	width:96%;
	margin:20px auto 0 auto;
	background-color:#fff;
	-moz-box-shadow:2px 0px 1px 1px #ccc;
	-webkit-box-shadow:2px 0px 1px 1px #ccc;
	box-shadow:1px 1px 3px #ccc;
	padding:1px 0;
}

.page-wrapper {
	margin:20px 30px 50px 30px;
}

.page-container h3 {
	margin:0 0 10px 0;
}

.page-container p {
	margin:0 0 25px 0;
}

/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {
/* MEDIA QUERIES: PAGE */
.page-container {
	width:600px;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */






/* FORMS */
/* -------------------------------------------------------------- */
select,
textarea,
input[type=text],
input[type=password],
input[type=url],
input[type=se],
input[type=tel],
input[type=number],
input[type=color],
input[type=email] {
	width:100%;
	outline:none;
	border:1px solid #ccc;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	color:#555;
	/* box-sizing */
	-webkit-box-sizing:border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing:border-box;    /* Firefox, other Gecko */
	box-sizing:border-box;         /* Opera/IE 8+ */
}

select,
input[type=text],
input[type=password],
input[type=url],
input[type=se],
input[type=tel],
input[type=number],
input[type=color],
input[type=email] {
	height:35px;
	padding:0 10px 0 10px;
	margin:0 0 20px 0;
}

textarea {
	height:100px;
	padding:10px;
	margin:0 0 10px 0;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	color:#555;
}

label {
	display:block;
	font-size:14px;
	color:#fff;
	font-weight:bold;
	line-height:140%;
	margin:0 0 5px 0;
}

label span {
	font-weight:normal;
}

.input-label {
	font-size:85%;
	font-weight:bold;
	line-height:140%;
	margin:0 0 3px 0;
}

.input-label span {
	font-weight:normal;
	font-style:italic;
	color:#777;
}

.input-description {
	font-size:75%;
	font-weight:normal;
	line-height:140%;
	color:#777;
	margin:0 0 5px 0;
}

.form-box-left {
	float:none;
	width:100%;
	margin:0;
}

.form-box-right {
	float:none;
	width:100%;
	margin:0;
}



/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {

/* MEDIA QUERIES: FORMS */
.form-box-left {
	float:left;
	width:48%;
	margin:0;
}

.form-box-right {
	float:right;
	width:48%;
	margin:0;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */




/* MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {
a.button-left:link,
a.button-left:visited,
a.button-left:active {
	float:left;
	margin:15px 0 0 0;
	width:49%;
}

a.button-right:link,
a.button-right:visited,
a.button-right:active {
	float:right;
	margin:15px 0 0 0;
	width:49%;
}

/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */


/* SUBSCRIBE */
/* -------------------------------------------------------------- */

.subscribe-box {
	margin:0;
	padding:15px 15px 25px 15px;
	background-color:#444;
}

#subscribe-console {
	margin:0 0 7px 0;
	font-size:80%;
	color:#fff;
	line-height:150%;
	text-align:center;
	text-transform:uppercase;
}

.subscribe-box input {
	float:left;
	box-sizing:border-box;
	margin:0;
	width:65%;
	height:35px;
	border:0;
}

.subscribe-button {
	float:right;
	box-sizing:border-box;
	width:35%;
	font-size:85%;
	font-weight:bold;
	color:#fff;
	line-height:35px;
	text-align:center;
	text-transform:uppercase;
	background-color:#1E88E5;
	border:0;
	cursor:pointer;
}

.subscribe-button:hover {
	background-color:#1565C0;
}

/* MEDIA QUERIES: SUBSCRIBE */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 620px) {

.subscribe-box input {
	width:80%;
}

.subscribe-button {
	width:20%;
}
/* -------------------------------------------------------------- */
}
/* -------------------------------------------------------------- */



/* AD */
/* -------------------------------------------------------------- */
.ad {
	width:100%;
	margin:20px 0 0 0;
	padding:0;
	background-color:#1d8ecd;
}

.ad img {
	display:block;
	min-width:100%;
	width:inherit;  /* Make images fill their parent's space. Solves IE8. */
	max-width:100%; /* Add !important if needed. */
	height:auto;    /* Add !important if needed. */
	max-height:100%;
}