@font-face {
  font-family: 'Rosarivo';
  font-style: normal;
  font-weight: 400;
  src: local('Rosarivo'), local('Rosarivo-Regular'), url('res/Rosarivo.woff') format('woff');
}
@font-face {
  font-family: 'Rosarivo';
  font-style: italic;
  font-weight: 400;
  src: local('Rosarivo Italic'), local('Rosarivo-Italic'), url('res/Rosarivoi.woff') format('woff');
}

body, html {
	height: 100%;
	margin: 0px;
	padding: 0px;
	font-family: "Rosarivo";
	font-size: 1em;
}
.wrap {
	min-height: 100%;
	height: auto !important;
	height: 100%; /* IE6 hack */
	margin-bottom:-29px; /* negative indent footer by its height */
}
.pusher { /* same height as height and margin-top in footer */
	clear: both;
	height: 29px;
}
.footer {
	margin-top: 8px; /* I hate CSS */
	height: 21px; /* 1px ruler + margins */
}

::selection {
	background:#2fd0dc;
	color:#fff;
}

::-moz-selection {
	background:#2fd0dc;
	color:#fff;
}

.invisible {
	display: none;
}

.copyright {
	text-decoration: none;
	text-align: center;
	font-family: arial,sans-serif;
	font-size: xx-small;
	font-style: italic;
	color: white;
	height: 10px;
	margin: auto;
	margin-top: -16px;
	margin-bottom: 0px;
	width: 99%;
	display: block;
	transition: color 0.2s;
}
.copyright:hover {
	color: black;
	text-shadow: 0px 0px 10px #333333;
}

.defaultLink {
	color: black;
}
.defaultLink:hover {
	color: #888;
}

.mainContent {
	max-width: 1024px;
	margin: auto;
}

.textPage {
	margin-top: 50px;
	padding-left: 50px;
	padding-right: 50px;
	max-width: 700px;
	text-align: justify;
	line-height: 180%;
}

.galleryTextPage {
	margin-top: 0px;
	padding: 20px;
	max-width: 800px;
	text-align: justify;
	line-height: 180%;
}

.textAbstract {
	max-width: 700px;
	/*text-align: center;
	margin: auto;*/
	margin-left: 20px;
	margin-top: 50px;
	color: #AAA;
	font-size: 1.1em;
}

.textAbstract:before {
	content: '☞';
	font-size: 1.2em;
}

.textAbstract a {
	color: inherit;
	text-decoration: none;
}
.textAbstract a:hover {
	color: #666;
}
.halfRuler {
	margin-left: 20px;
	max-width: 200px;
	margin-top: 8px;
	margin-bottom: 20px;
	border: 0px;
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image: -moz-linear-gradient(left, rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image: -ms-linear-gradient(left, rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image: -o-linear-gradient(left, rgba(0,0,0,0.2), rgba(0,0,0,0));
}

.pSeparator {
	text-align: center;
	color: #AAA
}

.contactInfo {
	text-align: center;
	color: #666;
	margin-bottom: 100px;
	margin-top: 100px;
}

.contactInfo > li {
	list-style-type: none;
	font-size: 1.3em
}

.contactInfo > li > ul {
	padding: 0;
}

.hh1, .hh2, .hh3 {
	display: none;
}

.emptySection {
	padding: 30px;
	padding-top: 120px;
	font-style: italic;
	color: #888888;
	text-align: center;
}

.galleryGroup {
	padding: 20px;
	padding-top: 10px;
}

.groupHeader {
	font-family: "Rosarivo";
	font-size: 1.2em;
	font-weight: normal;
	/*font-style: italic;*/
	color: #888888;
	padding-left: 20px;
	height: 30px;
}

.groupHeader:before {
	content: '❖'; /*❧*/
	color: #cccccc;
	margin-left: -20px;
	padding-right: 5px;
	vertical-align: baseline;
	/*
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	margin-top: 10px;
	background-color: #cccccc;*/
}

.groupHeader a, .groupHeader a:visited {
	text-decoration: none;
	color: #888888;
}

.groupHeader a:hover, .groupHeader a:active {
	color: #aaaaaa;
}

.groupHeaderContainer {
	padding-left: 20px;
}

.goBackLink {
	font-size: 0.8em;
	color: #aaaaaa !important;
	font-style: italic;
	margin-left: 5px;
	margin-right: 28px;
	float: right;
}

.goBackLink:hover {
	color: #cccccc !important;
}

.galleryList {
	display: inline-block;
	margin: 0px;
	padding: 0px;
}

.galleryItem {
	text-decoration: none;
	list-style-type: none;
	float: left;
	margin-right: 30px;
	margin-bottom: 15px;
}

.galleryItem a:focus {
	outline: 0;
}

.galleryItem:hover p {
	color: #888888;
}
.galleryItem a:focus {
	/*TODO: visual change?*/
}
.galleryItem:hover img {
	box-shadow: 0px 0px 10px #A5A5A5;
}

.galleryItem img {
	border-radius: 12px;
	transition: box-shadow 0.1s;
	-webkit-transition: box-shadow 0.1s; /* Safari */
}

.galleryItem > a {
	text-decoration: none;
}

.galleryItem > a > img {
	border: 1px solid black;
	width: 250px;
	height: 250px;
}

.galleryName {
	color: #444;
	margin: 0px;
	padding: 5px;
	padding-top: 0px;
	text-decoration: none;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}