/*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}
::selection {
    background: #b3d4fc;
    text-shadow: none;
}
/*
 * A better looking default horizontal rule
 */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}
/*
 * Remove default fieldset styles.
 */
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
/*
 * Allow only vertical resizing of textareas.
 */
textarea {
    resize: vertical;
}
/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.screen-xl{display:block}
.screen-m{display:none}
.screen-s{display:none}
.zeitstrahlgrafik.screen-xl,.kundengrafik.screen-xl{
	display:inline-block;
}
html {
	font-size: 22px;
	line-height: 140%;
	color: #3c3c3c;
}
a,a:hover,a:active,a:visited {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}
/*** headlines ***/
h1,h2,h3,nav a,h5,h6{
	font-family:'Poppins',sans-serif;
	margin:0;
	line-height: 130%;
}
h2 {
	font-size: 26px;
	font-weight: 500;
	margin-bottom: 5px;
	letter-spacing: 0.02em;
}
#leitsaetze h2 {
	margin-bottom: 0;
}
h2.bio {
	padding-top: 95px;
	margin-bottom: 0;
}
h2.magenta{
	background:url('../img/icon-art-direktion.png') no-repeat transparent top left;	
}
h2.cyan{
	background:url('../img/icon-medical-writing.png') no-repeat transparent top left;	
}
h2.yellow{
	background:url('../img/icon-illustration.png') no-repeat transparent top left;	
}
.magenta{
	color:#e6006c;
}
.cyan{
	color:#009fe3;
}
.yellow{
	color:#f7a600;
}
h1.poster {
	font-family: "Crimson Text", "Minion Pro", serif;
	font-size: 124px;
	font-weight: 400;
	text-align: center;
	line-height: 95%;
	/*letter-spacing: 0.02em;*/
}
h3 span {
	display: inline-block;
	background-color: #3c3c3c;
	padding: 13px;
	line-height: 100%;
	font-weight: 400;
	font-size: 20px;
	color: white;
	width: 180px;
	text-align: center;
	box-sizing: border-box;
}
h4 {
	font-weight: 300;
	font-size: 30px;
	color: #3c3c3b;
	margin-bottom: 20px;
	line-height: 130%;
	opacity: 0.9;
	letter-spacing: 0.02em;
	margin-top: 45px;
	margin-bottom: 30px;
}
#leitsaetze h4{
	background:url('../img/icon-leitsaetze.png') no-repeat transparent top right;	
	padding-right:18vW;
	margin-right:4vW;
}
h5 {
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 5px;
	letter-spacing: 0.025em;
}
img{
	max-width:100%;
	height:auto;
}
.subline{
	font-family: "Crimson Text", "Minion Pro", serif;
	font-size: 20px;
	font-style:italic;
	color:#3c3c3b
}
.upper{
	text-transform:uppercase;
}
.sep{
	display:inline-block;
	padding-left:10px;
	padding-right:10px;
}
#zeitstrahl .subline {
	padding-top: 30px;
	padding-bottom: 32px;
}
/*** header ***/
header {
	width: 100%;
	background: #FFFFFF;
	min-height:61px;
}
header #logomax {
	display: inline-block;
	margin-left: -2px;
	margin-bottom: 10px;
}
header #logomax.fadein {
-webkit-animation: fadein 0.5s; /* Safari, Chrome and Opera > 12.1 */
   -moz-animation: fadein 0.5s; /* Firefox < 16 */
	-ms-animation: fadein 0.5s; /* Internet Explorer */
	 -o-animation: fadein 0.5s; /* Opera < 12.1 */
		animation: fadein 0.5s;
}
@keyframes fadein 			{from { opacity: 0; }to{ opacity: 1; }}
/* Firefox < 16 */
@-moz-keyframes fadein 		{from { opacity: 0; }to{ opacity: 1; }}
/* Safari,Chrome,Opera > 12.1 */
@-webkit-keyframes fadein 	{from { opacity: 0; }to{ opacity: 1; }}
/* Internet Explorer */		
@-ms-keyframes fadein 		{from { opacity: 0; }to{ opacity: 1; }}
/* Opera < 12.1 */	
@-o-keyframes fadein 		{from { opacity: 0; }to{ opacity: 1; }}
header.stickymenu #logomax {
	display:none;
}
header #logomin {
	display:none;
}
header.stickymenu #logomin {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	/* padding-left: 2vW; */
	display: inline;
	/* padding-top: 15px; */
}
header.stickymenu #logosmall {
	position: absolute;
	display: block;
	left: 0;
	z-index: 1000;
	pointer-events: auto;
	width: 330px;
	max-width: 20%;
}
header.stickymenu #topMenu {
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	width: 100%;
	background: #FFFFFF;
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.30);
	-moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.30);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.30);
	z-index: 1000;
	height: 65px;
	padding-left: 2vW;
	padding-right: 2vW;
	box-sizing: border-box;
}
header + #maincontent {
	-webkit-transition: padding-top 1s;
	-moz-transition: padding-top 1s;
	-ms-transition: padding-top 1s;
	-o-transition: padding-top 1s;
	transition: padding-top 1s;
	padding-top:0px;
}
header.stickymenu + #maincontent {
	-webkit-transition: padding-top 1s;
	-moz-transition: padding-top 1s;
	-ms-transition: padding-top 1s;
	-o-transition: padding-top 1s;
	transition: padding-top 1s;
	padding-top:20px;
}
#download-portfolio {
	float: right;
}
nav #navSwitch {
	display: none;
}
nav {
	text-align: left;
	display: inline;
	margin: 0;
	list-style: none;
	z-index: 999;
}
nav ul {
	display: inline-block;
	position: relative;
	width: 1816px;
	text-align: center;
	left: 0;
	/* top: 175px; */
	padding: 0;
	max-width: 100%;
	margin-top: -22px;
	margin-bottom: -16px;
	margin-left: auto;
	margin-right: auto;
}
.stickymenu nav ul {
	top: 0;
	padding: 0;
	margin-bottom: 0;
	text-align: center;
	margin-top: 18px;
}
nav ul li {
	display: inline-block;
	position: relative;
	background: #fff;
	cursor: pointer;
	z-index: 999;
	padding-left: 30px;
	padding-right: 30px;
	font-size: 20px;
	pointer-events: none;
}
nav ul li.fright {
	float: right;
	margin-right: 0;
	padding: 0;
	position: relative;
	text-align: right;
	background-color: transparent;
	box-sizing: border-box;
	margin: 0 auto;
	width: 260px;
	text-align: right;
	margin-left: -260px;
}
nav ul li.fright a{
	pointer-events: auto;
	margin-right:60px;
}
nav ul li.fright a.last{
	margin-right:0;
}
nav ul li a {
	background-color: transparent;
	text-decoration: none;
	color: #3c3c3b;
	opacity: 0.9;
	letter-spacing: 0.02em;
	pointer-events: auto;
}
/*** layout ***/
.containerOuter {
	width: 1816px;
	max-width: 96%;
	margin: 0 auto;
	border-bottom: 1px solid #3c3c3c;
	padding-top: 30px;
	padding-bottom: 25px;
	box-sizing: border-box;
}
.containerCenter {
	text-align: center;
}
.containerOuter.bordertop {
	border-top: 1px solid #3c3c3c;
}
.containerOuter.noborderbtm {
	border-bottom: 0 none;
}
#footer {
	padding-top: 15px;
	padding-bottom: 50px;
}
#footer h5{
	font-size:20px;
	letter-spacing:0.02em;
	opacity:0.9;
}
#footer strong{
	font-weight:500;
}
section.bg{
	background-color:#efece3
}
.col-item {
	display: table-cell;
	width: 28%;
	vertical-align:top;
}
.col-item.first {
	padding-right: 20px;
}
.col-item.middle {
	width: 52%;
	text-align:center;
}
.col-item.last {
	text-align:right;
}
.col-item-equal {
	display: inline-block;
	vertical-align:top;
	box-sizing:border-box;
}
.col-item-equal.cols-3 {
	width: 27%;
	margin-right: 6%;
}
.col-item-equal.cols-4 {
	width: 23%;
	margin-right: 1.5%;
	padding-bottom: 40px;
	min-height: 220px;
	margin-top: 25px;
}
.containerBubble {
	width: 1140px;
	max-width: 100%;
	margin: 0 auto;
	padding: 140px;
	background-position: right 50px;
	background-repeat: no-repeat;
	box-sizing: border-box;
}
#intro .containerBubble{
	background-image:url('../img/hohmeier-kontakt.png');
}
#outro .containerBubble {
	background-image: url('../img/hohmeier-anfrage.png');
	width: 1250px;
	padding-right: 170px;
	padding-left: 170px;
}
#persoenlich .col-item.middle {
	width: 44%;
	text-align: center;
	padding:20px;
	box-sizing:border-box;
	padding-top:180px;
}
#galerie{
	width:100%;
	height: 376px;
	position: relative;
	opacity:0;
	margin-top:10px;
	margin-bottom:70px;
}
#galerie div.scrollableArea img{
	position: relative;
	height: 376px;
	max-height:100%;
	width:auto;
	float: left;
	margin: 0;
	padding: 0;
	/* If you don't want the images in the scroller to be selectable, try the following
	   block of code. It's just a nice feature that prevent the images from
	   accidentally becoming selected/inverted when the user interacts with the scroller. */
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}
#bio .containerOuter {
	padding-bottom: 70px;
}
.zeitstrahlgrafik {
	margin-top: -18px;
	max-width: 100%;
}
.kundengrafik {
	margin: 0 auto;
}
.item-description .cut-low,
.item-description .cut-high,
#leitsaetze .cut-low,
#leitsaetze .cut-high {
	display:none;
}
/* ==========================================================================
   Media queries
   ========================================================================== */
@media (max-width:1500px) {
	.zeitstrahlgrafik {
		margin-top: 0;
	}
	.zeitstrahlgrafik.screen-xl,.kundengrafik.screen-xl {
		display:none
	}
	.zeitstrahlgrafik.screen-m,.kundengrafik.screen-m {
		display:inline-block;
	}
	.zeitstrahlgrafik.screen-m,.kundengrafik.screen-m {
		display:inline-block;
	}
	
	nav ul#navDesktop {
		text-align: right;
	}
	.stickymenu #navDektop {
		text-align: right;
	}
	nav ul li.fright {
		float: none;
		width: auto;
		margin-left: 0;
		padding-left: 30px;
	}
	nav ul li {
		padding-left: 20px;
		padding-right: 20px;
	}
	nav ul li.fright a {
		margin-right: 50px;
	}
	h1.poster {
		font-size: 105px;
	}
}
@media (max-width:1280px) {
	html {
		font-size: 20px;
	}
	
	#persoenlich .screen-xl {
		display:none;
	}
	#persoenlich .screen-m {
		display:block;
		margin-top: 40px;
		text-align: center;
	}
	
   .stickymenu nav ul li {
		padding-left: 10px;
		padding-right: 10px;
	}
	.stickymenu nav ul li.fright a {
		margin-right: 20px;
	}
	h4 {
		margin-bottom: 15px;
		margin-top: 30px;
		font-size: 26px;
	}
	#leitsaetze h4 {
		background: 0 none;
		padding-right: 0;
		margin-right: 0;
	}
	h2 {
		font-size: 24px;
	}
	h3 span {
		margin-left: -8vW;
	}
	nav ul li, #footer h5 {
		font-size: 18px;
	}
	#persoenlich .col-item, .col-item-equal,
	.col-item-equal.cols-3,
	.col-item-equal.cols-4{
		width: 100%;
		display: block;
		text-align:left;
		margin-right: 0;
	}
	
	.col-item-equal.cols-2 {
		width: 47%;
		margin-right: 2%;
		display:inline-block;
	}
	.col-item-equal.cols-4 {
		padding-bottom: 15px;
		margin-top: 15px;
		min-height:70px;
	}
	#galerie {
		margin-bottom: 30px;
	}
	.text2cols {
		-webkit-column-count: 2; /* Chrome, Safari, Opera */
		-moz-column-count: 2; /* Firefox */
		column-count: 2;
		  
		-webkit-column-gap: 2vW; /* Chrome, Safari, Opera */
		-moz-column-gap: 2vW; /* Firefox */
		column-gap: 2vW;
	}
	
	
	#persoenlich .col-item.middle {
		display: none;
	}
	h2.bio {
		margin-top:30px;
		padding-top: 0;
		margin-bottom: 0;
		padding-left: 8vW;
		margin-left: -8vW;
		overflow: visible;
		height: 70px;
		margin-bottom: -38px;
	}
	.col-item-equal.cols-3 {
		margin-right: 0;
		padding-top: 10px;
	}
	#maincontent .containerOuter {
		padding-left: 8vW;
		padding-right: 8vW;
	}
	#kundengrafik .containerOuter {
		padding-left: 0;
		padding-right: 0;
	}
	.stickymenu #navDektop {
		margin-left: 2%;
		margin-right: 2%;
		width: 96%;
	}
}   
@media (max-width:1002px) {
	.screen-xl{display:none}
	.screen-m{display:block}
	.screen-s{display:none}
	
	h1.poster {
		font-size: 80px;
	}
	
	.containerBubble {
		padding: 40px;
		background-position: right 20px;
	padding-top: 100px;
	}
	#outro .containerBubble {
		padding-right: 50px;
		padding-left: 50px;
		padding-top: 175px;
	}
	nav ul li, #footer h5 {
		font-size: 16px;
	}
	#logo {
		max-width: 50vW;
		display: inline-block;
	}
	h2.bio {
		padding-left: 9vW;
		margin-left: -9vW;
	}
	
}
@media (max-width:915px) {
	nav ul li, #footer h5 {
		font-size: 15px;
	}
	.stickymenu nav ul li {
		padding-left: 6px;
		padding-right: 6px;
	}
	h2.bio {
		background-size: auto 60px;
	}
}
@media (max-width:810px) {
	.stickymenu nav ul li {
		padding-left: 4px;
		padding-right: 4px;
	}
}
@media (max-width:798px) {
	.screen-xl{display:none}
	.screen-m{display:none}
	.screen-s{display:block}
	
	.zeitstrahlgrafik.screen-m,.kundengrafik.screen-m {
		display:none;
	}
	
	nav ul#navDektop li,nav ul#navDektop li.fright {
		display:none
	}
	
	header.stickymenu #logomin {
		max-width: 50vW;
	}
	#navDektop {
		position: absolute;
	}
	nav #navSwitch {
		display: block;
		position: absolute;
		padding: 2vW;
		margin: 0px 0px 10px 0px;
		right: 0;
		top: 0;
		width: 250px;
		text-align: right;
		box-sizing: border-box;
		z-index:1000;
	}
	 .stickymenu nav #navSwitch {
		top: 18px;
		padding-top: 0;
	}
	#navBurger {
		z-index: 1008;
		position: absolute;
		right: 2vW;
		z-index:1001;
	}
	nav #navBurger .on{	
	display:none;
	}
	nav ul#navMobile {
		display: none;
		position: absolute;
		padding: 20px;
		margin: 10px 0px 10px 0px;
		width: 100%;
		right: 0;
		margin-top: 0;
		margin-bottom: 0;
		margin-left: auto;
		margin-right: 0;
		background-color: #efece3;
		opacity: 0.95;
		font-weight: 300;
		font-size: 20px;
		line-height: 100%;
		box-shadow: -2px 3px 14px rgba(0,0,0,0.3);
		box-sizing: border-box;
		top: 0;
		padding-top: 70px;
		margin-top: 0;
	}
	nav ul#navMobile li {
		background-color: #3c3c3c;
		color: white;
		width: 180px;
		box-sizing: border-box;
		margin-bottom: 5px;
		margin-top: 5px;
		padding: 13px;
		line-height: 100%;
	}
	nav ul#navMobile li a {
		color: white;
		line-height: 100%;
		display: block;
	}
	
	
	h1.poster {
		font-size: 80px;
	}
	.containerOuter {
		width: 100%;
		max-width: 100%;
		padding: 2vW;
	}
	#maincontent .containerOuter {
		padding-left: 2vW;
		padding-right: 2vW;
	}
	h3 span {
		margin-left: 0;
		margin-top: 20px;
	}
	.col-item-equal.cols-2{
		width: 100%;
		display: block;
		text-align:left;
		margin-right: 0;
	}
	
	#persoenlich .screen-m {
		display:none;
	}
	#persoenlich .screen-s {
		margin-top: 40px;
		text-align: center;
	}
	h2.bio {
		background-position: left top !important;
		margin-left: 0;
		padding-left: 0;
		margin-top: 15px;
		padding-top: 85px;
		padding-bottom: 5px;
	}
	h2.bio {
		background-size: auto auto;
	}
	#bio .text2cols {
		padding-right: 20px;
	}
	#download-portfolio {
		display: none;
	}
	
	#leitsaetze h4 {
		margin-bottom: 30px;
	}
	.text2cols {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
		-webkit-column-gap: 0;
		-moz-column-gap: 0;
		column-gap: 0;
	}
	.containerBubble {
		padding: 40px;
		background-position: right 10px;
		padding-top: 175px;
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		margin: 0 auto;
	}
}
@media (max-width:500px) {
	html {
		font-size: 16px;
	}
	header.stickymenu #logomin {
		max-width: 70vW;
	}
	.col-item-equal.cols-4,.col-item-equal.cols-3,.col-item {
		width: 100%;
		margin:0;
		padding-right:0;
		min-height:100px;
	}
	nav #navMobile {
		padding: 10px 0px 10px 0px;
		margin: 10px 0px 10px 0px;
	}
	h4 {
		font-size: 20px;
		margin-bottom: 10px;
	}
	h2 {
		font-size: 20px;
	}
	h2.bio {
		padding-top: 0;
		margin-bottom: 0;
		background-size: 100%;
		background-position: top left;
		background: 0 none !important;
		margin-top: 10px !important;
		height: auto !important;
		margin-bottom: 0 !important;
	}
	#maincontent .containerOuter {
		padding-left: 2vW;
		padding-right: 2vW;
	}
	h3 span {
		margin-left: 0;
		margin-top: 30px;
	}
	#galerie {
		height: 202px;
		margin-bottom:30px;
	}
	.containerCenter {
		text-align: center;
		padding-left: 2vW;
	}
	h1.poster {
		font-size: 48px;
	}
	
	h1.poster br {
		display:none;
	}
	.containerBubble, #outro .containerBubble {
		padding: 2vW;
		background-position: right top;
		background-size: 23%;
		padding-top: 100px;
		padding-bottom: 25px;
	}
}

@media (max-width:400px) {
	#maincontent .containerOuter, 
	#outro .containerBubble,
	.containerCenter,
	header .containerOuter{
		padding-left: 4vW;
		padding-right: 4vW;
	}
	header .containerOuter{
		padding-top:4vW;
	}
	#navBurger {
		right: 4vW;
		top: 4vW;
	}
	
	header.stickymenu #navBurger {
		top: 0;
	}
	.containerBubble, #outro .containerBubble {
		background-position: center 10px;
		background-size: 25%;
	}
	.containerBubble, #outro .containerBubble{
		padding-left: 0;
		padding-right: 0;
	}
	h1.poster {
		font-size: 46px;
		padding-top: 10px;
	}
	h3 span {
		padding: 11px;
		font-size: 19px;
		width: 153px;
	}
	#zeitstrahl .subline {
		padding-bottom: 32px;
		font-size: 14px;
		line-height: 125%;
	}
	#footer h5 {
		font-size: 13px;
	}
	/*expandable*/
	.description-inner {
		height: 60px;
		overflow: hidden;
		font-size: 15px;
		display: block;
		padding-right:10px;
	}
	.item-description .cut-high, .item-description .cut-low {
		cursor: pointer;
		margin-bottom: 0px;
		color: #3c3c3c;
		font-size: 15px;
		font-weight: 500;
		font-family: 'Poppins',sans-serif;
		letter-spacing: 0.05em;
	}
	.item-description .cut-low {
		display: block;
		background-image: url('/img/bg-cut-white.png');
		height: 60px;
		padding-top: 45px;
		margin-top: -40px;
		position: relative;
		background-position: center -30px;
		background-size: auto 100%;
	}
	.item-description .cut-high {
		padding-top: 5px;
		text-align: right;
		width: 100%;
		padding-right: 25px;
		box-sizing: border-box;
		padding-bottom: 10px;
	}
	.hidemobile{
		display:none;
	}
	.h2smaller {
		font-size: 18px;
		padding-top: 6px;
		padding-bottom: 2px;
	}
	#leitsaetze .col-item-equal.cols-4{
		width: 100%;
		margin: 0;
		padding-right: 0;
		min-height: 10px;
	}
	#leitsaetze .text {
		padding-bottom: 10px;
		margin-bottom: 0;
		border-bottom: 1px solid #eee;
	}
	#leitsaetze .containerOuter {
		padding-bottom: 20px;
	}
	#leitsaetze h2 {
		margin-bottom: 0;
		font-size: 18px;
	}
	#leitsaetze .leitsatz-inner {
		display: none;
		clear: both;
		padding-top: 10px;
		padding-bottom: 15px;
		line-height: 130%;
		font-size: 17px;
	}
	#leitsaetze .cut-low{
		display:block;
	}
	#leitsaetze .cut-low, #leitsaetze .cut-high {
		cursor: pointer;
		background-image: none;
		height: auto;
		padding-top: 0;
		font-family: 'Poppins',sans-serif;
		line-height: 100%;
		font-size: 15px;
		letter-spacing: 0.05em;
		padding-bottom: 6px;
		margin-top: 10px;
	}
	#leitsaetze .cut-high{
		display:none;
	}
}
@media (max-width:360px) {
	.containerBubble, #outro .containerBubble {
		background-size: 30%;
	}
}
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
    display: none !important;
}
/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; /* 1 */
}
/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}
/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
    visibility: hidden;
}
/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}
.clearfix:after {
    clear: both;
}
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}
@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}