/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */


/* raleway-regular - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: local('Raleway'), local('Raleway-Regular'),
       url('../fonts/raleway-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/raleway-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* raleway-600 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: local('Raleway SemiBold'), local('Raleway-SemiBold'),
       url('../fonts/raleway-v14-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/raleway-v14-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* raleway-700 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: local('Raleway Bold'), local('Raleway-Bold'),
       url('../fonts/raleway-v14-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/raleway-v14-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}



html,
button,
input,
select,
textarea {
    color: #333;
	font: 14px 'Raleway', Helvetica, Helvetica Neue, Arial;
	font-weight:400;
}

* { box-sizing:border-box;}

html {
    font-size: 1em;
    line-height: 1.2;
}

*:focus {
    outline: 0;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
a { text-decoration:none; color:#ff5d28;outline: 0 !important;}



.clearer { clear:both;}

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body,html {
    font: 14px 'Raleway', Helvetica, Helvetica Neue, Arial;
	font-weight:400;
	width:100%;
	height:100%;
	min-height:100px;
	line-height:1.4em;
	letter-spacing:0.5px
}

.wrapper {
    width: 100%;
	height:100%;
    margin: 0;
	position:relative;
}

/* ===================
    ALL: Orange Theme
   =================== */

.header-container,
.footer-container,
.main aside {
    background: #fff; color:#222; position:relative; 
}

.title { color: white; height:40px; margin:0; padding:0; z-index:10; left:0px; top:0px;   overflow:hidden; width:33%; position:relative; line-height:40px; vertical-align:middle; }
	.title .logo { max-width:100%; max-height:100%; width:auto; height:auto; display:none;}
	.title .logo_klein { max-width:100%; max-height:100%; height:auto; position:relative; display: inline-block; top:2px;}
	.title a { display:block; width:100%; height:100%; overflow:hidden; text-indent:-999px; position:absolute; left:0; top:0; font-size:0%; /* background:url(../images/skatemap_logo_mobil.png) no-repeat; background-size: auto 100%;*/ }
	
/* ==============
    MOBILE: Menu
   ============== */

nav ul {margin: 0;padding: 0;}
nav ul li {display:block; }

	nav ul li a{  }

nav ul li:first-cild  { z-index:2}
nav ul li:nth-child(2)  { z-index:1}
nav ul li.aktiv { z-index:3;}

/* ==============
    MOBILE: Main
   ============== */

.main {}
.main article h1 {font-size: 2em;}

.header-container { position:fixed; width:100%; height:80px; z-index:1000; }
.main-container { height:100%; position:fixed; bottom:0; left:0; right:0; top:0; width:100%; z-index: 500;}
.main aside { min-height:100%; position:relative;width: 100%;left:0px; bottom:0; z-index: 1000;color: white;}
.footer-container footer {color: white;padding: 20px 0;}

/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

#mainwrapper { position:fixed; top:0; left:0; right:0; bottom:0; }


#map_wrapper {position: fixed;right:0px; top:80px;  height:100%; width:100%; height: calc(100% - 80px);}
#map { width:100%; height:100%; }

#fadenkreuz {width:19px;height:19px;position: absolute; top:50%; left:50%;background: url(../images/fadenkreuz.png) no-repeat center center; z-index:10000; margin-left:-9px; margin-top:-9px; display:none;}

#togglemap { position:fixed; bottom:15px; left:50%; overflow:hidden; background:#ff5d28; height:50px; width:50px; border-radius:50%; z-index:2000; margin-left:-25px}
	#showmap, #showlist { width:100%; height:100%; position:absolute; top:0; left:0; cursor:pointer }
	#showmap {background: url(../images/icon_map.png) no-repeat center center; background-size:40px 40px;}
	#showlist {background: url(../images/icon_list.png) no-repeat center center; background-size:40px 40px; display:none;}
#searchlocate {   height:40px;}
#search { position:relative; left:0px; top:0px; height:40px;}
#search form { position:relative; width:100%; height:100%; display:block;}
#search input { border:1px solid #222; color:#222; line-height:40px;  margin:0; overflow:hidden; padding:5px; line-height:40px; border-radius:10px; font-size:22px; font-weight:700}
	#search input[type=text] { width:100%; text-align:left; text-indent:10px; height:100% }
	#search input[type=submit] { width:40px;  background:url(../images/icon_lupe.svg) no-repeat; background-size:40px 40px; position:absolute; right:120px; top:0;border:0; height:40px; }
#locate {  background:url(../images/icon_locate.svg) no-repeat center center; background-size:40px 40px; width:40px;  position:absolute; right:80px; top:40px; height:40px; line-height:60px; overflow:hidden; text-indent:-999px;  cursor: pointer;}


#orderfilterbox {position:absolute; left:0; top:90px; width:100%; padding:0 15px}
	#orderbox,#filter {width:48%; float:left;  }
	#filter  { margin-right:2% }

	#orderbox nav { display:none; }


.orderfilter {border: 1px solid #222; border-radius:10px; padding:10px; background:#fff; overflow:hidden  }
.orderfilter > a {background:url(../images/arrow_down.svg) no-repeat right center; background-size:30px 30px; color:#222; font-weight:700; text-align:left; display:block}
.orderfilter > a.open {background-image:url(../images/arrow_up.svg) !important;}


	.orderfilter ul, .orderfilter ul li { list-style:none; margin:0; padding:0; }
	.orderfilter ul li a { color:#333; display:block; height:30px; line-height:30px; padding:0 10px 0 25px; background:url(../images/icon_haken.svg) no-repeat 0 4px; background-size:20px auto;}
	.orderfilter ul li a.hideit, #orderbox ul li:not(.aktiv) a  { background-image:url(../images/icon_ohnehaken.svg) !important; opacity:0.7}
	.orderfilter ul li { }
	
	
	
	#filterbox { display:none; position:absolute; right:0; top:40px;}
	#togglefilter { }
		#togglefilter span { display:none;}

.open{background-image:url(../images/icon_slideup.png) !important;}
	 
#sprache {   cursor:pointer; position:relative }
	#sprache .aktiv { width:100%; height:100%; line-height:40px; text-align:center;}
	#sprache #flaggen { display:none; background: rgba(255,255,255,0.9); padding:10px; width:200%; position:relative;  z-index:3000; line-height:20px;-webkit-box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2);box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2); box-sizing:border-box; position:absolute; right: 0px; top:50px; width:100px}
#fblogin {  width:40px; position:absolute; right:0px; top:0px; height:40px;z-index:30;     line-height:40px;border-left:1px solid #161616;    background:#222 url(../images/icon_fb.png) no-repeat center center; background-size:15px 20px; font-size:11px; cursor:pointer; z-index:1000}
	#fblogin > span { display:none;}
#fbbox { display:none; background: rgba(255,255,255,0.9); padding:10px; position:absolute; top:40px; right:0;z-index:3000; height:60px; width:180px; -webkit-box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2);box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2); z-index:1000}
#fblogout { color:#fff; position:absolute; right:10px; bottom:10px; background:#2d2d2d; line-height:30px; padding:0 5px 0 5px;}
#eintrag {   z-index:15; position:absolute; left:33%; top:0; width:67%; height:40px; line-height:40px;   }
	#eintrag a { background:#ff5d28 url(../images/icon_plus.svg) no-repeat left 5px center; color:#fff; display:block; height:100%; padding:0 10px 0 30px; line-height:40px; border-radius:10px; background-size:40px 40px; font-weight:600}
	#eintrag a span {display: inline-block;line-height: 15px; vertical-align: middle; }

.populaer_box { position:relative;  margin:20px  }
	.populaer_box .inner { display:block; height:100%; width:100%; overflow:hidden; position:relative; text-align:center}
	.populaer_box .inner img { max-width:100%; height:auto}
	
#meta {  text-align:right;  vertical-align:middle; position:absolute; right:20px; top:0;   line-height: 60px; padding:15px; z-index:2000}
	#meta a { color:#222; text-decoration:none; display:inline-block; padding:0 5px;}
	#meta span {display:inline-block; }
	
	#burger { display:none; background:url(../images/burger.svg) no-repeat center center; background-size:50% auto; width:60px; height:60px; position:absolute; right:15px; top:15px; cursor:pointer }

.listbox { position:relative; left:0px; top:0px;  color:#222; z-index:0; display:none;}
	#box_bounds { /*display:block !important*/}
.listbox.aktiv {z-index:1; display:block;}
.listeneintrag { height:200px; overflow:hidden; position:relative; cursor:pointer; display:block; color:#333; padding:5px; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15); margin:25px}
.listeneintrag:hover {box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.20)}
	
	.outbounds { display:none;}
.listeneintrag .vorschau { height:190px; position:relative;  overflow:hidden; width:50%}
.listeneintrag .vorschau img, #skatepark_bild > img { max-width:100%; min-width:100%; min-height:100%; height:auto; position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%); transition: all .5s;}

	.listeneintrag:hover .vorschau img { max-width: 105%; min-height:105% }

.eintraginfos { position:absolute; bottom:3px; right:0px; height:100%; width:50%; background: rgba(255,255,255,0.9);}
	.eintraginfos  .inner { padding:20px; height:100%; position:relative}
	.eintraginfos h3 { margin-top:0; font-size:18px; margin-bottom:5px; line-height:1.3; hyphens:auto; -webkit-hyphens:auto;  -moz-hyphens:auto; font-weight:700}
	.sternbox { margin:7px 0;}
	.sternbox img { width:20px; height:20px; margin-right:1px}
	.stern { display:inline-block; width:20px; height:20px; background:url(../images/stern_aus.svg) no-repeat; background-size:100% auto; vertical-align:middle}
		.stern_an {background-image:url(../images/stern_an.svg)}
	.anz_video { background:url(../images/icon_videos.svg) no-repeat 0 1px; background-size: 40px 40px; line-height:40px;  }
		.anz_video span { display:inline-block; width:30px; text-align:center; margin-right:15px; color:#ff5d28}
	.anz_kommentar { background:url(../images/icon_comments.svg) no-repeat -5px 1px; background-size: 40px 40px; line-height:40px;padding-left:10px; margin-top:-5px}
		.anz_kommentar span {display:inline-block; width:20px; text-align:center; margin:0 20px 0 -5px; color:#ff5d28}
	
	

#skatepark_listen { position:absolute; left:0;  bottom:0px; top:120px; width:100%; overflow-y: scroll;overflow-x: hidden; -webkit-overflow-scrolling: touch; }
/*#door {width:0px; position:absolute; left:100%; top:120px; z-index:900; margin-bottom:30px; overflow-x:hidden;}*/
#skatepark_detail {   background:#fff; color:#333; right:100%; top:120px;  z-index:1001;  bottom:0px;   position:absolute; overflow-y: scroll;overflow-x: hidden; -webkit-overflow-scrolling: touch; width:100%}
#add_skatepark {   background:#fff; color:#333; right:100%; top:330px;  z-index:1001;    position:relative; overflow-y: visible ;overflow-x: hidden; width:100%; }


#footer { position:absolute; width:100%; bottom:0px; right:0px; z-index:5000; height:30px; display:none}

.morebox { text-align:center; height: 60px;  }
.morebox a { display:block; height:100%; color:#ff5d28; line-height:60px; }
.morebox a img { width:30px; height:30px; position:relative; left:10px; top:-1px;}
.morebox a:hover { }


/*SKATEPARK DETAIL*/

.skatepark_bilder { }
.skatepark_bilder img { width:100%; height:auto; margin-bottom:3px}

.slick-slide {
   height:246px !important;
   overflow:hidden;
   position:relative;
}

.slick-slide img {
   /*height:100%; width:auto; */
   position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%); transition: all .5s; object-fit: cover; width: 100%;height: 100%;
}
.slick-slide img:hover {width: 105%; height:105% }

.slick-arrow {z-index:10000; background:url(../images/arrow_links.svg) no-repeat !important; background-size:40px 40px !important; width:40px !important; height:40px !important; opacity:0.7}
.slick-arrow:hover { opacity:1}
.slick-prev { left:25px !important}
.slick-next { right: 25px  !important; transform: rotate(180deg) !important;transform-origin: 50% 25%;}
.slick-prev:before, .slick-next:before { content:"" !important; } 
.slick-disabled, .slick-disabled:hover { opacity:0.1}

.eintraginfos .text_kat ul li { padding:5px 10px; font-size:90%}


.ausblenden { display:block; line-height:20px; color:#fff;  position:fixed; right:100%; top:120px; z-index:5000; width:40px; height:40px; background:#2d2d2d url(../images/icon_x.svg) no-repeat center center; background-size:100% auto; overflow:hidden; text-indent:-999px; margin-right:20px; margin-top:10px; display:none; opacity:0.4}
.ausblenden:hover {opacity:0.9}
#add_skatepark .ausblenden { top:0; position:absolute;}

#skatepark_bild {  width:100%; position:relative;}
#skatepark_bild h1 {  color:#222;  margin:0; width:100%; line-height:120%; padding-right:200px}
#skatepark_bild h1:after { display:block; content:" "; float:none; clear:both;}
#skatepark_bild h1 > a { font-weight:700; padding:25px 5px 5px 25px ; display:inline-block; color:#222; float:left}

#skatepark_bild .sternbox { float:left; padding:15px}
	
	
.editbutton { float:right; background:#ccc url(../images/icon_plus.svg) no-repeat left 5px center; background-size:20px auto; color:#fff; padding:10px 10px 10px 30px; border-radius:10px; display:block; opacity:0.8; }
	.editbutton:hover {opacity:1}

.rate_skatepark { position:absolute; top:22px; right:25px; background-image: url(../images/stern_an_weiss.svg) }
.add_bild{ position:relative; top:-50px; right:25px; opacity:0.7; background-color: transparent  }
	.add_bild:hover {opacity:1; background-color: rgb(204,204,204,0.2)}


.toggleBox { padding:25px;}
.toggleButton { padding:0px 10px 0px 10px;}

.text_desc {padding:0 25px 10px 25px;}
.text_kat{margin:0px 0 20px 0; position:relative;}
	.share_fb { background:url(../images/icon_fb_blau.svg) no-repeat left center; background-size:30px auto; display:block; min-height:20px; padding-left:25px; line-height:20px; margin-top:10px; float:none; clear:both; padding: 10px 0 10px 35px;}
	.text_kat ul { margin:0; padding:0; list-style:none; float:left; margin-bottom:10px;}
	.text_kat ul li, .label_cat label{ display:block; background:#ff5d28; color:#fff; margin:0px 2px 2px 0px; padding:10px 20px; float:left; border-radius:20px}
.text_weg { padding:10px 10px 10px 40px; background:url(../images/icon_weg.svg) no-repeat -2px 8px; margin-top:10px; background-size:30px 30px; min-height:30px; width:50%; color:#999; float:left}

/*kontakt*//*news*/

	
	.pageform { margin-top:20px;}
	.pageform label span { font-weight:400; display:block; padding-bottom:5px; padding-top:10px;}
	.pageform input { margin-right:0 !important}
	.pageform input[type=text],.pageform input[type=email], .pageform textarea { width:100%; padding:2%; border-radius:10px}
	


.newseintrag { clear:both; border-bottom:1px solid #ddd; padding-bottom:20px; margin-bottom:20px;}
.newseintrag .bild_klein { float:none; margin-bottom:10px; }
.newseintrag .bild_klein img {max-width:100%; height:auto;}

#newsletter {}

.gm-style .gm-style-iw-c { border-radius:0; padding:0}
.gm-style-iw-d { overflow:hidden !important; width:250px;}
.maps_image_box {width:250px; height:125px; position:relative; margin-top:-1px }
.maps_image {     position: absolute;top: 50%;left: 50%; transform: translate(-50%, -50%);object-fit: cover;width: 100%;height: 100%;}
.maps_titel { padding:9px 12px; font-size:16px; font-weight:700; font-family:"Raleway", sans-serif; width:155px; float:left;}
	.maps_titel a { color:#222}
.maps_preview .sternbox { width:95px; float:right; }
.maps_preview .sternbox img { width:16px; height:16px}
.gm-style-iw button img { display:none !important; }
.gm-style-iw button  {  background:url(../images/icon_x.svg) no-repeat !important; background-size:100% auto !important; width:30px !important; height:30px !important}





/* ==========================================================================
   Media Queries
   ========================================================================== */
   


@media only screen and (min-width: 480px) and (max-width: 1024px) {

.eintraginfos  .inner { padding:10px;}
.eintraginfos .text_kat ul li {
    padding: 3px 7px;
    font-size: 80%;
}
.anz_video, .anz_kommentar { font-size:90%; background-size:30px 30px; line-height:30px}
.anz_video span { width:21px}
.anz_kommentar span { width:10px}

#orderfilterbox { left:0 !important; width:100% !important}
.orderfilter ul li a {padding: 0 0 0 25px; }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	
	#orderfilterbox {  width:50% !important; left:0 !important;}

}

@media only screen and (min-width: 768px) {
	
	
	
	
/*  GRID OF TWELVE  */
.span_12_of_12 {width: 100%;}
.span_11_of_12 {width: 91.66%;}
.span_10_of_12 {width: 83.33%;}
.span_9_of_12 {width: 75%;}
.span_8_of_12 {width: 66.66%;}
.span_7_of_12 {width: 58.33%;}
.span_6_of_12 {width: 50%;}
.span_5_of_12 {width: 41.66%;}
.span_4_of_12 {width: 33.43%;}
.span_3_of_12 {width: 25%;}
.span_2_of_12 {width: 16.66%;}
.span_1_of_12 {width: 8.333%;}

/* ====================
    WIDE: CSS3 Effects
   ==================== */
   
   #mainwrapper { position:fixed; }

    .header-container,
    .main aside { position:absolute; }
	.header-container {height:90px;position:fixed; top:0; left:0;}
	

/* ============
    WIDE: Menu
   ============ */

    .title {
        position:absolute; width:16.66%; z-index:10; top:0px; margin:0 !important; height:90px; text-align:left; overflow:hidden; border:0; padding:5px 5px 5px 20px; line-height:90px;  }
		.title .logo {  display:block; position: relative;top: 50%;left: 0; right:0; transform: translateY(-50%); }
		.title .logo_klein { display:none;}
		.title a { display:block; width:100%; height:100%; overflow:hidden; text-indent:-999px; position:absolute; top:0; left:0; background: none;}
	
	
	
	nav ul li a{ height:60px; line-height:60px;}
/* ============
    WIDE: Main
   ============ */
	
	#map_wrapper {position: absolute !important;right:0px; top:90px;  width: 50%; display:block; height:100%; height: calc(100% - 90px);}
    #map{}
	
	#togglemap { display:none}
	
	#orderfilterbox {left:16.66%;  width:33.33%;}
	

		#filterbox { display:none; position:relative;  top:0px;}
		#togglefilter { }
		#togglefilter span { position:absolute; right:0; top:0; height:30px; width:30px; background:url(../images/icon_slidedown.png) no-repeat; background-size:cover; display:block;}
	#search {height:90px; margin-right:80px; padding:15px 0px 15px 15px }
	#searchlocate {  height:90px; width:33.33%; position:absolute; left:16.66%; top:0; z-index:10}
		#search input { line-height:60px;}
			#search input[type=text] {  width:100%;}
			#search input[type=submit] { width:60px; height:60px; background-position: 10px 10px; right:0px; border-radius:0;-webkit-border-radius:0; }
	#locate {width:80px; height:90px; top:0; right:0px;line-height:90px;}
	
	#sprache { width:60px; height:60px; right:0px; line-height:60px; }
	#sprache .aktiv {line-height:60px;}
	#fblogin { width:60px; height:60px;line-height:60px; background-position:3px 17px; background-color:#2d2d2d;}
		#fblogin span {text-indent:18px; display:block;}
	#fbbox {  top:60px; }

	#eintrag {position:absolute;  left:50%; top:0px; height:90px; width:250px; line-height:90px; background-position: 10px 10px;  background-size:40px 40px; padding:15px }
	#eintrag a { line-height:60px; padding: 0 10px 0 50px; }
	
	#footer { height:150px;}
	.populaer_box { display:block;}
		.populaer_box a { display:block;}
	
	.listeneintrag img { max-width:100%; min-width: auto; height:auto;}
	
    .main aside {width: 50%;}
	
	#skatepark_listen {   top:140px; }
	#skatepark_detail {  width:50%; top:90px;}
	#add_skatepark {   width:50%; top:90px; bottom:0;overflow-y: scroll; position:absolute;}
	
	.ausblenden {  right:50%; top:90px; }
		#add_skatepark .ausblenden {  position:fixed; right:50%; top:90px; }
	
	.text_kat ul { margin-bottom:0px;}	
	.share_fb { float:right; clear:none; }
	
	/*kontakt*//*news*/

	.pageform input[type=text], .pageform input[type=email], .pageform textarea { width:46%}
	
	.newseintrag .bild_klein { float:left; margin-right:20px; max-width:20%; height:auto;}
	
		
	
	
}

@media only screen and (min-width: 1140px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 100%; /* 1140px - 10% for margins */
        margin: 0 auto;
    }
	
	
		
	
	.eintraginfos h3 { font-size:22px;}
}

@media only screen and (min-width: 1200px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 100%; /* 1140px - 10% for margins */
        margin: 0 auto;
    }
	
	.anz_video { position:absolute; left:20px; bottom:15px}
	.anz_kommentar { position:absolute; left:135px; bottom:15px}
		.anz_kommentar span {margin: 0 10px 0 -5px;}
		
	
	.eintraginfos h3 { font-size:22px;}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.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: #000 !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) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    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;
    }
}