/* playfair-display-regular - latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/playfair-display-v13-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Playfair Display Regular'), local('PlayfairDisplay-Regular'),
       url('../fonts/playfair-display-v13-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/playfair-display-v13-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/playfair-display-v13-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/playfair-display-v13-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/playfair-display-v13-latin-regular.svg#PlayfairDisplay') format('svg'); /* Legacy iOS */
}

/* playfair-display-700 - latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/playfair-display-v13-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Playfair Display Bold'), local('PlayfairDisplay-Bold'),
       url('../fonts/playfair-display-v13-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/playfair-display-v13-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/playfair-display-v13-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/playfair-display-v13-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/playfair-display-v13-latin-700.svg#PlayfairDisplay') format('svg'); /* Legacy iOS */
}


/*
 * HTML5 Boilerplate
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: sans-serif; color: #333; }
body { 
    margin: 0; 
    padding: 0; 
    font-size: 13px; 
    line-height: 18px; 
    color: #333; 
    font-family: 'Arial', sans-serif;  
    background-image: url(../bilder/kachel.jpg);    
}
html,
body {
    margin:0;
    padding:0;
    height:100%;
}
::-moz-selection { background: #a1948b; color: #fff; text-shadow: none; }
::selection { background: #a1948b; color: #fff; text-shadow: none; }
a { color: #333; }
a:visited { color: #333; }
a:hover { color: #cbbdb0; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #999; margin: 0.7em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: 700; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 20px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
/* Forms */
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; display:block; margin:0; padding: 5px 0; font-weight:bold; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid {  }
span.required {color:#932136;}
form ol {
    margin:0;
    padding:0;
}
form ol li {
    list-style-image: none;
    list-style: none;
    margin-bottom: 5px;
}
form ol li.left {
    float: left;
    margin-right:55px;
}
form ol li input, 
form ol li select {
    width: 180px;
    height: 23px;
    padding:1px;
    background-color:#e2ded5;
    border: 1px solid #fff;
    -moz-border-radius: 1px;
    border-radius: 1px;
    -moz-box-shadow: 0 0 15px #666;
    -webkit-box-shadow: 0 0 15px#666;
    box-shadow: 0 0 15px #666;
}
form ol li textarea {
    width: 420px;
    height: 100px;
    padding:1px;
    background-color:#e2ded5;
    border: 1px solid #fff;
    -moz-border-radius: 1px;
    border-radius: 1px;
    -moz-box-shadow: 0 0 15px #666;
    -webkit-box-shadow: 0 0 15px#666;
    box-shadow: 0 0 15px #666;
}
form ol li select {
    height: 23px;
}
span.zusatz {
    font-weight: 200;
    padding-left:5px;
}
.radio {
    width: 19px;
    height: 17px;
    background: url(../bilder/radio-button.png) no-repeat;
    display: block;
    float: left;
    margin:1px 5px 5px 0;
}
li.zimmer br {
    height:4px;
}
li.zimmer label {
    float:left;
    padding:0;
}
li.zimmer input {

}
li.zimmer div {
    width: 180px;
    margin-left:235px;
}
form ol li.insufficientInput input {
    border-bottom: 1px solid #932136;
    color: #932136 !important;
} 
button.pfeil,
input.pfeil {
    text-decoration: none;
    font-weight: bold;
    padding: 3px 30px 6px 0;
    margin-top:10px;
    border: none;
    background-color: transparent;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-position: right center;
    background-repeat: no-repeat;
    background-image: url(../bilder/punktpfeil-rot.png);
    width:auto;
}
div.alert-message {
    padding:10px; 
    background-color:#f1f0ee;
    border: 1px solid #ccc;    
    -moz-border-radius: 2px;
    border-radius: 2px; 
    width:300px;
    margin-bottom: 20px;
} 
div.alert-message ul {
    margin:0;
    padding:0;;
}
div.alert-message li {
    list-style:none;    
    list-style-image: none;
}
div.error {
   border: 1px solid #932136; 
}
div.success {
   border: 1px solid #a1948b; 
}
/* Tables */
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
/* primary styles  */
/* Aufbau */
.bg {
    width:100%;
    background-position: center top;
    background-repeat: repeat-x;
    position: absolute;
    left:0;
    z-index:-1;
}    
#bg_o {
    height:160px;
    background-image: url(../bilder/bg_schatten_o.png);
    top:0;
}
#bg_u {
    min-height: 100%;
    margin: 0 auto;
    background-image: url(../bilder/bg_schatten_u.png);
    background-position: right bottom;
    bottom:0;
}
#bg_o_bild {
    width: 254px;
    height: 157px;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url(../bilder/bg_ol.png);  
    position: absolute;    
    top:0;
    left:0;
    z-index:0;
}
.lt-ie7 #bg_o,
.lt-ie7 #bg_u,
.lt-ie7 #bg_o_bild {
    background-image: none;
}
.lt-ie7 #bg_u {
    display:none;
}
#bg_u_bild {
    width: 470px;
    height: 843px;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url(../bilder/bg_ur.png);  
    position: absolute;    
    bottom:0;
    right:0;
    z-index:0;
}
#rahmen {
    min-width: 750px;
    margin: 0 auto;
    min-height:100%;
    position:relative;
    padding: 0 200px;
}   
header {
    margin: 0 auto;
    width: 748px;
    padding-right: 96px;
    height: 105px;
}
header a {
    text-decoration: none;
    float:left;
}    
header a img {
    border: 0;
}
header #buchen {
    float: left;
    padding-right:30px;
    margin-top: -15px;
}
header #sprachwahl {
    float: right;
    margin-right:5px;
    margin-top: 15px;
}
header #sprachwahl .item {
    float:left;
    line-height:30px;
    vertical-align:bottom;
}

.sidebar {
    position:absolute;
    left:-225px;
    top:0;
}
div.main {
    margin: 0 auto;
    width: 660px;
    background-color: transparent;
    padding: 0 0 20px 0;
    height:100%;
    position: relative;
}
div.content {
    margin: 0 13px 0 13px;
    padding:0;
}
.col-4-3 {
    width:70%;
    float:left;
}
.col-4-1 {
    width:25%;
    float:right;
    margin-right: 10px;
}
/* end Aufbau */
/* Content allgemein */
.clear {
    clear:both;
}
h1 {
    font-family: 'Playfair Display', serif;
    color: #e2ded5;
    font-size: 30px;
    font-weight: 200;
    line-height: 30px;
    margin:0;
    padding:0 0 25px 0;
    text-transform: uppercase;
    text-shadow: 1px 1px 0px #666;
}
h2 {
    color: #333;
    font-size: 12px;
    font-weight: 200;
    line-height: 20px;
    margin:0;
    padding:15px 0 0 0;
    text-transform: uppercase;
}
h3 {
    color: #333;
    font-size: 13px;
    line-height: 20px;
    margin:0;
    padding:5px 0 15px 0;
}
div.main div.content p {
    padding:0 0 15px 0;
	margin:0;
}
a.pfeil {
    text-decoration: none;
    font-weight: bold;
    padding: 5px 30px 6px 0;
    background-position: right center;
    background-repeat: no-repeat;
    background-image: url(../bilder/punktpfeil-rot.png); 
}
table.preise {
    border:none;
    padding:0;
    margin:0 0 15px 0;
}
table.preise td {
    font-weight:bold;
    padding-right:30px;
    text-transform: uppercase;
}
/* end Content allgemein */
/* Nav links */
#nav-l {
    float:left;
    width: 185px;
}
#nav-l>ul {
    margin: 0 0 20px 0;
    padding: 10px 0;
    border-top: 1px solid #e2ded5;
    border-bottom: 1px solid #e2ded5;
    -moz-box-shadow: 0 1px 0 0 #666,inset 0 1px 0 #666;
    -webkit-box-shadow: 0 1px 0 0 #666, inset 0 1px 0 #666;
    box-shadow: 0 1px 0 0 #666, inner 0 1px 0 #666;    
}
#nav-l ul li {
    list-style: none;
    list-style-image: none;
}
#nav-l ul li a,
#nav-l ul li span {    
    text-transform: uppercase;
    font-size: 13px;
    font-weight: normal;
    color: #e2ded5;
    text-decoration: none;
    padding-top: 1px;
    padding-bottom: 1px;
    display:block;   
    cursor: pointer;
    text-shadow: 1px 1px 0px #666;
}
#nav-l>ul>li>a:hover, 
#nav-l>ul>li:hover>a, 
#nav-l ul li a.selected ,
#nav-l>ul>li>span:hover, 
#nav-l>ul>li:hover>span, 
#nav-l ul li span.selected 
{
    color: #932136;
}
/* 2. Ebene */
.lt-ie7 #nav-l ul li:hover ul,
.no-js #nav-l ul li:hover ul   {
    display: block;  /* Unternavigation einblenden */
}
#nav-l ul li  ul{
    margin:3px 0 20px 0;
    padding:0;
    display:none;
    border:none;
}
/*#nav-l ul li:hover ul,*/
#nav-l ul li.selected ul {
    display: block;
}
#nav-l ul li  ul li {
    list-style: none;
    list-style-image: none;
}
#nav-l ul li ul li a {
    color: #e2ded5;
    font-weight: normal;
    text-transform:none;
    padding: 1px 0;
    display:block;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: auto;
    background-image: url(../bilder/punktpfeil-weiss.png); 
}
#nav-l ul li ul li a:hover,
#nav-l ul li ul li a.selected {
    color: #932136;
    background-image: url(../bilder/punktpfeil-rot.png);
}
/* end Nav links */
/* Sprachwahl */
#sprachwahl,
#sprachwahl a {
    text-transform: uppercase;
    font-size: 12px;
    color: #e2ded5;
}
#sprachwahl a.aktiv {
    font-weight:bold;
}
/* end Sprachwahl */
/* Teaser */
.teaser {
    margin-top:5px;
    margin-right: 0;
    border-top: 1px solid #e2ded5;
    -moz-box-shadow: inset 0 1px 0 #666;
    -webkit-box-shadow: inset 0 1px 0 #666;
    box-shadow: inner 0 1px 0 #666; 
}
.teaser>div {
    padding-top:15px;
}
.teaser>div,
hr {
    border-bottom: 1px solid #e2ded5;
    -moz-box-shadow: 0 1px 0 0 #666;
    -webkit-box-shadow: 0 1px 0 0 #666;
    box-shadow: 0 1px 0 0 #666;    
}
.teaser h3 {
    color: #e2ded5;
    font-size: 13px;
    padding:0;
    margin-bottom:5px;
    margin-top:0;
    text-transform: uppercase;
    text-shadow: 1px 1px 0px #666;
}
.teaser p {
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
}
.teaser img {
    margin-bottom:5px;
}
/* end Teaser */
/* Galerien */
.bilderrahmen {
    background-color: #dcd5cf;
    border: 1px solid #f8f7f7;
    -moz-box-shadow: 0 0 15px #666;
    -webkit-box-shadow: 0 0 15px#666;
    box-shadow: 0 0 15px #666;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
#galerie {
    margin: 0 10px 27px 10px;
    position:relative;
    width:638px;
    height: 334px;
}
#galerie img {
    margin:4px;
}
#slider ul {
    margin:0;
    padding:0;
}
#slider ul li {
    display:none;
}
#controller {
    position: absolute; 
    bottom:-5px;
    right:12px;
}
#position em {
    font-size:70px;
    margin:3px;
    color:#e2ded5;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto;
    background-image: url(../bilder/nav-punkt-weiss.png);
}
#position em.on {
    color:#932136;
    background-image: url(../bilder/nav-punkt-rot.png);
}
#position em:hover {
    cursor:pointer;
}
/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {max-width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
.no-js .slides > li:first-child {display: block;}
.flexslider {background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 5px; -moz-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; zoom: 1;}
.flexslider .slides {zoom: 1;}
.flexslider .slides > li {position: relative;}
.flex-container {zoom: 1; position: relative;}
.flex-caption {background:none; -ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4C000000,endColorstr=#4C000000);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4C000000,endColorstr=#4C000000); zoom: 1;}
.flex-caption {width: 96%; padding: 2%; margin: 0; position: absolute; left: 0; bottom: 0; background: rgba(0,0,0,.3); color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,.3); font-size: 14px; line-height: 18px;}
.flex-direction-nav { height: 0; }
.flex-direction-nav li a {width: 52px; height: 52px; margin: -13px 0 0; display: block; background: url(../bilder/slider/bg_direction_nav.png) no-repeat; position: absolute; top: 50%; cursor: pointer; text-indent: -999em;}
.flex-direction-nav li .next {background-position: -52px 0; right: -21px;}
.flex-direction-nav li .prev {left: -20px;}
.flex-direction-nav li .disabled {opacity: .3; filter:alpha(opacity=30); cursor: default;}
.flex-control-nav {width: 100%; position: absolute; bottom: 6px; right:6px; text-align: right;}
.flex-control-nav li {margin: 0 0 0 5px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-nav li:first-child {margin: 0;}
.flex-control-nav li a {width: 16px; height: 16px; display: block; background: url(../bilder/nav-punkt-weiss.png) no-repeat; cursor: pointer;}
.flex-control-nav li a:hover {background: url(../bilder/nav-punkt-rot.png) no-repeat;}
.flex-control-nav li a.active {background: url(../bilder/nav-punkt-rot.png) no-repeat; cursor: default;}
/* end Galerien */
/* Lightbox */
#lightboxOverlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: black;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
    opacity: 0.85;
    display: none;
}
#lightbox {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 10000;
    text-align: center;
    line-height: 0;
    font-family: "lucida grande", tahoma, verdana, arial, sans-serif;
    font-weight: normal;
}
#lightbox img {
    width: auto;
    height: auto;
}
#lightbox a img {
    border: none;
}
.lb-outerContainer {
    position: relative;
    background-color: white;
    *zoom: 1;
    width: 250px;
    height: 250px;
    margin: 0 auto;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
}
.lb-outerContainer:after {
    content: "";
    display: table;
    clear: both;
}
.lb-container {
    padding: 10px;
}
.lb-loader {
    position: absolute;
    top: 40%;
    left: 0%;
    height: 25%;
    width: 100%;
    text-align: center;
    line-height: 0;
}
.lb-nav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 10;
}
.lb-container > .nav {
    left: 0;
}
.lb-nav a {
    outline: none;
}
.lb-prev, .lb-next {
    width: 49%;
    height: 100%;
    background-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
    /* Trick IE into showing hover */
    display: block;
}
.lb-prev {
    left: 0;
    float: left;
}
.lb-next {
    right: 0;
    float: right;
}
.lb-prev:hover {
    background: url(../bilder/lightbox/prev.png) left 48% no-repeat;
}
.lb-next:hover {
    background: url(../bilder/lightbox/next.png) right 48% no-repeat;
}
.lb-dataContainer {
    margin: 0 auto;
    padding-top: 5px;
    *zoom: 1;
    width: 100%;
    -moz-border-radius-bottomleft: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -ms-border-bottom-left-radius: 4px;
    -o-border-bottom-left-radius: 4px;
    border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -webkit-border-bottom-right-radius: 4px;
    -ms-border-bottom-right-radius: 4px;
    -o-border-bottom-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.lb-dataContainer:after {
    content: "";
    display: table;
    clear: both;
}
.lb-data {
    padding: 0 10px;
    color: #bbbbbb;
}
.lb-data .lb-details {
    width: 85%;
    float: left;
    text-align: left;
    line-height: 1.1em;
}
.lb-data .lb-caption {
    font-size: 13px;
    font-weight: bold;
    line-height: 1em;
}
.lb-data .lb-number {
    display: block;
    clear: left;
    padding-bottom: 1em;
    font-size: 11px;
}
.lb-data .lb-close {
    width: 35px;
    float: right;
    padding-bottom: 0.7em;
    outline: none;
}
.lb-data .lb-close:hover {
    cursor: pointer;
}
/* end Lightbox */
/* News */
.news-index h2 {
    text-transform: none;
    margin:0;
    font-weight:bold;
    padding-top:0;
}
.news-index p {
    margin: 10px 0 !important;
}
.news-index img {
    float:right;
    padding:2px;
}
.news-index hr {
    margin-top:15px;
    margin-bottom:15px;
    clear:both;
}
.newsbild {
    float:right;
    padding: 0 0 10px 10px;
}
/* end News */



form .ds-input {
	position:relative;	
	margin-bottom:20px;
}
form .ds-input input {
	position:absolute;	
	top:5px;
	left:0;
	width:15px;
}
form .ds-input label {
	margin-left:35px;
	width:82%;
}


/* Routenplaner, Cookie-Banner */
#map {
  position: relative;
}
#map .privacy-proxy-map-wrapper {
	display:none;
}
#map.disabled  {
	opacity:1;
}
#map.disabled .privacy-proxy-map-wrapper {
	display:block;
    padding:80px 10px 0 10px;
}	
#map .privacy-proxy-map-wrapper  .privacy-proxy-map-wrapper {
    display:block;
    margin:0 auto;
}
#map .privacy-proxy-map-wrapper .privacy-proxy-map-wrapper--content {
	max-width:800px;
	background:white;
	height:auto;
	text-align:center;
	margin:0 auto;
	padding:10px;
	border-radius:0;
	border: 1px solid $grundgruen;
	color:black;
}
#map .privacy-proxy-map-wrapper .privacy-proxy-map-wrapper--heading {
	margin-top:10px;
	margin-bottom:10px;
	line-height:1.2;
}
#map .privacy-proxy-map-wrapper .privacy-proxy-map-wrapper--buttons {
	margin-top:20px;
}
#map .privacy-proxy-map-wrapper .privacy-proxy-map-wrapper--buttons button,
#map .privacy-proxy-map-wrapper .privacy-proxy-map-wrapper--buttons a {
  background-color: transparent;
  border: 1px solid $grundgruen;
  color:black;
}  
    

/* end Route */


/* non-semantic helper classes */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
/* print styles */
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}