/*
Theme Name: Dr. Steinhauser 2024
Version: 1.0
Author: Ewald Natter
Author URI: http://www.freelenz.at
*/

@import url('https://i.icomoon.io/public/9713667a53/DrSteinhauser/style.css');

* {
  margin: 0;
  padding: 0;
  outline: none;
  }
  
HTML {
  height: 100%;
  }  
  
BODY {
  font: 16px/25px ff-meta-web-pro;  
  color: #333;
  text-align: center;
  overflow-x: hidden;
  height: 100%;
  }
  
INPUT, BUTTON, TEXTAREA {
  font: 16px/27px ff-meta-web-pro;  
  }  
  
IMG {
  border: none;  
  }

A {
  color: #A99D40;
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s;
  }
  
.mobile {
  display: none;
  }  
  
::selection {
  background: #A99D40;
  color: #fff;
  }  
  
/* LAYOUT
------------------------------------------------------------------------------- */  

#page {
  height: auto;
  margin-bottom: -100px;
  min-height: 100%;  
  }

.container {
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 75px;
  padding-left: 50px;
  padding-right: 50px;
  display: flex;
  gap: 100px;
  }  
  
#page .container .content-left {  
  width: 40%;
  }
  
#page .container .content-left H2 {  
  font-weight: bolder;
  font-size: 36px;
  line-height: 1.1;
  margin-bottom: 0.5em;
  }  
  
#page .container .content-left .rectangle {
  width: 100%;
  margin-top: 40px;
  padding: 50px 50px;
  box-sizing: border-box;
  height: auto;
  border-radius: 5px;
  }   
  
#page .container .content-left .rectangle H1 {  
  margin-bottom: 1em;
  font-size: 24px;
  line-height: 1.25;
  }
  
#page .container .content-right {    
  width: 60%;
  }
  
#page .container .content-left BR {
  display: none;
  }  
  
/* TYPO
------------------------------------------------------------------------------- */    

H1, H2, H3 {
  font-size: 26px;
  line-height: 34px;
  margin-bottom: 10px;
  clear: both;
  margin-top: -2px;
  }
  
H2 {
  line-height: 30px;
  }  
  
/* HEADER
------------------------------------------------------------------------------- */   

#header {
  height: 60px;
  line-height: 16px !important;  
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  }
  
#header #logo {
  position: absolute;
  left: 25px;
  z-index: 10;
  padding-top: 13px;
  opacity: 0.8;
  transition: 0.2s;
  }
  
#header #logo IMG {  
  height: 24px;
  }
  
#header #logo:hover {  
  opacity: 1;
  }

#header #nav UL {
  background: rgba(168,156,63,0.9);
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(20px);
  }  
  
#header #nav .button {
  display: none !important;
  }
  
#header .right {
  position: absolute;
  top: 0;
  height: 50px;
  right: 25px;
  }
  
#header .right A  {
  font-size: 24px;
  color: #fff;
  line-height: 50px;
  opacity: 0.7;
  margin-left: 10px;
  }
  
#header .right A.email  {  
  font-size: 27px;
  }
  
#header .right A:hover  {  
  opacity: 1;
  }
  
#header .right .apply {  
  display: inline-block;
  font-size: 11px;
  line-height: 1.4;
  float: left;
  margin-top: 13px;
  margin-right: 10px;
  background: #A99D40;
  border-radius: 100px;
  padding: 3px 10px 4px 10px;
  font-weight: bold;
  opacity: 0.85;
  }

#nav UL {
  list-style-type: none;
  background: #A99D40;
  width: auto;
  margin: 0 auto;
  }
  
#nav UL LI {
  display: inline-block;
  margin: 0 -2px;
  }
  
#nav UL LI:first-child {
  background: none;
  }  
  
#nav UL LI A {
  display: inline-block;
  font-size: 15px;
  color: #fff;
  opacity: 0.8;
  margin: 0;
  padding: 15px 14px 20px 14px;
  transition: 0.2s;
  } 
  
#nav UL LI.current-menu-item A {
  font-weight: bold;
  color: #a99d40;
  }  
  
#nav UL LI.current-menu-item A,
#nav UL LI A:hover {
  opacity: 1;
  }  

#subnav {
  margin-bottom: 10px;
  }  
  
.items UL {
  list-style-type: none;  
  }
  
.items UL LI {
  height: 45px;
  background-color: #D4CE9F;
  margin-bottom: 5px;
  padding-right: 20px;
  line-height: 42px;
  text-align: left;
  overflow: hidden;
  }
  
.items UL LI:hover {
  background-color: #A99D40;
  }   
  
.items UL LI:hover A {
  color: #fff;
  }  
  
.items UL LI A {
  color: #333;   
  padding-left: 10px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;  
  }
  
.items UL LI.current_page_item,
.items UL LI.active {
  background: #A99D40 url('images/arrowMobile.png') no-repeat right center;
  background-size: 60px auto;
  }
  
.items UL LI.active {
  background-image: none;
  }    
  
.items UL LI.current_page_item A,
.items UL LI.active A {
  color: #fff;  
  }
  
/* SLICK SLIDER
------------------------------------------------------------------------------- */   

.slick-arrow {
  position: absolute;
  z-index: 11;
  top: 50%;
  width: 80px;
  height: 80px;
  line-height: 80px;
  color: rgba(0,0,0,0.7);
  background: rgba(255,255,255,0.5);
  border-radius: 100px;
  left: 30px;
  font-size: 36px;
  display: block;
  }
  
.slick-next {
  left: auto;
  right: 30px;
  }  
  
.slick-arrow:hover {  
  background: rgba(169,157,64,0.9);
  background: rgba(150,48,155,0.8);
  color: #fff;
  }
  
.slick-disabled {
  opacity: 0;
  }  
  
.slick-dots {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 30px;
  text-align: center;
  } 
  
.slick-dots LI { 
  width: 6px;
  height: 6px;
  border-radius: 10px;
  display: inline-block;
  margin: 0 2px;
  border: 2px solid #fff;
  opacity: 0.75;
  cursor: pointer;
  }
  
.slick-dots LI:hover,
.slick-dots LI.slick-active {
  background: #fff;
  opacity: 1;
  }  
  
.slick-dots LI BUTTON {
  display: none;
  }  
  
.slick-list, .slick-track {
  height: 100%;
  }  
  
/* HOME
------------------------------------------------------------------------------- */  

.home #footer {
  display: none;
  }
  
.home #page {
  width: 100%;
  }  

.home #slider {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #A99D40;
  }    
  
#eyecatcher {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
  }  
  
#eyecatcher #arrow-down {  
  display: block;
  position: absolute;
  bottom: 35px;
  left: 50%;
  width: 100px;
  margin-left: -50px;
  text-align: center;
  font-size: 48px;
  color: #fff;
  animation: upanddown 2s ease 0s;
  animation-iteration-count: infinite;
  cursor: pointer;
  }
  
@keyframes upanddown {0%{transform: none;} 50%{transform:translateY(-15px);} 100%{transform:none;}}   
  
#eyecatcher .text {
  position: absolute;
  z-index: 10;
  top: 30px;
  left: 0;
  width: 100%;
  }
  
#eyecatcher .text H1 {
  font-size: 4vw;
  line-height: 1.1;
  }  
  
#eyecatcher .container {
  display: block;
  text-align: left;
  }  
  
#eyecatcher #slider {
  position: static;
  }  
  
#slider .slide {
  width: 100%;
  }  
  
#slider .slide IMG {
  width: 100%;
  height: 100%;
  object-position: center center;
  object-fit: cover;
  } 
  
#slider H1 {
  text-align: left;
  font-size: 4vw;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 20px;
  } 
  
#slider .text P {   
  line-height: 1.4;
  }

#slider .text * {  
  max-width: 600px;
  }   
  
#slider .text .cta {
  display: inline-block;
  background: rgba(150,48,155,0.75);
  padding: 10px 30px 13px 30px;
  color: #fff;
  border-radius: 100px;
  margin-top: 10px;
  font-weight: bold;
  }
  
#slider .text .cta:hover {
  background: #96309b;
  }  
  
#slider .s1 H1 {
  position: absolute;
  color: #fff;
  line-height: 1.1;
  left: 50%;
  top: 50%;
  margin-left: 6vw;
  margin-top: -8.5vw;
  }  
  
#slider .s1 H1 SPAN {  
  font-weight: normal;
  opacity: 1;
  }
  
#slider .s1 H1 .smaller {  
  font-weight: normal;
  font-size: 2.5vw;
  }
  
#slider .s1 H2 {
  position: absolute;
  color: #fff;
  text-align: left;
  font-size: 1.4vw;
  line-height: 1.25;
  font-weight: normal;
  left: 50%;
  top: 67%;
  margin-left: 6vw;
  opacity: 0.7;
  }  
  
#slider .s1 H2 SPAN {  
  opacity: 0.5;
  }
  
#slider .s2 .text {
  position: absolute;
  text-align: center;
  top: 41%;
  max-width: 600px;
  left: 50%;
  margin-left: -330px;
  width: 100%;
  color: #fff;
  }  
  
#slider .s2 .text H1 {  
  font-size: 4vw;
  line-height: 1;
  margin-bottom: 20px;
  text-align: center;
  transform: translateX(-4.7vw);
  text-shadow: 1px 1px 2px rgba(0,0,0,0.15);
  }  
  
#slider .s2 .text P {  
  max-width: 600px;
  margin-left: auto;
  }
  
#slider .s2 .text .cta {
  margin-right: -30px;
  } 
  
#slider .s3 .text {
  position: absolute;
  text-align: left;
  top: calc(100px);
  max-width: 600px;
  left: 50px;
  width: 100%;
  color: rgba(0,0,0,0.7);
  }
  
#slider .s4 .text {
  position: absolute;
  text-align: right;
  top: calc(100px);
  max-width: 500px;
  right: 50px;
  color: rgba(0,0,0,0.7);
  } 
  
#slider .s4 .text H1 {
  text-align: right;
  font-size: 3.61vw;
  }
  
/* CONTENT
------------------------------------------------------------------------------- */     

#container {
  text-align: left;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-top: 70px;
  }
  
.rectangle {
  width: 390px;
  height: 245px;
  background-color: #F2F0E3;
  text-align: left;
  position: relative;
  margin-bottom: 10px;
  
  }
  
.rectangle.main {
  background-color: #A99D40;
  color: #fff;
  }
  
.rectangle.main H1 {
  margin: 10px 20px;
  }  
  
.rectangle.main A {
  color: #D4CEA0;
  }  
  
.rectangle.padding {
  padding: 15px 15px;
  width: 360px;
  height: 215px;
  }    
  
.rectangle.image {
  border: 1px solid #DFDFDF;
  height: 243px;
  width: 388px;
  overflow: hidden;
  } 
  
.rectangle.big {
  height: 498px;
  }   
  
.rectangle.quote TABLE TD {
  padding: 0 20px;
  }  
  
.rectangle BUTTON {
  margin-bottom: 10px;
  }  
  
.rectangle.quote.large {
  width: 360px;
  margin-right: 10px;
  }  
  
.rectangle.items {
  background: none;
  }  
  
.rectangle .bottom {
  position: absolute;
  left: 20px;
  bottom: 15px;
  color: #D4CEA0;
  }
  
.bottom A:hover {
  color: #fff;  
  }

P {
  margin-bottom: 20px;
  }  
  
A.back {
  display: block;
  margin-bottom: 10px;
  float: left;
  background: none;
  }  
  
A.back:hover {
  color: #fff;  
  }
  
.quote BLOCKQUOTE {
  font-size: 26px;
  line-height: 32px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
  }  
  
.quote SMALL {
  color: #92918B;
  text-align: center;
  display: block;
  font-size: 16px;
  }  
  
#content {
  width: 800px;
  float: left;
  margin-left: 20px;
  margin-right: -10px;
  } 
  
BUTTON.flieder {
  background: #96309b !important;
  border-radius: 5px;
  }
  
BUTTON.flieder {
  background: #96309b !important;
  } 
  
BUTTON.flieder SPAN {  
  background: none;
  }
  
BUTTON.flieder SPAN A {  
  color: #fff;
  font-weight: normal;
  }  
  
.button {
  display: inline-block !important;
  background: #96309b !important;
  color: #fff;
  padding: 5px 15px 9px 15px !important;
  border-radius: 5px !important;
  color: #fff !important;
  line-height: 1.6;
  transition: 0.2s;
  } 
  
.button:hover,
BUTTON.flieder:hover {
  background: #d481c9 !important;
  }    
  
.column {
  width: 390px;
  float: left;  
  margin-left: 10px;
  }
  
HR {
  background: url('images/hr@2x.png') repeat-x;
  background-size: auto 4px;
  height: 5px;
  margin: 20px 0 20px 0;
  border: none;
  width: 98.5%;
  display: none;
  }
  
#content A {
  color: #A39740;
  text-decoration: underline;  
  }
  
.center {
  text-align: center;      
  }
  
BUTTON SPAN A {
  color: #000;
  }  
  
BUTTON:active {
  top: 1px;  
  }
  
.open {
  color: #767571;
  margin-top: 18px;
  }  

#content TABLE {
  width: 99.5%;
  margin-right: 10px;
  }
  
#content TABLE TD {
  padding: 5px 11px 5px 0;
  }  
  
.zahnspangen #content TABLE TD {
  background: none;
  padding-bottom: 10px;
  }
  
.zahnspangen #content TABLE TD P {
  padding-right: 20px;  
  }
  
.imageborder {
  height: 243px;
  overflow: hidden;
  width: 388px;
  display: block;
  float: left;
  margin: 0 19px 20px -9px;
  position: relative;
  }
  
.imageborder IMG {
  float: left;  
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  }
  
.imageborder .hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.5s;
  }  
  
TD .imageborder {
  margin-left: 0;
  margin-right: 0px;
  }  
  
IMG.alignleft {
  float: left;    
  }
  
IMG.alignright {
  float: right;  
  margin-left: 40px;
  }
  
#subpages {
  margin-left: -10px;
  }
  
.subpage {
  width: 390px;
  float: left;
  margin-left: 10px;
  padding: 10px 0 10px 0;
  }   
  
.subpage .imageborder {
  margin-left: 0px;
  }
  
.subpage .imageborder:hover .hover {
  opacity: 1;
  }    
  
.subpageContent {
  padding-right: 20px;  
  }
  
sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	}

sup {
	bottom: 1ex;
	}
	
sup small {
	display: inline !important;
	}	

sub {
	top: .5ex;
	}  
  
  
/* SO GEHT ES
------------------------------------------------------------------------------- */     

.so-geht-es #content TABLE {
  width: 100%;
  margin-right: 0;
  }
  
.so-geht-es #content TABLE TD {
  padding: 0;
  width: 50%;
  background: none;
  vertical-align: top;
  }
  
.so-geht-es #content TABLE TD:first-child {
  padding-right: 35px;
  }  
  
.so-geht-es #content .imageborder {  
  margin-bottom: 10px;
  }
  
.so-geht-es #content HR {
  display: none;
  }  
  
.so-geht-es #content TABLE TD P:last-child STRONG {
  display: none;
  }  
  
/* GALERIE
------------------------------------------------------------------------------- */   

#gallery {
  position: absolute;  
  top: 0px;
  right: 0px;
  border: 1px solid #DFDFDF;
  height: 243px;
  overflow: hidden;
  width: 388px;  
  z-index: 100; 
  background: #F2F0E3 url('images/loading.gif') no-repeat center center;
  }
  
#content #gallery {
  right: 9px;
  }  
  
.galleryImage {
  height: 243px;
  position: absolute;
  top: 0px;
  left: 0px;
  }  
  
  
  
/* WO WIR HELFEN KÖNNEN
------------------------------------------------------------------------------- */     

.wo-wir-helfen-koennen #content TABLE {
  width: 100%;
  }

.wo-wir-helfen-koennen #content TABLE TD {
  padding-top: 0px;
  width: 50%;
  background: none;
  }
  
.wo-wir-helfen-koennen #content TABLE TD .imageborder {
  margin-left: -10px;
  margin-right: -10px;
  }

.wo-wir-helfen-koennen #content TABLE TD {
  padding-right: 18px;
  }
  
.bgcolor {
  background-color: #F2F0E3;
  }
  
h1.bgcolor {
  padding-top: 2px;
  line-height: 43px;
  padding-left: 10px;
  margin-bottom: 5px;
  margin-top: -10px;
  }  
  
#content UL {
  margin: 0 0 0 0px;
  }
  
UL.bgcolor {
  background: none;
  }
  
UL.bgcolor LI {
  background-color: #F2F0E3;
  padding-left: 20px;
  list-style-position: inside;
  height: 45px;
  line-height: 45px;
  margin-bottom: 5px;
  }  
  
/* HÄUFIGE FRAGEN
------------------------------------------------------------------------------- */     

#accordion {
  border-bottom: 1px solid #dfdfdf;
  }

.question {
  display: block;
  padding: 15px 20px 19px 0;
  border-top: 1px solid #dfdfdf;
  position: relative;
  }
  
.question:after {
  font-family: icomoon;
  content: "\e90d";
  position: absolute;
  top: 18px;
  right: 0;
  font-size: 20px;
  transform-origin: 50% 50%;
  transition: 0.3s;
  opacity: 0.3;
  }  
  
.question:hover:after {  
  opacity: 1;
  }
  
.question:first-child {  
  border-top: none;
  }
  
.question A {
  color: #000;
  font-size: 20px;
  transition: 0.2s;
  }  
  
.answer {
  padding-bottom: 10px;  
  }  
  
.question.ui-accordion-header-active {
  background: none;
  border-bottom: none;
  font-weight: bold;
  clear: both;
  }  
  
.question.ui-accordion-header-active:after {  
  transform: rotate(180deg);
  }
  
.question A {
  text-decoration: none !important;
  background: none;
  }  
  
.question.ui-accordion-header-active A {  
  background: none !important;
  color: #333 !important;
  
  }
  
/* ASSISTENTINNEN
------------------------------------------------------------------------------- */   

.assistant {
  float: left;
  width: 190px;
  height: 245px;
  margin-left: 0px;
  margin-right: 10px;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  }
  
.assistant .name {
  position: absolute;
  bottom: 0px;
  left: 0px;
  background: url('images/bgAssistantName.png') no-repeat;
  height: 35px;
  line-height: 35px;
  text-align: center;
  width: 190px;
  }  
  
.assistentinnen #main {
  margin-right: 10px;
  }  
  
.assistant IMG {  
  width: 190px;
  height: 245px;
  object-fit: cover;
  object-position: center center;
  height: auto;
  }
  
/* ANFAHRT / KARTE
----------------------------------------------------------------------- */ 

#map {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0;
  background-color: #ebebeb;
  }
  
#map #gmap_bubble {
  padding-top: 10px;
  line-height: 18px;
  }   
  
#map-overlay {
  position: absolute;
  top: 101px;
  left: 50px;
  background: #fff;
  z-index: 10;
  border-radius: 10px;
  width: 330px;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.3;
  border: 10px solid #fff;
  box-shadow: 1px 1px 10px rgba(0,0,0,0.05);
  }
  
#map-overlay H2 {
  font-size: 20px;
  }
  
#map-overlay P:last-child {
  margin-bottom: 0;
  }
  
#map-overlay .btn {
  display: inline-block;
  background: #A99D40;
  font-weight: bold;
  color: #fff;
  padding: 5px 15px 10px 15px;
  border-radius: 100px;
  margin-top: 10px;
  }  
  
#map-overlay IMG {  
  width: 100%;
  height: auto;
  border-radius: 7px 7px 0 0;
  }

#map-overlay .text {
  padding: 20px 30px;
  }
  
#map .gm-style-iw-a {
  margin-top: -10px;
  }  
  
#map .gm-style-iw-c {
  box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .1) !important;
  }
  
#map .gm-style-iw-ch {
  padding-top: 0 !important;
  height: 10px !important;
  }  
  
.gm-style-iw-chr {
  height: 10px !important;
  }  
  
#map .gm-style-iw-chr BUTTON {
  position: absolute !important;
  top: -3px;
  right: -3px;
  }  
  
#map .overlay {
  font-family: ff-meta-web-pro;
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
  overflow: hidden;
  padding: 5px;
  padding-right: 30px;
  }  
  
#map .overlay SPAN {  
  background: #00793a;
  color: #fff;
  display: inline-block;
  padding: 2px 5px 2px 5px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: bold;
  font-family: Roboto, Arial, sans-serif;
  margin-top: 3px;
  }
  
/* FOMULAR
------------------------------------------------------------------------------- */   

.page-template-formular {
  background: #f2f0e3;
  background: #e4e1ca;
  }
  
.page-template-formular FORM:after {  
  content: " ";
  position: absolute;
  bottom: 0;
  right: -300px;
  width: 800px;
  height: 500px;
  bottom: 0vw;
  background: url('images/steinhauser-logo-dark.svg') no-repeat bottom right;
  background-size: contain;
  opacity: 0.025;
  }

#form {
  margin: 0 auto;
  max-width: 560px;
  padding-top: 50px;
  }
  
#form * {
   --gf-ctrl-border-color-focus: #a99d40 !important; 
   --gf-form-gap-y: 20px !important;
   --gf-ctrl-desc-color: #92918B !important
  }  
  
.gform-body,
.gform_footer {
  position: relative;
  z-index: 1;
  }  
  
.gform_title {
  font-size: 40px;
  line-height: 1.1;
  font-weight: bold;
  letter-spacing: -0.015em;
  margin-bottom: 30px;
  }

.gform_required_legend {
  display: none;
  }
  
.gfield--type-html,
.gform_description {
  font-size: 15px;
  line-height: 1.4;
  margin-bottom: 40px;
  opacity: 0.75;
  }  
  
.gfield--type-html STRONG {  
  color: #000;
  }
  
.gfield_label {
  font-size: 15px !important;
  font-weight: bold !important;
  }
  
.gform-field-label--type-sub{
  color: #000 !important;
  }  
  
.gfield_required_asterisk {
  font-size: 18px;
  line-height: 5px;
  position: relative;
  top: 2px;
  margin-left: 3px;
  }  
  
.gform-field-label--type-sub {
  font-size: 12px;
  opacity: 0.7 !important;
  }
  
.validation_message {
  clear: both !important;
  }  
  
.gfield--type-section ~ .gfield--type-text[data-conditional-logic="visible"]{
  margin-top: -20px;
  margin-bottom: 20px;
  }  
  
.gfield--type-section ~ .gfield--type-text[data-conditional-logic="visible"] LABEL {  
  font-weight: normal !important;
  }
  
.gfield--type-section ~ .gfield--type-text[data-conditional-logic="visible"] INPUT {  
  max-width: 50%;
  }  
  
.gform-theme--framework .gfield--type-choice .gfield_radio {
  flex-direction: row;
  gap: 30px;
  }
  
.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
  width: 100%;
  }  
  
.gfield--type-section {
  margin-top: 40px;
  }  
  
.validation_message {
  margin-top: 3px !important;
  }  
  
.gform_button {
  font-size: 16px !important;
  font-weight: bold !important;
  padding: 17px 40px 20px 40px !important;
  height: auto !important;
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  opacity: 0.85 !important;
  background: #96309b !important;
  border: none !important;
  transition: 0.2s;
  }
  
.gform_button:hover {
  opacity: 1 !important;
  background: #96309b !important;
  }  
  
.gfield--type-radio {
  position: relative;
  width: 100% !important;
  }
  
LABEL + .gfield_description,
LEGEND + .gfield_description {  
  clear: left !important;
  position: relative;
  top: -10px;
  }
  
.gfield--type-radio LEGEND {  
  float: left !important;
  display: block !important;
  padding-right: 200px;
  }
  
.gfield--type-section ~ .gfield--type-radio .ginput_container {
  display: block !important;
  position: absolute;
  top: 3px;
  right: 0;
  }
  
.gfield--type-section ~ .gfield--type-radio .validation_message {
  margin-top: 0 !important;
  position: relative;
  top: -12px;
  }  
  
.gform_drop_area {
  background: rgba(255,255,255,0.3) !important;
  border: 1px dashed rgba(0,0,0,0.3) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  }
  
.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .gform_drop_area::before {
  color: rgba(0,0,0,0.2) !important;
  }

.gform_button_select_files {
  background: rgba(0,0,0,0.05) !important;
  color: rgba(0,0,0,0.5) !important;
  padding: 15px 50px 20px 50px !important;
  box-shadow: none !important;
  }
  
.gform_button_select_files:hover {  
  background: rgba(0,0,0,0.1) !important;
  }
  
.gfield_fileupload_filename {
  font-weight: bold;
  line-height: 1;
  }  
  
.gfield_fileupload_filesize {
  line-height: 1;
  display: block;
  font-size: 1em;
  margin-top: -2px;
  }  
  
.gfield_fileupload_progressbar_progress {
  background-color: rgba(0,0,0,0.35) !important;
  }  
  
.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progress::after {
  color: #a99d40;
  }  
  
.gform_validation_errors {
  margin-bottom: 50px !important;
  }

/* FOOTER
------------------------------------------------------------------------------- */   

#footer, #push {
  height: 100px;
  }

#footer {
  color: #92918B;
  line-height: 50px;
  text-align: left;
  font-size: 13.5px;
  overflow: hidden;
  }
  
#footer .container {
  max-width: 1200px;
  display: block;
  padding-top: 30px;
  overflow: hidden;
  }  
  
#footer BR {
  display: none;
  }  
  
#footer A {
  color: #92918B;
  }
  
#footer A:hover {
  color: #000;
  }  
  
#footer .button {
  margin-left: 10px;
  }
  
#footer IMG {
  width: 190px;
  height: auto;
  }

/* MISC
------------------------------------------------------------------------------- */

.left { float: left; }
.right { float: right; }
.clear { clear: both; }



/*
 * jQuery Nivo Slider v1.9
 * http://nivo.dev7studios.com
 *
 * Copyright 2010, Gilbert Pellegrom
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * March 2010
 */
 
 
/* The Nivo Slider styles */
.nivoSlider {
	position:relative;
}
.nivoSlider img {
	position:absolute;
	top:0px;
	left:0px;
}
/* If an image is wrapped in a link */
.nivoSlider a.nivo-imageLink {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	border:0;
	padding:0;
	margin:0;
	z-index:60;
	display:none;
}
/* The slices in the Slider */
.nivo-slice {
	display:block;
	position:absolute;
	z-index:50;
	height:100%;
}
/* Caption styles */
.nivo-caption {
	position:absolute;
	left:0px;
	bottom:0px;
	background:#000;
	color:#fff;
	opacity:0.8; /* Overridden by captionOpacity setting */
	width:100%;
	z-index:89;
}
.nivo-caption p {
	padding:5px;
	margin:0;
}
/* Direction nav styles (e.g. Next & Prev) */
.nivo-directionNav a {
	position:absolute;
	top: 138px;
	z-index:99;
	cursor:pointer;
	width: 40px;
	height: 75px;		
	text-indent: -10000px;
}
.nivo-prevNav {
	left:0px;
	background: url('../images/galleryPrev.png') no-repeat;
}
.nivo-nextNav {
	right:0px;
	background: url('../images/galleryNext.png') no-repeat;
}
/* Control nav styles (e.g. 1,2,3...) */
.nivo-controlNav a {
	position:relative;
	z-index:99;
	cursor:pointer;
}
.nivo-controlNav a.active {
	font-weight:bold;
}