/*
Theme Name: Kassiopeia
Theme URI: http://www.foxcomputers.ch
Author: Fox Computers | Michael Fuchs
Author URI: http://www.foxcomputers.ch
Description: Theme für Kassiopeia-Impuls
Version: 1.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Tags: green, white, light, one-column, fluid-layout, responsive-layout, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Text Domain: kassiopeia

Kassiopeia WordPress Theme © 2011-2015 Fox Computers
Kassiopeia is distributed under the terms of the GNU GPL
*/

@font-face {
    font-family: 'montezregular';
    src: url('fonts/Montez-Regular-webfont.eot');
    src: url('fonts/Montez-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/Montez-Regular-webfont.woff') format('woff'),
         url('fonts/Montez-Regular-webfont.ttf') format('truetype'),
         url('fonts/Montez-Regular-webfont.svg#montezregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sanslight';
    src: url('fonts/opensans-light-webfont.eot');
    src: url('fonts/opensans-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/opensans-light-webfont.woff2') format('woff2'),
         url('fonts/opensans-light-webfont.woff') format('woff'),
         url('fonts/opensans-light-webfont.ttf') format('truetype'),
         url('fonts/opensans-light-webfont.svg#open_sanslight') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansregular';
    src: url('fonts/opensans-regular-webfont.eot');
    src: url('fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/opensans-regular-webfont.woff2') format('woff2'),
         url('fonts/opensans-regular-webfont.woff') format('woff'),
         url('fonts/opensans-regular-webfont.ttf') format('truetype'),
         url('fonts/opensans-regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

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,img,ins,kbd,q,s,samp,small,strike,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,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}

.alignright {
	float:right;
	margin:0 0 15px 20px;
}
.alignleft {
	float:left;
	margin:0 20px 15px 0;
}
.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}

a {
	outline:none;
}
img {
	max-width:100%;
	height:auto;
}

body {
	background:#FAFAF0;
}
#wrapper {
	width:100%;
}
#header {
	background:#fff;
	position:fixed;
	top:0;
	width:100%;
	z-index:9999;
}
#header-inner, #leitsatz, #container, #footer {
	margin:0 auto;
	max-width:960px;
}

#header-img {
	padding-top:75px;
	height:425px;   
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  position:relative;
}
#header-overlay {
	position:absolute;
	bottom:-32px;
	width:100%;
	background:url(images/unterheader.png) no-repeat center top;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  height:124px;
}
#header-overlay img {
	display:block;
}
#leitsatz {
	position:relative;
	z-index:999;
}
#leitsatz #ls-caption {
	position:absolute;
	top:180px;
	right:0;
    font-family: 'montezregular';
	font-size:80px;
	line-height:120%;
	color:#fff;
	z-index:999;
}

#logo {
	float:left;
	display:inline-block;
	margin:17px 0 17px 0;
}

#menu {
	float:right;
	display:inline-block;
	margin:31px 0 0 0;
}
#menu ul {
	float:right;
}
#menu ul li {
	float:left;
	padding-bottom:27px;
	position:relative;
}
#menu ul li a {
    font-family: 'open_sanslight';
	font-size:14px;
	color:#000;
	text-transform:uppercase;
	text-decoration:none;
	padding:0 6px;
}
#menu ul li.current-menu-item a, #menu ul li.current-menu-ancestor .sub-menu li.current-menu-item a, #menu ul li.current-menu-ancestor a {
    font-family: 'open_sansregular';
	color:#7FB10F;
}
#menu ul li.current-menu-item .sub-menu li a, #menu ul li.current-menu-ancestor .sub-menu li a {
	color:#000;
}
#menu ul li.menu-item-has-children {
	background:url(images/arrowmenudown.gif) no-repeat left center;
}
#menu ul li .sub-menu {
	display:none;
}
#menu ul li:hover .sub-menu {
	display:block;
	position:absolute;
	top:33px;
	min-width:120px;
	z-index:2;
}
#menu ul li:hover .sub-menu li:first-child {
	border-top:1px solid #c8c8c8;
}
#menu ul li:hover .sub-menu li {
	float:none;
	border-bottom:1px solid #c8c8c8;
	padding:0;
	background:#fff;
}
#menu ul li:hover .sub-menu li a {
	padding:9px 6px 9px 6px !important;
	display:block;
	font-size:13px;
	text-transform:none;
}
#menu ul li:hover .sub-menu li.current-menu-item a {
    font-family: 'open_sansregular';
	color:#7fb10f;
}

body.error404 #container-outer {
    background:none;
}
#container-outer {
	background:url(images/bg-spirale.png) no-repeat right top;
	min-height:700px;
}
#container {
	padding-bottom:100px;
}

.home #content {
	margin:30px 5% 0 0 !important;
}
#content {
	float:left;
	width:63%;
	margin:0 5% 0 0;
}
.home #content, #content.no-side {
	float:none;
	width:100%;
	margin:0;
}
#content h1 {
    font-family: 'montezregular';
	font-size:50px;
	line-height:120%;
	margin:0 0 10px 0;
	padding-top:38px;
}
.home #content h1 {
	font-size:40px;
	line-height:150%;
	text-align:center;
	margin:0;
	padding-top:56px;
}
#content h2, #sidebar h2 {
    font-family: 'montezregular';
	font-size:30px;
	line-height:150%;
	color:#000;
}
#content p, #sidebar p, table {
    font-family: 'open_sansregular';
	font-size:15px;
	line-height:150%;
	color:#000;
	margin:0 0 25px 0;
}
.home #content p {
	font-size:18px;
}
#content ul, #content ol, #sidebar ul, #sidebar ol {
	margin:0 0 20px 0;
	padding:0 0 0 20px;
}
#content ul li, #sidebar ul li {
    font-family: 'open_sansregular';
	font-size:15px;
	line-height:150%;
	color:#000;
}
#content ol li, #sidebar ol li {
    font-family: 'open_sansregular';
	font-size:15px;
	line-height:150%;
	color:#000;
}
#content a, #sidebar a {
	color:#7fb10f;
}
.wp-caption-text {
	font-size:12px !important;
	line-height:120% !important;
}

#sidebar {
	float:left;
	width:32%;
	margin-top:108px;
}
#sidebar .widget-container {
	margin-bottom:60px;
}
#sidebar .widget-container h3 {
	display:none;
}
#sidebar ul.xoxo {
	margin:0 !important;
	padding:0 !important;
}
#sidebar .alignleft {
	margin:0 0 15px 0 !important;
}

#hb-outer {
	margin:0;
	padding:0;
}
#homebox-block .homebox {
	float:left;
	width:20.416666666666668%;
	margin:0 1.2083333333333333%;
    padding:25px 1.0416666666666665% 16px 1.0416666666666665%;
	background:#fff;  
	cursor:pointer;  
    -webkit-box-shadow: 0 0 1px 1px #dee8c8;
    -moz-box-shadow: 0 0 1px 1px #dee8c8;
    box-shadow: 0 0 1px 1px #dee8c8;
}
#homebox-block .homebox h3 {
    font-family: 'open_sansregular';
	color: #009245;
    font-size: 18px;
	text-align:center;
	margin:0 0 30px 0;
}
#homebox-block .homebox img {
	border-radius:92.5px;
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.responsive-map {
  position: relative;
  padding-bottom: 90%;
  height: 0;
  overflow: hidden;
}
.responsive-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wpcf7-form p {
	margin:0 0 10px 0 !important;
}
.wpcf7-form input.wpcf7-text {
	min-height:25px;
	width:100%;
	border-radius:0;
	-webkit-appearance:none;
	border:1px solid #ccc;
	padding-left:4px;
    font-family: 'open_sansregular';
	font-size:15px;
}
.wpcf7-form textarea {
	min-height:200px;
	width:100%;
	max-width:100%;
	border-radius:0;
	-webkit-appearance:none;
	border:1px solid #ccc;
	padding-left:4px;
    font-family: 'open_sansregular';
	font-size:15px;
}
.wpcf7-form input.wpcf7-text::-webkit-input-placeholder, .wpcf7-form textarea::-webkit-input-placeholder { color:#cbcbcb; font-style:italic; }
.wpcf7-form input.wpcf7-text::-moz-placeholder, .wpcf7-form textarea::-moz-placeholder { color:#cbcbcb; font-style:italic; } /* firefox 19+ */
.wpcf7-form input.wpcf7-text:-ms-input-placeholder, .wpcf7-form textarea:-ms-input-placeholder { color:#cbcbcb; font-style:italic; } /* ie */
.wpcf7-form input.wpcf7-text:-moz-placeholder, .wpcf7-form textarea:-moz-placeholder { color:#cbcbcb; font-style:italic; }

span.wpcf7-list-item {
    margin-left: 0 !important;
}
wpcf7-list-item-label {
	margin-left:5px;
}
span.rueckruf {
	display:inline-block;
	margin:0 0 10px 0;
}
.wpcf7-form .wpcf7-submit {
	border-radius:0;
	-webkit-appearance:none;
	background:#fff;
    font-family: 'open_sansregular';
	color:#333;
	font-weight:bold;
	padding:5px 15px;
	border-radius:8px;
	border:none;
	-webkit-box-shadow: 2px 2px 0px 0px rgba(127, 127, 127, 1);
	-moz-box-shadow:    2px 2px 0px 0px rgba(127, 127, 127, 1);
	box-shadow:         2px 2px 0px 0px rgba(127, 127, 127, 1);
	cursor:pointer;
	float:right;
}
.wpcf7-form .wpcf7-submit:hover {
	background:#f2f2f2;
}
div.wpcf7-validation-errors {
    border: 2px solid #f00 !important;
	color:#f00;
    font-family: 'open_sansregular';
}
div.wpcf7-mail-sent-ok {
	color: #398f14;
    font-family: 'open_sansregular';
}
div.wpcf7-response-output {
    margin: 2em 0 1em 0 !important;
	width:96% !important;
	padding:10px 2% !important;
}
.wpcf7-form input.wpcf7-text.wpcf7-not-valid::-webkit-input-placeholder { color:#f00; }
.wpcf7-form input.wpcf7-text.wpcf7-not-valid::-moz-placeholder { color:#f00; } /* firefox 19+ */
.wpcf7-form input.wpcf7-text.wpcf7-not-valid:-ms-input-placeholder { color:#f00; } /* ie */
.wpcf7-form input.wpcf7-text.wpcf7-not-valid:-moz-placeholder { color:#f00; }
.wpcf7-form input.wpcf7-text.wpcf7-not-valid {
	border:1px solid #f00;
}
span.wpcf7-not-valid-tip {
	display:none !important;
}

#footer {
	margin:5px auto 15px auto;
}
#footer .adresse {
	float:left;
	width:85%;
    font-family: 'open_sansregular';
	font-size:11px;
	line-height:120%;
	color:#000;
}
#footer .adresse a { 
	color: #7fb10f;
}
#footer .impressum {
	float:right;
	width:15%;
	text-align:right;
}
#footer .impressum a {
    font-family: 'open_sansregular';
	font-size:11px;
	line-height:120%;
	color:#7FB10F;
}

/*! Pushy - v0.9.2 - 2014-9-13
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */

/* Menu Appearance */

.pushy{
    position: fixed;
    width: 190px;
	padding-left:10px;
    height: 100%;
    top: 0;
	right:0;
    z-index: 9999;
    background: #80b027;
    -webkit-box-shadow: inset 5px 0 8px -2px rgba(0, 0, 0, .3);
    -moz-box-shadow: inset 5px 0 8px -2px rgba(0, 0, 0, .3);
    box-shadow: inset 5px 0 8px -2px rgba(0, 0, 0, .3);
    overflow: auto;
    -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
}


.pushy li:first-child {
	margin-top:50px;
}
.pushy li {
	margin-bottom:35px;
}
.pushy .sub-menu li {
	margin:0;
}
.pushy a {
    display: block;
    font-family: 'open_sansregular';
	font-size:16px;
	line-height:120%;
    color: #fff;
    text-decoration: none;
	text-transform:uppercase;
}

.pushy li.menu-item-has-children a {
	border-bottom:1px solid #b5d49c;
}
.pushy .sub-menu li {
	border-bottom:1px solid #b5d49c;
}
.pushy .sub-menu li a {
	padding:5px 0;
	font-size:14px;
	line-height:120%;
	text-transform:none;
	border-bottom:none;
}
.pushy .sub-menu li.current-menu-item a {
	color:#fcee21;
}

/* Menu Movement */

.pushy-right{
    -webkit-transform: translate3d(200px,0,0);
    -moz-transform: translate3d(200px,0,0);
    -ms-transform: translate3d(200px,0,0);
    -o-transform: translate3d(200px,0,0);
    transform: translate3d(200px,0,0);
}

.pushy-open{
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.container-push, .push-push{
    -webkit-transform: translate3d(-200px,0,0);
    -moz-transform: translate3d(-200px,0,0);
    -ms-transform: translate3d(-200px,0,0);
    -o-transform: translate3d(-200px,0,0);
    transform: translate3d(-200px,0,0);
}

/* Menu Transitions */

.pushy, #container, .push{
    -webkit-transition: -webkit-transform .2s cubic-bezier(.16, .68, .43, .99);
    -moz-transition: -moz-transform .2s cubic-bezier(.16, .68, .43, .99);
    -o-transition: -o-transform .2s cubic-bezier(.16, .68, .43, .99);
    transition: transform .2s cubic-bezier(.16, .68, .43, .99);
}

/* Site Overlay */

.site-overlay{
    display: none;
}

.pushy-active .site-overlay{
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
}

@keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@-moz-keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@-webkit-keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@-o-keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

.no-break {
    white-space: nowrap !important;
}


/* Media Queries */

@media only screen and (max-width:1000px) {
#header-inner, #container, #footer {
	margin-left:20px;
	margin-right:20px;
}
#leitsatz #ls-caption {
	right:20px;
}
}

@media only screen and (max-width:835px) {
#homebox-block .homebox h3 {
    font-size: 16px;
}
}
@media only screen and (min-width:769px) {
#menu {
	display:block;
}
.menu-btn {
	display:none;
}
}
@media only screen and (max-width:768px) {
#menu {
	display:none;
}
#header-inner {
	position:relative;
}
#hb-outer {
	text-align:center;
}
#homebox-block {
	display:inline-block;
	width:478px;
}
#homebox-block .homebox h3 {
    font-size: 18px;
}
#homebox-block .homebox {
    float: left;
    margin: 0 10px 25px 10px;
    padding: 25px 1.04167% 16px;
    width: 209px;
}
#homebox-block .homebox:nth-child(3) {
	clear:both;
}
#logo {
	margin:12px 0 12px 0;
}
.menu-btn {
	display:block;
	position:absolute;
	top:20px;
	right:0;
	cursor:pointer;
}
#header-img {
	padding-top:65px;
	height:300px;   
}
#header-overlay {
	bottom:-15px;
	height:65px;
}
#leitsatz #ls-caption {
    font-size: 60px;
    top:120px;
}
#container-outer {
	min-height:600px;
}
}
@media only screen and (max-width:650px) {
#container {
    padding-bottom: 50px;
}
.alignright, .alignleft {
	float:none;
	margin:20px 0;
	display:block;
}
#footer .adresse, #footer .impressum  {
	float:none;
	width:100%;
	text-align:center;
	margin:0 0 10px 0;
}
.home #content {
	margin:15px 5% 0 0 !important;
}
}
@media only screen and (max-width:586px) {
#header-img {
	height:160px;   
}
#header-overlay {
	bottom:0;
	height:36px;
}
#leitsatz #ls-caption {
    font-size: 30px;
    top:60px;
}

#homebox-block {
	display:block;
	width:auto;
}
#homebox-block .homebox {
    float: none;
    margin: 0 auto 25px auto;
    padding: 25px 1.04167% 16px;
    width: 209px;
}
.home #content h1 {
    font-size: 26px;
    padding-top: 28px;
}
.home #content p {
    font-size: 15px;
	text-align:center !important;
}
#content h1 {
    font-size: 36px;
    line-height: 150%;
    padding-top: 28px;
}
#content, #sidebar {
    float: none;
    margin: 0;
    width: 100%;
} 
#sidebar {
    margin-top: 60px;
}
}


