/***
    Grid (Shaker)
*******************************************************************************/
/***
    Break-points
*******************************************************************************/
/***
    Color
*******************************************************************************/
/* Text Color  ********************************************/
/* Odd/Even Color ***********************************/
/* Form Input Felder ***********************************/
/***
    Font
*******************************************************************************/
/***
    Header
*******************************************************************************/
/***
    Menü
*******************************************************************************/
/***
    Components
*******************************************************************************/
/* Paragraphs *********************************************/
/* Paragraphs Timeline *********************************************/
/* Slider *************************************************/
/***
    Animation
*******************************************************************************/
/***
    Basic
****************************************************************************/
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
/***
    Layout
****************************************************************************/
.section {
  width: 100%;
}
.content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 1170px) {
  .content {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 1170px) and screen and (max-width: 567px) {
  .content {
    padding-left: 17px;
    padding-right: 17px;
  }
}
/*Padding Abstand zwischen den Paragraphen (Aussen) in PIXEL!*/
.padding-abstand {
  padding-left: 3%;
  padding-right: 3%;
}
@media screen and (max-width: 567px) {
  .padding-abstand {
    padding-left: 17px;
    padding-right: 17px;
  }
}
/* Font Max Size*/
/***
    Components
****************************************************************************/
/* Link mit Pfeil 
 * --------------
 */
.link-mit-pfeil {
  text-decoration: none;
}
.link-mit-pfeil:hover {
  text-decoration: none;
}
.link-mit-pfeil:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 1.2em;
  padding: 0 0.3em;
  transition: padding 0.3s cubic-bezier(.65,.05,.36,1);
}
.link-mit-pfeil:hover:after {
  padding-left: 0.5em;
}
/* Buttons 
 * -------
 * dem a-Element hinzufügen
 */
/***
    States
****************************************************************************/
/* Button Animation 
 * ----------------
 * dem a-Element hinzuf端gen
 */
.button-animation:hover {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  transform: scale(1.01);
  -webkit-transform: scale(1.01);
}
.button-animation:active {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transform: scale(1);
  -webkit-transform: scale(1);
}
@media only screen and (max-width: 768px) {
  .button-animation:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    transform: none;
    -webkit-transform: none;
  }
  .button-animation:active {
    transform: none;
    -webkit-transform: none;
  }
}
/* Mixin f端r Image Zoom Effekt.
 * ----------------------------
 * Dem das Bild umgebenden Element hinzuf端gen.
 */
.image-zoom {
  overflow: hidden;
  display: block;
}
.image-zoom img {
  transform: scale(1);
  -webkit-transform: scale(1);
  transition: transform 0.4s cubic-bezier(.65,.05,.36,1);
}
.image-zoom img:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
@media only screen and (max-width: 768px) {
  .image-zoom img {
    transform: none;
    -webkit-transform: none;
  }
  .image-zoom img:hover {
    transform: none;
    -webkit-transform: none;
  }
}
.noOpacity {
  opacity: 1;
}
@media only screen and (max-width: 992px) {
  .nomobile {
    display: none;
  }
}
/***
    Skins
****************************************************************************/
.box-bg {
  background-color: #ffffff;
}
/* Material Design Shadows 
 * -----------------------
 * Author: Florian Kutschera (@gefangenimnetz), Conceptboard GmbH (@conceptboardapp)
 * https://medium.com/@Florian/freebie-google-material-design-shadow-helper-2a0501295a2d#.qwk59xyp0
 */
/***
    Vendor Prefixes
****************************************************************************/
.notselection {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  -khtml-user-select: none;
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently */
}
.borderBox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.animation_fadein {
  -webkit-animation: 1.2 ease 0s normal forwards 1 fadein;
  animation: 1.2s ease 0s normal forwards 1 fadein;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.animation_fade {
  -moz-transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
/***
    Default Variables
************************************************************/
/***
    Structure 
************************************************************/
.form-section {
  width: 100%;
}
.form-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 1170px) {
  .form-content {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 1170px) and screen and (max-width: 567px) {
  .form-content {
    padding-left: 17px;
    padding-right: 17px;
  }
}
@media only screen and (max-width: 768px) {
  .form-content {
    padding-left: 0%;
    margin-top: -30px;
    width: 572px;
    margin-left: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .form-content {
    width: 325px;
    margin: 0 auto;
    margin-top: -35px;
  }
}
input {
  max-width: 498px;
  line-height: inherit;
  padding-left: 10px;
  max-width: 100%;
  height: 2em;
}
.input__field {
  border: 0;
  border-bottom: 1px solid #ccc;
  background-color: rgba(123, 53, 115, 0.2);
}
.input__field ~ .focus-border {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #7b3573;
  transition: 0.4s;
}
.input__field:focus ~ .focus-border {
  transition: 0.4s;
}
.input__field:focus ~ label {
  left: 0px;
  top: -22px;
  font-size: 14px;
  color: #7b3573;
  transition: 0.3s;
}
.input__field ~ label {
  position: absolute;
  left: 10px;
  width: 498px;
  top: 3px;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #7b3573;
  font-size: 18px;
  font-weight: normal;
}
.has-content.input__field ~ .focus-border {
  transition: 0.4s;
}
.has-content.input__field ~ label {
  top: -22px;
  left: 0;
  font-size: 14px;
  color: #7b3573;
  transition: 0.3s;
}
.form-type-textarea {
  width: 100%;
}
.form-type-textarea .bar {
  width: 100%;
}
.form-textarea ~ .focus-border {
  bottom: 4px;
}
textarea {
  width: 100%;
  padding-left: 10px;
}
#wrap .col {
  float: left;
}
#wrap .col a {
  text-decoration: none;
}
select,
.form-date {
  box-sizing: border-box;
  max-width: 498px;
  padding: 0.4em 0 0.4em 6px;
  color: #262626;
  border: 1px solid #e5d7e3;
  border-radius: 4px;
  cursor: pointer;
}
select:focus,
.form-date:focus {
  box-shadow: 0 0 3px 0 #7b3573;
}
label.option {
  vertical-align: top;
}
.webform-checkboxes-other label {
  display: block;
  font-weight: bold;
}
.webform-checkboxes-other .form-item {
  display: block;
}
.webform-checkboxes-other .form-item label {
  display: inline;
  font-weight: normal;
}
.form-item {
  position: relative;
}
.webform-flex--container > .form-item {
  margin-top: 2em;
}
.form-item,
.form-actions,
fieldset.webform-composite-hidden-title {
  margin-top: 2em;
  margin-bottom: 1.2em;
}
.form-checkboxes {
  margin: 0;
}
.form-checkboxes input {
  height: 1em;
}
.form-radios {
  display: inline-grid;
}
.form-radios .form-item {
  margin: 0;
}
.form-type-select label {
  display: block;
  font-weight: normal;
  color: #7b3573;
  font-size: 14px;
}
.form-type-date .icon::after {
  color: #999999;
  margin-left: -28px;
  content: "\f073";
  font-family: "Font Awesome 5 Free";
}
.form-type-tel {
  margin-top: 0.8em;
}
.form-type-tel label {
  display: block;
  font-weight: normal;
  color: #7b3573;
  font-size: 14px;
}
.form-type-tel input {
  border: 0;
  border-bottom: 1px solid #ccc;
  background-color: rgba(123, 53, 115, 0.2);
}
input.webform-webform-telephone-international {
  border: 0;
}
.form-submit {
  box-sizing: border-box;
  display: inline-block;
  padding: 0.5em 1em;
  font-size: 1em;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  background-color: #7b3573;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  margin-left: 0;
  width: auto;
}
.form-submit:hover {
  background-color: #572652;
}
#search-block-form .form-submit {
  visibility: hidden;
  display: none;
  width: auto;
}
#search-block-form .form-type-search::after {
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  color: #cccccc;
}
#search-block-form input {
  width: 80%;
}
#search-block-form input::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #fff;
}
#search-block-form input::-moz-placeholder {
  /* Firefox 19+ */
  color: #fff;
}
#search-block-form input:-ms-input-placeholder {
  /* IE 10+ */
  color: #fff;
}
#search-block-form input::-moz-placeholder {
  /* Firefox 18- */
  color: #fff;
}
#search-block-form .input__field ~ .focus-border {
  max-width: 94%;
}
section.form-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 1170px) {
  section.form-section {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 1170px) and screen and (max-width: 567px) {
  section.form-section {
    padding-left: 17px;
    padding-right: 17px;
  }
}
.form-type-checkbox .form-item {
  margin-top: 0 !important;
}
