/* ####################################################### */

html, body {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-text-size-adjust: none;
}

html {
  box-sizing: border-box;
}

/* ################## font declarations ################## */

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/OpenSans-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/OpenSans-Semibold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/OpenSans-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/OpenSans-Light.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'novecento_sans_widenormal';
  src: url('fonts/Novecentosanswide-Normal-webfont.woff2') format('woff2'),
       url('fonts/Novecentosanswide-Normal-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'novecento_sans_widemedium';
  src: url('fonts/Novecentosanswide-Medium-webfont.woff2') format('woff2'),
       url('fonts/Novecentosanswide-Medium-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'novecento_sans_widedemibold';
  src: url('fonts/Novecentosanswide-DemiBold-webfont.woff2') format('woff2'),
       url('fonts/Novecentosanswide-DemiBold-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('fonts/Montserrat-Bold.woff2') format('woff2'),
       url('fonts/Montserrat-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Courgette';
  src: url('fonts/Courgette-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

/* ####################### general ####################### */

*, *:before, *:after {
  box-sizing: inherit;
}

div, span, a {
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img {
  border: 0px;
}

ul {
  padding-right: 10px;
}

b {
  font-weight: 600;
}

a {
  font-family: inherit;
  font-weight: normal;
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  font-size: inherit;
}

/* ####################### headings ###################### */

h1 {
  margin: 0;
  padding: 0px 0px 30px 0px;
  font-family: 'novecento_sans_widedemibold', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 44px;
  line-height: 40px;
  color: #000;
}

h2 {
  margin: 0;
  padding: 0;
  font-family: 'novecento_sans_widenormal', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 38px;
  line-height: 36px;
  color: #000;
}

h3 {
  margin: 0;
  padding: 0px 0px 18px 0px;
  font-family: 'novecento_sans_widemedium', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 32px;
  line-height: 30px;
  color: #000;
}

/* ##################### menu items ###################### */

.topmenu-fixed {
  height: 65px;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 800;
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
}

#darkoverlay {
  position: fixed;
  z-index: 850;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: #252525;
  display: none;
}

#side-menu-container {
  position: fixed;
  z-index: 900;
  top: 0%;
  right: -100%;
  width: 100%;
  height: 100%;
  background: #252525;
}

.openmenu {
  width: 70px;
  height: 70px;
  background: url(menuopen.png) center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  border: 3px solid #414042;
  border-radius: 50%;
  cursor: pointer;
}

#closemenu {
  position: fixed;
  z-index: 999;
  top: 13px;
  width: 70px;
  height: 70px;
  background: url(menuclose.svg) center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  cursor: pointer;
  display: none;
}

/* ###################### photo area ##################### */

#photo-container {
  position: relative;
  width: 100%;
  height: 575px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
}

#photo-area {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 575px;
  overflow: hidden;
  z-index: 0;
}

#photo-area div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 575px;
  z-index: 1;
}

#photo-area div.active {
  z-index: 3;
}

.photo-area-overlay {
  position: absolute;
  left: 0px;
  bottom: -2px;
  width: 100%;
  height: 575px;
}

.photo-overlay-area {
  height: 350px;
}

.photo-overlay-text {
  padding: 20px 0px 0px 25px;
  font-family: 'novecento_sans_widedemibold', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 38px;
  color: #fff;
}

/* ###################### home areas ##################### */

.homecontent {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #000;
}

.photo_block_size {
  width: 320px;
  height: 265px;
}

.photo_block {
  position: relative;
  display: inline-block;
  margin: 5px 15px 40px 15px;
  overflow: hidden;
  z-index: 500;
  cursor: pointer;
}

.photo_image {
  opacity: 0;
  z-index: 600;
}

.photo_overlay {
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 222px;
  z-index: 700;
  text-align: center;
  padding-top: 9px;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 24px;
  background: #151515;
  color: #fff;
}

.photo_mousearea {
  position: absolute;
  left: 0px;
  top: 0;
  z-index: 800;
}

.bg_cover {
  margin: 0 auto;
}

/* #################### content area ##################### */

.content {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-size: 18px;
  line-height: 26px;
  color: #000;
}

.content-padding {
  padding-left: 35px;
  padding-right: 35px;
  text-align: justify;
}

.contentbtn {
  width: 220px;
  height: 40px;
  font-family: 'novecento_sans_widedemibold', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
  font-size: 16px;
  background: #00aa54;
  color: #fff;
  border: 0px;
  border-radius: 0px;
  padding: 0px;
  margin: 0px;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.contentbtn:hover {
  background: #116742;
}

.sitemaptree {
  max-width: 500px;
  text-align: justify;
  line-height: 30px;
}

.quote {
  font-family: 'Courgette', Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 30px;
}

/* ##################### footer area ##################### */

#fullfooter {
  width: 100%;
  display: block;
}

#midfooter, #mobilefooter {
  width: 100%;
  display: none;
}

.footer {
  text-align: left;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #fff;
  padding-top: 10px;
}

.footer a {
  color: #fff;
  text-decoration: none;
}

.footer a:hover {
  color: #fff;
  text-decoration: underline;
}

#fullcopyright {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #fff;
  display: block;
}

#midcopyright, #mobilecopyright {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #fff;
  display: none;
}

a.eighteenthree {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
}

a.eighteenthree:hover {
  color: #fff;
  text-decoration: underline;
}

/* ################### tables and forms ################## */

form {
  margin: 0px;
  padding: 0px;
  border: 0px;
}

.newstyletable-heading {
  margin-bottom: 4px;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  text-transform: uppercase;
  font-size: 12px;
  color: #000;
}

.newstyletable-btn {
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  text-transform: uppercase;
  font-size: 16px;
  background: #00aa54;
  color: #fff;
  border: 0px;
  border-radius: 0px;
  padding: 0px;
  margin: 0px;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.newstyletable-tablewidth {
  width: 600px;
}

.newstyletable-inputwidth {
  width: 590px;
}

.newstyletable-forminput {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #1a1a1a;
  background: #f5f5f5;
  border: 0px;
  border-radius: 0px;
  padding: 2px;
  margin: 0px;
}

.newstyletable-formtextarea {
  overflow: auto;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #1a1a1a;
  background: #f5f5f5;
  border: 0px;
  border-radius: 0px;
  padding: 0px;
  margin: 0px;
}

/* ################ general media queries ################ */

@media screen and (min-width:1451px) {
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:none; }
  #topmenu, #topmenu-topbar { display:block; }
  #topmenu-mobile { display:none; }
  .headerlogo-mobile { height:60px; }
  .openmenu { width:65px; height:65px; }
  #closemenu { top:15px; width:65px; height:65px; }
  #photo-container { height:575px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:575px; }
  .photologo { margin-top:95px; }
  #homepagephotoarea_withzoom { display:block; }
  #homepagephotoarea { display:none; }
  #homepagephotoarea_mobile { display:none; }
  .photo-overlay-area { height:350px; }
  .photo-overlay-text { padding: 20px 0px 0px 25px; font-size:38px; }
  .content-padding { padding-left:35px; padding-right:35px; }
  .newstyletable-tablewidth { width:700px; }
  .newstyletable-inputwidth { width:690px; }
}

@media screen and (min-width:1201px) and (max-width:1450px) {
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:none; }
  #topmenu, #topmenu-topbar { display:block; }
  #topmenu-mobile { display:none; }
  .headerlogo-mobile { height:60px; }
  .openmenu { width:65px; height:65px; }
  #closemenu { top:15px; width:65px; height:65px; }
  #photo-container { height:575px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:575px; }
  .photologo { margin-top:95px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:block; }
  #homepagephotoarea_mobile { display:none; }
  .photo-overlay-area { height:350px; }
  .photo-overlay-text { padding: 20px 0px 0px 25px; font-size:38px; }
  .content-padding { padding-left:35px; padding-right:35px; }
  .newstyletable-tablewidth { width:700px; }
  .newstyletable-inputwidth { width:690px; }
}

@media screen and (min-width:901px) and (max-width:1200px) {
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:none; }
  #topmenu, #topmenu-topbar { display:block; }
  #topmenu-mobile { display:none; }
  .headerlogo-mobile { height:60px; }
  .openmenu { width:65px; height:65px; }
  #closemenu { top:15px; width:65px; height:65px; }
  #photo-container { height:500px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:500px; }
  .photologo { margin-top:60px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:block; }
  #homepagephotoarea_mobile { display:none; }
  .photo-overlay-area { height:350px; }
  .photo-overlay-text { padding: 20px 0px 0px 25px; font-size:32px; }
  .content-padding { padding-left:35px; padding-right:35px; }
  .newstyletable-tablewidth { width:700px; }
  .newstyletable-inputwidth { width:690px; }
}

@media screen and (min-width:826px) and (max-width:900px) {
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:block; }
  #topmenu, #topmenu-topbar { display:none; }
  #topmenu-mobile { display:block; }
  .headerlogo-mobile { height:60px; }
  .openmenu { width:65px; height:65px; }
  #closemenu { top:15px; width:65px; height:65px; }
  #photo-container { height:450px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:450px; }
  .photologo { margin-top:75px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:none; }
  #homepagephotoarea_mobile { display:block; }
  .photo-overlay-area { height:210px; }
  .photo-overlay-text { padding: 15px 0px 0px 20px; font-size:34px; }
  .content-padding { padding-left:35px; padding-right:35px; }
  .newstyletable-tablewidth { width:600px; }
  .newstyletable-inputwidth { width:590px; }
}

@media screen and (min-width:601px) and (max-width:825px) {
  h1 { font-size:44px; line-height:42px; padding: 12px 0px 35px 0px; }
  h2 { font-size:30px; line-height:26px; }
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:block; }
  #topmenu, #topmenu-topbar { display:none; }
  #topmenu-mobile { display:block; }
  .headerlogo-mobile { height:58px; }
  .openmenu { width:65px; height:65px; }
  #closemenu { top:15px; width:65px; height:65px; }
  #photo-container { height:450px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:450px; }
  .photologo { margin-top:70px; }
  .small-main-logo { height:300px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:none; }
  #homepagephotoarea_mobile { display:block; }
  .photo-overlay-area { height:210px; }
  .photo-overlay-text { padding: 15px 0px 0px 20px; font-size:30px; }
  .content-padding { padding-left:30px; padding-right:30px; }
  .newstyletable-tablewidth { width:100%; }
  .newstyletable-inputwidth { width:100%; }
}

@media screen and (min-width:401px) and (max-width:600px) {
  h1 { font-size:40px; line-height:38px; padding: 15px 0px 35px 0px; }
  h2 { font-size:26px; line-height:22px; }
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:block; }
  #topmenu, #topmenu-topbar { display:none; }
  #topmenu-mobile { display:block; }
  .headerlogo-mobile { height:55px; }
  .openmenu { width:60px; height:60px; }
  #closemenu { top:17px; width:60px; height:60px; }
  #photo-container { height:400px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:400px; }
  .photologo { margin-top:55px; }
  .small-main-logo { height:275px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:none; }
  #homepagephotoarea_mobile { display:block; }
  .photo-overlay-area { height:210px; }
  .photo-overlay-text { padding: 10px 0px 0px 15px; font-size:28px; }
  .content-padding { padding-left:25px; padding-right:25px; }
  .newstyletable-tablewidth { width:100%; }
  .newstyletable-inputwidth { width:100%; }
}

@media screen and (max-width:400px) {
  h1 { font-size:36px; line-height:34px; padding: 15px 0px 35px 0px; }
  h2 { font-size:22px; line-height:18px; }
  #sidemenu, #darkoverlaycontainer, #closemenucontainer { display:block; }
  #topmenu, #topmenu-topbar { display:none; }
  #topmenu-mobile { display:block; }
  .headerlogo-mobile { height:45px; }
  .openmenu { width:55px; height:55px; }
  #closemenu { top:17px; width:60px; height:60px; }
  #photo-container { height:360px; }
  #photo-area, #photo-area div, .photo-area-overlay { height:360px; }
  .photologo { margin-top:60px; }
  .small-main-logo { width:250px; }
  #homepagephotoarea_withzoom { display:none; }
  #homepagephotoarea { display:none; }
  #homepagephotoarea_mobile { display:block; }
  .photo-overlay-area { height:210px; }
  .photo-overlay-text { padding: 10px 0px 0px 10px; font-size:24px; }
  .content-padding { padding-left:25px; padding-right:25px; }
  .newstyletable-tablewidth { width:100%; }
  .newstyletable-inputwidth { width:100%; }
}

/* ################ main header background ############### */

@media screen and (min-width:726px) {
  #backgroundphoto1 { background: url(homephotobg1.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto2 { background: url(homephotobg2.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto3 { background: url(homephotobg3.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto4 { background: url(homephotobg4.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto5 { background: url(homephotobg5.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
}

@media screen and (max-width:725px) {
  #backgroundphoto1 { background: url(homephotobg1.jpg) 50% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto2 { background: url(homephotobg2.jpg) 40% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto3 { background: url(homephotobg3.jpg) 75% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto4 { background: url(homephotobg4.jpg) 90% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
  #backgroundphoto5 { background: url(homephotobg5.jpg) 90% 50% no-repeat scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
}

/* ################### main header logo ################## */

@media screen and (min-width:826px) {
  #mainlogo1 { display:block; }
  #mainlogo2 { display:none; }
}

@media screen and (max-width:825px) {
  #mainlogo1 { display:none; }
  #mainlogo2 { display:block; }
}

/* ################ home page photo blocks ############### */

@media screen and (min-width:801px) {
  .photo_block_size { width:320px; height:265px; }
  .photo_block { margin: 5px 15px 40px 15px; }
}

@media screen and (min-width:731px) and (max-width:800px) {
  .photo_block_size { width:290px; height:265px; }
  .photo_block { margin: 5px 10px 40px 10px; }
}

@media screen and (min-width:551px) and (max-width:730px) {
  .photo_block_size { width:415px; height:265px; }
  .photo_block { margin: 5px 15px 32px 15px; }
}

@media screen and (min-width:451px) and (max-width:550px) {
  .photo_block_size { width:300px; height:265px; }
  .photo_block { margin: 5px 15px 30px 15px; }
}

@media screen and (max-width:450px) {
  .photo_block_size { width:250px; height:265px; }
  .photo_block { margin: 5px 15px 30px 15px; }
}

/* ################# footer media queries ################ */

@media screen and (min-width:1251px) {
  #fullfooter { display:block; }
  #midfooter { display:none; }
  #mobilefooter { display:none; }
  #phonefooter { display:none; }
}

@media screen and (min-width:801px) and (max-width:1250px) {
  #fullfooter { display:none; }
  #midfooter { display:block; }
  #mobilefooter { display:none; }
  #phonefooter { display:none; }
}

@media screen and (min-width:481px) and (max-width:800px) {
  #fullfooter { display:none; }
  #midfooter { display:none; }
  #mobilefooter { display:block; }
  #phonefooter { display:none; }
}

@media screen and (max-width:480px) {
  #fullfooter { display:none; }
  #midfooter { display:none; }
  #mobilefooter { display:none; }
  #phonefooter { display:block; }
}

/* ################# footer media queries ################ */

@media screen and (min-width:951px) {
  #fullcopyright { display:block; }
  #midcopyright { display:none; }
  #mobilecopyright { display:none; }
}

@media screen and (min-width:551px) and (max-width:950px) {
  #fullcopyright { display:none; }
  #midcopyright { display:block; }
  #mobilecopyright { display:none; }
}

@media screen and (max-width:550px) {
  #fullcopyright { display:none; }
  #midcopyright { display:none; }
  #mobilecopyright { display:block; }
}

/* ######################################################### */
