@charset "utf-8";
/* ================= GENERAL STYLES ================== */

html, body{
	margin: 0;
	padding: 0;
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
}

body{
    font-size:14px;
    -webkit-overflow-scrolling: touch;
	font-family: 'Open Sans', sans-serif;
    /* IE10+ */
    background-image: -ms-linear-gradient(left, #1788B4 0%, #749B80 50%, #778935 100%);
    /* Mozilla Firefox */
    background-image: -moz-linear-gradient(left, #1788B4 0%, #749B80 50%, #778935 100%);
    /* Opera */
    background-image: -o-linear-gradient(left, #1788B4 0%, #749B80 50%, #778935 100%);
    /* Webkit (Safari/Chrome 10) */
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #1788B4), color-stop(50, #749B80), color-stop(100, #778935));
    /* Webkit (Chrome 11+) */
    background-image: -webkit-linear-gradient(left, #1788B4 0%, #749B80 50%, #778935 100%);
    /* W3C Markup */
    background-image: linear-gradient(to right, #1788B4 0%, #749B80 50%, #778935 100%);
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Bitter', serif;
	font-weight:normal;
	padding:0px;
	line-height:1.2;
}

h1 {   	font-size:26px;	margin-top:0px;	 margin-bottom:10px; }
h2 {	font-size:20px;	margin-top:0px;	 margin-bottom:10px; }
h3 {	font-size:18px;	margin-top:10px; margin-bottom:5px;  }
h4 {	font-size:16px;	margin-top:10px; margin-bottom:5px;  }
h5 {	font-size:14px;	margin-top:10px; margin-bottom:5px;  }
h6 {	font-size:12px;	margin-top:10px; margin-bottom:5px;  }

.show {
	display:block !important;
}

.hide {
	display:none !important;  
}

.hidden {
	display:none;
}

.clear {
	clear:both;
}

.clearafter:after { 
	clear: both; 
}

p {
	font-size:14px;
	line-height:1.5;
	margin-bottom:15px;
	margin-top:0px !important;
}

.right {
	float:right;
}

.left {
	float:left;
}

p:last-child {
	margin-bottom:0px;
}

a {
	text-decoration: none;
	color: #4893bb;
	transition: all .5s ease;
}

a:hover {
	text-decoration: none;
	color: #7fb743;
}

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

strong {
	font-weight: bold;
}

i, em {
	font-style: italic;
}

hr {
	margin-top:15px;
	margin-bottom:20px;
	padding: 0;
	border:0;
	background:#4893bb;
	height:1px;
}

label {
	display:block;
	font-weight:normal;
	font-size:11px;
	line-height:1.2;
}

.base {
	background-color:#fff;
}

table {
	margin: 20px 0;
}

table td, table th{
	padding:5px;
}

.container {
	max-width:1000px;
	margin: 0 auto;
	padding: 20px;
}

/* ================= MISC ================== */

.feedback-input {
	color:#3c3c3c;
	font-weight:normal;
	font-size: 14px;
	background-color: #fbfbfb;
	padding: 5px 5px 5px 40px;
	width:100%;
	margin:0px 0px 5px 0px;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid rgba(0,0,0,0);
}

.feedback-input:focus {
	background: #fff;
	border: 2px solid #4893bb;
	color: #4893bb;
	outline: none;
	padding: 5px 5px 5px 40px;
}

.loading {
	position: relative;
}

.loading:after {
	content:"";
	background: rgba(0,0,0,0.7) url(../images/loading.gif) no-repeat center center;
	position: absolute;
	left:0;
	top:0;
	height: 100%;
	width: 100%;
	z-index: 99;
}

.inp_err {
	border:2px solid red;
}

/* Terminbuchung ===========================*/

section.trm_container{
	box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.5) inset;
}

div.step_title{
	/*color: #257c9c;*/
	/*text-transform: uppercase;*/
	padding: 10px;
	overflow: hidden;
 	border: none;
 	color: #fff;
 	background: #0199d9;
	transition:background 1s ease;
	-webkit-transition:background 1s ease;
}

div.step_active {
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.7);
}

div.step_active i {
	transform:rotate(90deg);
}

div.step_okey {
	background: #68bb00;
}

div.reset_active {
	cursor:pointer;
}

div.box_content {
	padding:10px;
}

div.options ul {
	list-style: none;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

div.options ul li {
	color: #000;
	padding:10px;
	transition:all 0.5s ease;
}

div.options ul a {
	color: #000;
}

div.options li:hover {
	background-color: #e5e5e5;
}

table.calendar {
	margin:0 30px 0 0;
}

table.calendar, table.calendar td, table.calendar th {
	border:1px solid #000;
	border-collapse: collapse;
	text-align: center;
	cursor: default;
}

table.calendar .day_not_active {
	background-color: #D3D3D3;
}

table.calendar .day_not_available {
	background-color: #FF6060;
}

table.calendar .day_active {
	background-color: #90EE90;
	cursor:pointer;
}

table.calendar .day_active:hover {
	background-color: #68bb00;
}

table.calendar .navigate {
	cursor:pointer;
}

div#time {
	border:5px solid #68bb00;
	padding:20px;
	margin-top:20px;
}

div.form_box {
	margin-bottom: 10px;
}

div.form_unit {
	margin-right: 10%;
}

input.long { width: 80%; }

input.short{ width: 10%; }

div#returnmsg {
	background-color: #f6cbc5;
	border: 1px solid #e01900;
	padding: 10px;
	margin-bottom: 10px;
}

div#returnmsg i {
	color:#c11600;
	margin-right: 2%;
	vertical-align: middle;
}

input:hover, textarea:hover,
input:focus, textarea:focus {
	background-color:white;
}

.button-blue {
	width: 100%;
	border: #e2e2e2 solid 2px;
	cursor: pointer;
	background-color: #4893bb;
	color: #fff;
	font-size: 14px;
	padding: 5px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	font-weight: bold;
}

.button-blue:hover, .button-blue:focus {
	background-color: #fff;
	color: #4893bb;
	border: #4893bb solid 2px;
}


/*
 * Gridism
 * A simple, responsive, and handy CSS grid by @cobyism
 * https://github.com/cobyism/gridism
 */

/* Preserve some sanity */
.grid,
.unit {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Set up some rules to govern the grid */
.grid {
  display: block;
  clear: both;
}
.grid .unit {
  float: left;
  width: 100%;
  padding: 15px;
}

/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
.grid .unit:first-child { padding-left: 20px; }
.grid .unit:last-child { padding-right: 20px; }

/* Nested grids already have padding though, so let’s nuke it */
.unit .unit:first-child { padding-left: 0; }
.unit .unit:last-child { padding-right: 0; }
.unit .grid:first-child > .unit { padding-top: 0; }
.unit .grid:last-child > .unit { padding-bottom: 0; }

/* Let people nuke the gutters/padding completely in a couple of ways */
.no-gutters .unit,
.unit.no-gutters {
  padding: 0 !important;
}

/* Width classes also have shorthand versions numbered as fractions
 * For example: for a grid unit 1/3 (one third) of the parent width,
 * simply apply class="w-1-3" to the element. */
.grid .whole,          .grid .w-1-1 { width: 100%; }
.grid .half,           .grid .w-1-2 { width: 50%; }
.grid .one-third,      .grid .w-1-3 { width: 33.3332%; }
.grid .two-thirds,     .grid .w-2-3 { width: 66.6665%; }
.grid .one-quarter,    .grid .w-1-4 { width: 25%; }
.grid .three-quarters, .grid .w-3-4 { width: 75%; }
.grid .one-fifth,      .grid .w-1-5 { width: 20%; }
.grid .two-fifths,     .grid .w-2-5 { width: 40%; }
.grid .three-fifths,   .grid .w-3-5 { width: 60%; }
.grid .four-fifths,    .grid .w-4-5 { width: 80%; }
.grid .golden-small,   .grid .w-g-s { width: 38.2716%; } /* Golden section: smaller piece */
.grid .golden-large,   .grid .w-g-l { width: 61.7283%; } /* Golden section: larger piece */

/* Clearfix after every .grid */
.grid {
  *zoom: 1;
}
.grid:before, .grid:after {
  display: table;
  content: "";
  line-height: 0;
}
.grid:after {
  clear: both;
}

/* Utility classes */
.align-center { text-align: center; }
.align-left   { text-align: left; }
.align-right  { text-align: right; }
.pull-left    { float: left; }
.pull-right   { float: right; }

/* Responsive Stuff */
@media screen and (max-width: 767px) {
  /* Stack anything that isn’t full-width on smaller screens */
  .grid .unit {
    width: 100% !important;
    padding-left: 30px;
    padding-right: 30px;
  }
  .unit .grid .unit {
    padding-left: 0px;
    padding-right: 0px;
  }

  /* Sometimes, you just want to be different on small screens */
  .center-on-mobiles {
    text-align: center !important;
  }
  .hide-on-mobiles {
    display: none !important;
  }
}

/* End of Gridism */
