/* Container */
.modal {
  /* Overlay page content */

  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  /* Transition on opacity */

  /* Hidden before corresponding openModal a element is clicked */

  opacity: 0;
  display: none;
}
/* Show modal. Note: as of Feb 2012, pointer-events not supported by Opera or IE */
/* Content */
.modal > div {
  width: 100px;
  height: 100px;
  position: relative;
  margin: 20px auto;
  /* Default minimise animation */

  /* Prettify */

  padding: 20px;
  border-radius: 7px;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.9);
  background: #fff;
  background: -moz-linear-gradient(#ffffff, #cccccc);
  background: -webkit-linear-gradient(#ffffff, #cccccc);
  background: -o-linear-gradient(#ffffff, #cccccc);
  text-shadow: 0 1px 0 #fff;
}
.modal > div img[class="loading"] {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
}
.modal > div img[class="foto"] {
  position: absolute;
  left: 20px;
}
/* Override animation on modal open */
.modal h2 {
  font-size: 36px;
  padding: 0 0 20px;
}
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale3d(0.1, 0.1, 1);
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.9);
  }
  55% {
    -webkit-transform: scale3d(1.08, 1.08, 1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0);
  }
  75% {
    -webkit-transform: scale3d(0.95, 0.95, 1);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.9);
  }
}
@-webkit-keyframes minimise {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
  }
  100% {
    -webkit-transform: scale3d(0.1, 0.1, 1);
  }
}
@-moz-keyframes bounce {
  0% {
    -moz-transform: scale3d(0.1, 0.1, 1);
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.9);
  }
  55% {
    -moz-transform: scale3d(1.08, 1.08, 1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0);
  }
  75% {
    -moz-transform: scale3d(0.95, 0.95, 1);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
  }
  100% {
    -moz-transform: scale3d(1, 1, 1);
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.9);
  }
}
@-moz-keyframes minimise {
  0% {
    -moz-transform: scale3d(1, 1, 1);
  }
  100% {
    -moz-transform: scale3d(0.1, 0.1, 1);
  }
}
.modal a {
  font-family: 'Arial', sans-serif;
  font-size: 5em;
  font-style: normal;
  font-weight: bold;
  position: absolute;
  color: transparent;
}
.modal a:focus,
.modal a:hover {
  outline: none;
  /* Reset native styles */

  text-decoration: none;
}
.modal a:after {
  display: block;
  position: absolute;
  text-shadow: none;
  text-align: center;
  background: transparent;
  color: #d1d2d4;
  opacity: 0.7;
}
.modal a:focus:after,
.modal a:hover:after {
  -webkit-transform: scale(1.3, 1.3);
  -moz-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
  opacity: 0.9;
}
/* Modal close link and button */
.modal a[href="#close"] {
  left: 25%;
  top: 0;
  width: 50%;
  height: 25%;
}
.modal a[href="#close"]:after {
  content: 'X';
  right: 0px;
  top: 36px;
  width: 1.3em;
}
/* Modal Next link and button */
.modal a[href="#next"] {
  right: 0;
  width: 25%;
  top: 20%;
  height: 60%;
}
.modal a[href="#next"]:after {
  content: '>';
  right: 0px;
  top: 50%;
  width: 1.5em;
  font-size: 1.3em;
}
/* Modal Previous link and button */
.modal a[href="#prev"] {
  left: 0;
  width: 25%;
  top: 20%;
  height: 60%;
}
.modal a[href="#prev"]:after {
  content: '<';
  left: 0px;
  top: 50%;
  width: 1.5em;
  font-size: 1.3em;
}
.modal .caption {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}
.modal .caption:focus,
.modal .caption:hover {
  opacity: 1;
}
.modal .caption p {
  color: #d1d2d4;
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 100%;
  font-size: 2.4em;
  line-height: 2.4em;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 20px;
  background: black;
  opacity: 0.5;
  text-align: center;
}
/* Open modal */
a.openModal {
  margin: 1em auto;
  display: block;
  width: 100px;
  text-align: center;
  padding: 4px;
  border-radius: 7px;
  background: #d1d2d4;
  background: -moz-linear-gradient(#eeeeee, #d1d2d4);
  background: -webkit-linear-gradient(#eeeeee, #d1d2d4);
  background: -o-linear-gradient(#eeeeee, #d1d2d4);
  text-shadow: 0 1px 0 #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
a.openModal img {
  vertical-align: middle;
}
/* Open modal for image galleries */
a.openModal.float {
  margin: 4px 4px;
  display: inline-block;
}
a.openModal:hover,
a.openModal:focus {
  background: -moz-linear-gradient(#d1d2d4, #eeeeee);
  background: -webkit-linear-gradient(#d1d2d4, #eeeeee);
  background: -o-linear-gradient(#d1d2d4, #eeeeee);
}
*.nomarginbottom {
  margin-bottom: 0;
}
*.nomargintop {
  margin-top: 0;
}
*.centered {
  text-align: center;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1;
}
#feedbackfixedmenu {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background: url("http://widget.uservoice.com/images/clients/widget2/tab-right-light.png") no-repeat scroll 50% 0 #1c75bc;
  border-color: #1C75BC;
  border-image: none;
  border-radius: 4px 0 0 4px;
  border-style: solid none solid solid;
  border-width: 1px medium 1px 1px;
  box-shadow: 1px 1px 1px rgba(255, 255, 255, 0.9) inset, 0 1px 2px rgba(0, 0, 0, 0.5);
  display: block;
  font: bold 14px/1em Arial, sans-serif;
  margin-right: 0;
  margin-top: -61px;
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 9999;
}
#wrapper {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1.0em;
  color: black;
  background: #fff;
  min-width: 380px;
  margin: auto;
  padding: 0;
  max-width: 1600px;
  /* use width of widest header image */

  border-left: 1px solid grey;
  border-right: 1px solid grey;
}
#headerwrapper {
  min-width: 380px;
}
#headerwrapper #header {
  text-align: center;
  position: absolute;
  margin-left: -1px;
  /*margin-top: 0px; /* <0, jQuery to adjust to minus the height of the currently displayed picture */

  visibility: hidden;
}
#headerwrapper #header img {
  margin-bottom: -5px;
  /* display: block would remove the need for removing this few pix space below the img */

  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}
#headerwrapper #headernext {
  text-align: center;
  position: absolute;
  margin-left: -1px;
  /*margin-top: 0px; /* <0, jQuery to adjust to minus the height of the currently displayed picture */

}
#headerwrapper #headernext img {
  margin-bottom: -5px;
  /* display: block would remove the need for removing this few pix space below the img */

}
#headerwrapper #headercaption {
  position: absolute;
  color: white;
  font-size: 0.8em;
  font-style: italic;
  text-align: right;
  margin-left: -1em;
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
  /*margin-top: 0px; /* <0, jQuery to adjust to minus the height of the currently displayed picture */

  /*&:hover {
			visibility: visible;
		}
		*/

}
#headerwrapper #logo {
  position: absolute;
  top: 0;
  left: 10px;
}
#headerwrapper #logo img {
  width: 380px;
}
#wrappercontent {
  width: 100%;
  min-width: 380px;
  max-width: 780px;
  background: #d1e5b0;
  margin: 0 auto -40px;
  /* the bottom margin is the negative value of the footer's height */

  position: relative;
}
#menuwrapper {
  background: #8ec543;
  min-height: 1px;
  /* must be set if element empty */

  margin: auto;
  /* centers #menuwrapper on the page */

  /*margin-top: 0px; /* >0, jQuery to adjust to the height of the currently displayed picture */

}
#menu ul {
  text-align: center;
  padding: 0;
  margin: 0;
  /* resets default settings of ul */

}
#menu ul li {
  list-style: none;
  display: inline-block;
  /* replaces float: left; *but* to avoid unwanted space between the <li> elements that depends on the font, the html must combine <li></li> (no white space between them) */

  width: 130px;
  line-height: 40px;
  border-right: 1px solid grey;
  background: #a4cf64;
}
#menu ul li a {
  display: block;
  /* makes sure the a surface will fill up the whole li surface */

  text-decoration: none;
  text-align: center;
  color: black;
}
#menu ul li a:hover {
  background: #d1e5b0;
  /* the a element is the *same* block as the li element */

  font-weight: bold;
}
#menu ul li:first-child {
  width: 127px;
}
#menu ul li:last-child {
  border-right: 0;
  width: 128px;
}
#content {
  font-size: 0.9em;
  max-width: 780px;
  background: #d1e5b0;
  margin: auto;
}
#content > p,
#content > h1,
#content > h2,
#content > h3,
#content > h4,
#content > h5 {
  padding-left: 42px;
  padding-right: 42px;
}
#content > p:first-child,
#content .centered > p:first-child {
  margin-top: 0;
  padding-top: 22px;
}
#content > p:last-child {
  margin-bottom: 0;
  padding-bottom: 22px;
}
#content > ul {
  padding-left: 62px;
}
#content img {
  box-shadow: 0px 0px 10px #000;
}
#push {
  height: 40px;
}
#footer {
  position: relative;
  display: table;
  /* best way to have the text respect its line-height when browser's window becomes small! */

  width: 100%;
  height: 40px;
  padding: 0;
  margin: 0;
}
#footer p {
  display: table-cell;
  background: #8ec543;
  color: black;
  text-align: center;
  vertical-align: middle;
  font-size: 0.9em;
}
#footer #copyright {
  position: absolute;
  bottom: 12px;
  right: 10px;
}
#footer #copyright p {
  color: black;
  font-size: 0.6em;
  font-style: italic;
}
#footer #copyright p a {
  color: black;
  text-decoration: none;
  -webkit-transition: color 1s ease-in-out;
  -moz-transition: color 1s ease-in-out;
  -o-transition: color 1s ease-in-out;
  transition: color 1s ease-in-out;
}
#footer #copyright p a:hover {
  color: green;
}
@media screen and (max-width: 380px) {
  #logo {
    visibility: hidden;
  }
}
@media screen and (max-width: 1040px) {
  #copyright {
    visibility: hidden;
  }
}
#contactform input[type="text"],
#contactform textarea {
  padding: 9px;
  border: solid 1px #E5E5E5;
  outline: 0;
  width: 317px;
  background: #FFFFFF;
  background: -webkit-gradient(linear, left top, left 25, from(#ffffff), color-stop(4%, #eeeeee), to(#ffffff));
  background: -moz-linear-gradient(top, #ffffff, #eeeeee 1px, #ffffff 25px);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px;
  -moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px;
  color: #999999;
}
#contactform input[type="text"]:hover,
#contactform textarea:hover,
#contactform input[type="text"]:focus,
#contactform textarea:focus {
  border-color: #C9C9C9;
  -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 8px;
}
#contactform input[type="text"].error,
#contactform textarea.error {
  border: solid 1px red;
}
#contactform textarea {
  width: 317px;
  max-width: 400px;
  height: 150px;
  line-height: 150%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
#contactform .submit input {
  width: auto;
  padding: 9px 15px;
  background: #a4cf64;
  border: 0;
  font-size: 14px;
  color: #FFFFFF;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
#contactform .submit input:hover,
#contactform .submit input:focus {
  background: #8ec543;
}
#contactform p.sentmessageok {
  color: #999999;
  font-weight: bold;
}
#contactform p.sentmessageerror {
  color: red;
  font-weight: bold;
}
