/*************************/
/***   FONTS           ***/
/*************************/

@font-face {
    font-family: 'Ubuntu';
    src: url('../font/Ubuntu-R.ttf') format('truetype');
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../font/Ubuntu-B.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../font/Ubuntu-M.ttf') format('truetype');
	font-weight: 500;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../font/Ubuntu-L.ttf') format('truetype');
    font-weight: 300;
}

/*************************/
/***   BASE            ***/
/*************************/

* {
  margin: 0;
  padding: 0;
}
 
body {
	font-size: 18px;
	line-height: 1.6;
	color: #7a7a7a;
	background: white;
  font-family: Ubuntu;
}

a, a:visited{
  color: #313131;
  text-decoration: none;
}

a:hover{
  text-decoration: underline;
  color: #313131;
}

p, li{
  font-size: 15px;
}

h1 {
	color: #046a38;
  font-size: 30px;
  font-weight: normal;
}

h2{
  color: #046a38;
  font-size: 25px;
  font-weight: normal;
}
h3{
  color: #046a38;
  font-size: 18px;
  font-weight: bold;
}

/*************************/
/***   HEADER          ***/
/*************************/

header{
  width: 100%; 
}
header.default{
  border-bottom: 3px solid #046a38;
  margin-bottom: 20px;
}
header > div{
  width: 1100px;
  margin: 0 auto;
}
header > div{
  padding: 15px 0;
}
#logo{
  display: inline-block;
  vertical-align: top;
}
#mobile_open, #mobile_close {
    display: none;
    color: transparent;
    height: 0;
}
#menu{
  display: inline-block;
  width: calc(100% - 290px);
  text-align: right;
  vertical-align: top;
  margin-top: 22px;
}
#menu li{
  list-style: none;  
  display: inline-block;
  margin-left: 40px;
  vertical-align: middle;
}
#menu li a{
  font-size: 18px;  
  text-transform: uppercase;
  color: #313131;
  text-decoration: none;
  border-bottom: 2px solid white;
  padding: 5px 0;
}
#menu li a:hover, #menu li.current a{
  border-bottom: 2px solid #046a38;
}

/*************************/
/***   CONTENT         ***/
/*************************/

#intro{
  width: 100%;
  position: relative;
}
#intro li {
    display: block;
}
#intro figure img{
  max-width: 100%;
  display: block;
}
#intro figure figcaption{
  position: absolute;
  bottom: 0;
  width: 1100px;
  left: 0;
  right: 0;
  margin: auto;
}
#intro figure figcaption p{
  background: rgba(0,0,0,0.4);
  padding: 10px 25px;
  color: white;
  font-size: 30px;
  margin: 0;
}

#content{
  width: 1100px;
  margin: 0 auto;
  padding-bottom: 20px;
  position: relative;
  overflow: hidden;
}
#content ul li{
  list-style: none;
  background: url(../images/odr.png) no-repeat left 5px top 6px;
  padding-left: 20px;
}
#banners{
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}
#banners .col{
  display: inline-block;
  position: relative;
  width: 24%;
  vertical-align: top;
  cursor: pointer;
  margin-bottom: 10px;
}
#banners .col > a{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
#banners .col .col_title{
  display: inline-block;
  font-size: 20px;
  border-bottom: 3px solid white;
  margin-bottom: 4px;
  padding-bottom: 2px;
  line-height: 1;
  color: #046a38;
  font-weight: bold;
}
#banners .col:hover .col_title{
  border-bottom: 3px solid #046a38;
}
#banners .col img{
  width: calc(100% - 2px);
  display: block;
  border-bottom: 3px solid white;
}
#banners .col:hover img{
  border-bottom: 3px solid #046a38;
}
#banners .col .submenu{
  display: none;
  position: absolute;
  top: 100%;
  width: 100%;
  padding: 15px 20px;
  background: #f37021;
  z-index: 5;
  text-align: left;
}
#banners .col .submenu a{
  display: block;
  color: white;
  text-decoration: none;
  padding-bottom: 4px;
}
#banners .col .submenu a:hover{
  text-decoration: underline;
}
form table{
  width: 100%;
}
div.empty{
  height: 10px;
}
input[type="submit"], a.button{
  color: white;
  background: #046a38;
  padding: 5px 10px;
  border-radius: 4px;
  border: none;
  outline: none;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.5em;
}
input[type="submit"]:hover, a.button:hover{
  color: white;
  background: #636466;
}
.padded {
  padding-left: 175px;
}
#content .text img{
  margin-right: 10px;
  margin-bottom: 10px;
  max-width: 100%;
}
#content .main-img {
    float: left;  
    margin-right: 30px;
}
#content b, #content strong{
  color: #046a38;
}
table.table.table-bordered.params {
    display: table;
    border: none;
    vertical-align: top;
    width: calc(100% - 400px);
    max-width: 500px;
    float: right;
    border: 10px solid #f1f2f2;
    background: #F1F2F2;
    font-size: 90%;
}
table.table.table-bordered.params td{
  padding: 2px 8px;
  border-left: none;
  border-right: none;
}
table.table.table-bordered.params tr:first-of-type td{
  border-top: none;
}
table.table.table-bordered.params tr:last-of-type td{
  border-bottom: none;
}
div.clear{
  clear: both;
}
p.asterisk{
  font-size: 12px;
}

.sideBox{
  display: inline-block;
  vertical-align: top;
  width: 32%;
  margin-bottom: 15px;
}
#content .sideBox img{
  margin: 0;
  max-width: 100%;
  width: auto;
  height: auto;
}

/*************************/
/***   SLIDES          ***/
/*************************/
.slidesjs-pagination {
    position: absolute;
    left: 0;
    right: 0;
    top: 15px;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    text-align: right;
    z-index: 10;
}
#intro .slidesjs-pagination-item {
    z-index: 1000;
    margin: 0 2px;
    display: inline-block;
}
.slidesjs-pagination-item a {
    width: 15px;
    height: 15px;
    display: block;
    z-index: 1000;
    background: url(../images/nav.png) no-repeat center center;
    color: transparent;
}
.slidesjs-pagination-item a:hover, .slidesjs-pagination-item a.active {
    background: url(../images/nav_hover.png) no-repeat left top;
    color: transparent;
}
/*************************/
/***   FOOTER          ***/
/*************************/

footer{
  width: 100%;
  background: #046a38;
  padding-top: 30px;
  padding-bottom: 50px;
}
footer > div{
  width: 1100px;
  margin: 0 auto;
  text-align: center;  
}
footer p, footer a, footer h2{
  color: white;
  font-weight: 300;
}
footer a{
	color: white !important;
}
footer a:hover{
  color: white;
}
footer p.tel a{
  padding-left: 15px;
  background: url(../images/tel.png) no-repeat left center;
}
footer p.mail{
  margin-bottom: 25px;
}
footer p.firma{
  vertical-align: middle;
}
footer p.firma img{
  max-height: 75px;
  display: inline-block;
}
footer p.firma a{
  display: inline-block;
  vertical-align: middle;
}
footer p.firma .miniLogo{
  display: inline-block;
  color: white;
  margin-right: 25px;
}
footer p a.white{
  color: white;
  text-decoration: underline;
}
footer p a.white:hover{
  text-decoration: none;
}







#ajax-spinner {
	margin: 15px 0 0 15px;
	padding: 13px;
	background: white url('../images/spinner.gif') no-repeat 50% 50%;
	font-size: 0;
	z-index: 123456;
	display: none;
}

div.flash {
	color: black;
	background: #FFF9D7;
	border: 1px solid #E2C822;
	padding: 1em;
	margin: 1em 0;
}

a[href^="#error:"] {
	background: red;
	color: white;
}

form th, form td {
	vertical-align: top;
	font-weight: normal;
  padding-bottom: 10px;
}

form th {
	text-align: left;
  width: 175px;
}

header form th{
  width: 0;
}

form .required label {
	font-weight: bold;
}

form .error {
	color: #D00;
	font-weight: bold;
}

.cc_container .cc_btn, .cc_container .cc_btn:visited{
  background-color: #046a38 !important;
  color: white !important;
}
.cc_container .cc_btn:hover, .cc_container .cc_btn:visited:hover{
  background-color: #636466 !important;
}

/***********
RESPONSIVE
************/

@media screen and (max-width: 1120px){
header > div, #content, footer > div, .slidesjs-pagination{
  width: 96%;
  padding: 0 2%;
}
header > div{
  padding-top: 15px;
  padding-bottom: 15px;
}
#intro figure figcaption{
  width: 100%;
}
#content{
  padding-bottom: 20px;
}
#content .text img{
  height: auto !important;
}
#content .sideBox img{
  max-width: 100%;
}
}
 
@media screen and (max-width: 900px){
.sideBox{
  width: 49%;
}
}  

@media screen and (max-width: 800px){
#logo{
  display: block;
  text-align: center;
}
#mobile_open, #mobile_close {
    text-align: center;
    width: 100%;
    height: 30px;
    padding-top: 10px;
    padding-bottom: 15px;
    margin-bottom: 10px;
    vertical-align: top;
    cursor: pointer;
    color: #3d3d3d;
}
#mobile_open {
    background: url(../images/hamburger.png) no-repeat center bottom;
    display: block;
}
#mobile_close {
    background: url(../images/close.png) no-repeat center bottom;
}
#menu{
  margin-top: 10px;
  width: 100%;
}
#hornimenu{
    display: none;
    position: absolute;
    left: 0;
    z-index: 50;
    background: white;
    padding-bottom: 10px;
    width: 100%;
}
#hornimenu.visible {
    display: block;
    overflow: hidden;
    border-bottom: 3px solid #046a38;
}
#menu li{
  display: block;  
  text-align: center;
  margin-left: 0;   
}
#menu li a{
  display: block;
  height: 35px;
  margin-bottom: 3px; 
}
#intro figure figcaption p{
  font-size: 20px;
}
#banners .col{
  width: auto;
  max-width: 49%;
}
#content .main-img{
  float: none;
}
table.table.table-bordered.params{
  width: 100%;
  float: none;
}
.sideBox {
    width: 334px;
    margin: 0 auto;
    display: block;
    text-align: center;
}
}

@media screen and (max-width: 700px){
#intro figure figcaption{
  display: none;
}
}

@media screen and (max-width: 630px){
#banners .col{
  width: auto;
  max-width: 100%;
}
.sideBox {
    width: 100%;
}
}