.fa::before,
.fab::before,
.fal::before,
.far::before,
.fas::before {
  font-weight: 900;
  line-height: 1;
}

.fab::before {
  font-family: "Font Awesome 5 Brands";
}

/*************************
    Farbverläufe - gradients
 *************************/



/*Linear blue - 135deg*/
.gradient.linear-blue {
  background-image: -webkit-linear-gradient(315deg, #ABDCFF 10%, #0396FF 100%);
  background-image: linear-gradient(135deg, #ABDCFF 10%, #0396FF 100%);
}

/*Linear blue 2 - 135deg*/
.gradient.linear-blue2 {
  background-image: -webkit-linear-gradient(315deg, #3eb2ff 10%, #2f8ac6 100%);
  background-image: linear-gradient(135deg, #3eb2ff 10%, #2f8ac6 100%);
}

/*Linear blue 3 - 135deg*/
.gradient.linear-blue3 {
  background-image: -webkit-linear-gradient(315deg, #2f8ac6 10%, #003b63 100%);
  background-image: linear-gradient(135deg, #2f8ac6 10%, #003b63 100%);
}

/*Linear blue 4 - 135deg*/
.gradient.linear-blue4 {
  background-image: -webkit-linear-gradient(315deg, #4183f7 50%, #122f97 100%);
  background-image: linear-gradient(135deg, #4183f7 50%, #122f97 100%);
}

/*Linear blue - 90deg*/
.gradient.linear-blue5 {
  background-image: -webkit-linear-gradient(90deg, rgb(0, 150, 217), rgb(8, 70, 132));
  background-image: linear-gradient(90deg, rgb(0, 150, 217), rgb(8, 70, 132));
}

/*Linear dark 4 - 135deg*/
.gradient.linear-dark {
  background-image: -webkit-linear-gradient(315deg, #555555 10%, #313131 100%);
  background-image: linear-gradient(135deg, #555555 10%, #313131 100%);
}

/*Linear green - 135deg*/
.gradient.linear-green {
  background-image: -webkit-linear-gradient(315deg, #90F7EC 10%, #32CCBC 100%);
  background-image: linear-gradient(135deg, #90F7EC 10%, #32CCBC 100%);
}

/*Linear green 2 - 135deg*/
.gradient.linear-green2 {
  background-image: -webkit-linear-gradient(315deg, #6baba5 10%, #27887f 100%);
  background-image: linear-gradient(135deg, #6baba5 10%, #27887f 100%);
}

/*Linear green 3 - 135deg*/
.gradient.linear-green3 {
  background-image: -webkit-linear-gradient(315deg, #87cac3 10%, #006146 100%);
  background-image: linear-gradient(135deg, #87cac3 10%, #006146 100%);
}

/*Linear green 4 - 135deg*/
.gradient.linear-green4 {
  background-image: -webkit-linear-gradient(315deg, #59c359 10%, #319417 100%);
  background-image: linear-gradient(135deg, #59c359 10%, #319417 100%);
}

/*Linear grey 3 - 135deg*/
.gradient.linear-grey {
  background-image: -webkit-linear-gradient(315deg, #F4F4F4 10%, #CECECE 100%);
  background-image: linear-gradient(135deg, #F4F4F4 10%, #CECECE 100%);
}

/*Linear orange - 135deg*/
.gradient.linear-orange {
  background-image: -webkit-linear-gradient(315deg, #FCCF31 5%, #F55555 100%);
  background-image: linear-gradient(135deg, #FCCF31 5%, #F55555 100%);
}

/*Linear orange 2 - 135deg*/
.gradient.linear-orange2 {
  background-image: -webkit-linear-gradient(315deg, #FEC163 5%, #DE4313 100%);
  background-image: linear-gradient(135deg, #FEC163 5%, #DE4313 100%);
}

/*Linear orange 3 - 135deg*/
.gradient.linear-orange3 {
  background-image: -webkit-linear-gradient(315deg, #FD6E6A 5%, #FFC600 100%);
  background-image: linear-gradient(135deg, #FD6E6A 5%, #FFC600 100%);
}

/*Linear orange 4 - 135deg*/
.gradient.linear-orange4 {
  background-image: -webkit-linear-gradient(315deg, #FFC356 5%, #FFA500 100%);
  background-image: linear-gradient(135deg, #FFC356 5%, #FFA500 100%);
}

/*Linear purple - 135deg*/
.gradient.linear-purple {
  background-image: -webkit-linear-gradient(315deg, #8F44AD 10%, #621680 100%);
  background-image: linear-gradient(135deg, #8F44AD 10%, #621680 100%);
}

/*Linear purple 2 - 135deg*/
.gradient.linear-purple2 {
  background-image: -webkit-linear-gradient(315deg, #D269FC 10%, #7E18A7 100%);
  background-image: linear-gradient(135deg, #D269FC 10%, #7E18A7 100%);
}

/*Radial purple 1 - 135deg*/
.gradient.radial-purple {
  background-image: -webkit-radial-gradient(#D269FC, #7E18A7);
  background-image: radial-gradient(#D269FC, #7E18A7);
}


/*Linear red - 90deg*/
.gradient.linear-red1 {
  background-image: -webkit-linear-gradient(90deg, #ed1661, #b7164a);
  background-image: linear-gradient(90deg, #ed1661, #b7164a);
}

/*Linear red - 135deg*/
.gradient.linear-red {
  background-image: -webkit-linear-gradient(#FEB692, #EA5455);
  background-image: linear-gradient(#FEB692, #EA5455);
}

/*Linear red 2 - 135deg*/
.gradient.linear-red2 {
  background-image: -webkit-linear-gradient(315deg, #e22763 10%, #a21442 100%);
  background-image: linear-gradient(135deg, #e22763 10%, #a21442 100%);
}

/*Linear red 3 - 135deg*/
.gradient.linear-red3 {
  background-image: -webkit-linear-gradient(136deg, rgb(183, 23, 75), rgb(124, 0, 40));
  background-image: linear-gradient(136deg, rgb(183, 23, 75), rgb(124, 0, 40));
}

/*Linear red 4 - 135deg*/
.gradient.linear-red4 {
  background-image: -webkit-linear-gradient(136deg, rgb(246, 0, 80), rgb(106, 0, 34));
  background-image: linear-gradient(136deg, rgb(246, 0, 80), rgb(106, 0, 34));
}

/*Vertical stripes - Grey 1%/White*/
.gradient.linear-vertical-stripes1 {
  background: linear-gradient(to right, #f4f4f4 50%, #fff 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Dark 1%/Darker*/
.gradient.linear-vertical-stripes2 {
  background: linear-gradient(to right, #313131 50%, #3c3c3c 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Red 1%/Red*/
.gradient.linear-vertical-stripes3 {
  background: linear-gradient(to right, #b7174b 50%, #9a133f 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Orange 1%/Orange*/
.gradient.linear-vertical-stripes4 {
  background: linear-gradient(to right, #ffa500 50%, #e29200 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Green 1%/Green*/
.gradient.linear-vertical-stripes5 {
  background: linear-gradient(to right, #6baba5 50%, #588e89 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Blue 1%/Blue*/
.gradient.linear-vertical-stripes6 {
  background: linear-gradient(to right, #308ac7 50%, #2976ab 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Yellow 1%/Yellow*/
.gradient.linear-vertical-stripes7 {
  background: linear-gradient(to right, #f7cb22 50%, #dcb51f 0);
  background-size: 1% 100%;
}

/*Vertical stripes - Purple 1%/Purple*/
.gradient.linear-vertical-stripes8 {
  background: linear-gradient(to right, #8f44ad 50%, #6d3484 0);
  background-size: 1% 100%;
}

.checkerboard {
  background-color: #fff;
  background-image: linear-gradient(45deg, #000 26%, transparent 25%), linear-gradient(-45deg, #000 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #000 75%), linear-gradient(-45deg, transparent 75%, #000000 75%);
  background-size: 60px 60px;
  background-position: 0 0, 0 30px, 30px -30px, -30px 0px;
  background-repeat: repeat;
}

.firefox .checkerboard {
  background-position: 0 0, 0 30px, 30px -30px, -29px 0px;
}

.checkerboard-blue {
  background-color: #eee;
  background-image: linear-gradient(45deg, #2f8ac6 26%, transparent 25%, transparent 75%, #2f8ac6 75%, #2f8ac6), linear-gradient(45deg, #2f8ac6 26%, transparent 25%, transparent 75%, #2f8ac6 76%, #2f8ac6);
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px;
  background-repeat: repeat;
}

.checkerboard-dark {
  background-color: #fff;
  background-image: linear-gradient(45deg, #444 25%, #0000 25%), linear-gradient(-45deg, #444 25%, #0000 25%), linear-gradient(45deg, #0000 75%, #444 75%), linear-gradient(-45deg, #313131 75%, #444 75%);
  background-size: 60px 60px;
  background-position: 0 0, 0 30px, 30px -29px, -30px 0px;
  background-repeat: repeat;
}

/*Tablecloth*/
.tablecloth {
  background-color: white;
  background-image: linear-gradient(90deg, rgba(200, 0, 0, .5) 50%, transparent 50%),
    linear-gradient(rgba(200, 0, 0, .5) 50%, transparent 50%);
  background-size: 50px 50px;
  background-repeat: repeat;
}

/*Cross-Dots*/
.cross-dots-black {
  background: radial-gradient(black 3px, transparent 4px),
    radial-gradient(black 3px, transparent 4px),
    linear-gradient(#fff 4px, transparent 0),
    linear-gradient(45deg, transparent 74px, transparent 75px, #a4a4a4 75px, #a4a4a4 76px, transparent 77px, transparent 109px),
    linear-gradient(-45deg, transparent 75px, transparent 76px, #a4a4a4 76px, #a4a4a4 77px, transparent 78px, transparent 109px),
    #fff;
  background-size: 109px 109px, 109px 109px, 100% 6px, 109px 109px, 109px 109px;
  background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;
}

/*Cross-Dots Grey*/
.cross-dots-grey {
  background: radial-gradient(#efefef 3px, transparent 4px), radial-gradient(#efefef 3px, transparent 4px), linear-gradient(#fff 4px, transparent 0), linear-gradient(45deg, transparent 74px, transparent 75px, #efefef 75px, #cecece 76px, transparent 77px, transparent 109px), linear-gradient(-45deg, transparent 75px, transparent 76px, #cecece 76px, #cecece 77px, transparent 78px, transparent 109px), #fff;
  background-size: 109px 109px, 109px 109px, 100% 6px, 109px 109px, 109px 109px;
  background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;
}

.vintage-envelope {
  padding: 1em;
  border: 1em solid transparent;
  background: linear-gradient(white, white) padding-box,
    repeating-linear-gradient(-45deg, red 0, red 12.5%, transparent 0, transparent 25%,
      #58a 0, #58a 37.5%, transparent 0, transparent 50%) 0 / 6em 6em;
}

/*Special forms 1*/
.stripes,
.stripes span {
  position: absolute;
}

/*Special forms 1 blue*/
.stripes.blue {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform: skewY(-12deg);
  transform: skewY(-12deg);
  -webkit-transform-origin: 0;
  transform-origin: 0;
  background-color: #42afff;
  background-image: linear-gradient(150deg, #26a2fd 15%, #006fc1 100%);
}

.stripes.blue span {
  height: 40px;
}

.stripes.blue :first-child {
  width: 50%;
  left: 50%;
  top: 40px;
  background: #0080dc;
}

.stripes.blue :nth-child(2) {
  width: 14%;
  right: 0;
  bottom: 40px;
  background: #219cf6;
}

.stripes.blue :nth-child(3) {
  width: 25%;
  bottom: 0;
  right: 0;
  background: #0061a9;
}

@media (min-width: 670px) {
  .stripes.blue span {
    height: 150px;
  }

  .stripes.blue :first-child {
    top: 0;
    background: #0080dc;
  }

  .stripes.blue :nth-child(2) {
    width: 16.66667%;
    width: calc(100% / 6);
    top: 300px;
    top: calc(150px * 2);
    bottom: auto;
    background: #0dcfff;
  }

  .stripes.blue :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    right: auto;
    background: #11bdff;
  }

}

@media (min-width: 880px) {
  .stripes.blue span {
    height: 190px;
  }

  .stripes.blue :first-child {
    width: 33.33333%;
    width: calc(100% / 3);
    left: -16.66666%;
    left: calc(calc(calc(100% / 3) / 2) * -1);
    background: #0295ff;
  }

  .stripes.blue :nth-child(2) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 0;
    left: 16.66666%;
    left: calc(calc(100% / 3) / 2);
    right: auto;
    background: #42b0ff;
  }

  .stripes.blue :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    left: 49.99999%;
    left: calc(calc(calc(100% / 3) / 2) + calc(100% / 3));
    bottom: auto;
    background: #66beff;
  }

  .stripes.blue :nth-child(4) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 380px;
    top: calc(190px * 2);
    right: -16.66666%;
    right: calc(calc(calc(100% / 3) / 2) * -1);
    background: #66beff;
  }

  .stripes.blue :nth-child(5) {
    width: 33.33333%;
    width: calc(100% / 3);
    bottom: 0;
    background: #65beff;
  }

}

/*Special forms 1 red*/
.stripes.red {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform: skewY(-12deg);
  transform: skewY(-12deg);
  -webkit-transform-origin: 0;
  transform-origin: 0;
  background-image: linear-gradient(150deg, #b7174b 15%, #ff1f68 100%);
}

.stripes.red span {
  height: 40px;
}

.stripes.red :first-child {
  width: 50%;
  left: 50%;
  top: 40px;
  background: #da2b64;
}

.stripes.red :nth-child(2) {
  width: 14%;
  right: 0;
  bottom: 40px;
  background: #b7174b;
}

.stripes.red :nth-child(3) {
  width: 25%;
  bottom: 0;
  right: 0;
  background: #e22b67;
}

@media (min-width: 670px) {
  .stripes.red span {
    height: 150px;
  }

  .stripes.red :first-child {
    top: 0;
    background: #da2b64;
  }

  .stripes.red :nth-child(2) {
    width: 16.66667%;
    width: calc(100% / 6);
    top: 300px;
    top: calc(150px * 2);
    bottom: auto;
    background: #b7174b;
  }

  .stripes.red :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    right: auto;
    background: #e22b67;
  }

}

@media (min-width: 880px) {
  .stripes.red span {
    height: 190px;
  }

  .stripes.red :first-child {
    width: 33.33333%;
    width: calc(100% / 3);
    left: -16.66666%;
    left: calc(calc(calc(100% / 3) / 2) * -1);
    background: #da2b64;
  }

  .stripes.red :nth-child(2) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 0;
    left: 16.66666%;
    left: calc(calc(100% / 3) / 2);
    right: auto;
    background: #b7174b;
  }

  .stripes.red :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    left: 49.99999%;
    left: calc(calc(calc(100% / 3) / 2) + calc(100% / 3));
    bottom: auto;
    background: #e22b67;
  }

  .stripes.red :nth-child(4) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 380px;
    top: calc(190px * 2);
    right: -16.66666%;
    right: calc(calc(calc(100% / 3) / 2) * -1);
    background: #b7174b;
  }

  .stripes.red :nth-child(5) {
    width: 33.33333%;
    width: calc(100% / 3);
    bottom: 0;
    background: #b7174b;
  }

}

/*Special forms 1 green*/
.stripes.green {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform: skewY(-12deg);
  transform: skewY(-12deg);
  -webkit-transform-origin: 0;
  transform-origin: 0;
  background-image: linear-gradient(150deg, #568681 15%, #6baba5 100%);
}

.stripes.green span {
  height: 40px;
}

.stripes.green :first-child {
  width: 50%;
  left: 50%;
  top: 40px;
  background: #6baba5;
}

.stripes.green :nth-child(2) {
  width: 14%;
  right: 0;
  bottom: 40px;
  background: #50807b;
}

.stripes.green :nth-child(3) {
  width: 25%;
  bottom: 0;
  right: 0;
  background: #87ccc5;
}

@media (min-width: 670px) {
  .stripes.green span {
    height: 150px;
  }

  .stripes.green :first-child {
    top: 0;
    background: #6baba5;
  }

  .stripes.green :nth-child(2) {
    width: 16.66667%;
    width: calc(100% / 6);
    top: 300px;
    top: calc(150px * 2);
    bottom: auto;
    background: #50807b;
  }

  .stripes.green :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    right: auto;
    background: #87ccc5;
  }

}

@media (min-width: 880px) {
  .stripes.green span {
    height: 190px;
  }

  .stripes.green :first-child {
    width: 33.33333%;
    width: calc(100% / 3);
    left: -16.66666%;
    left: calc(calc(calc(100% / 3) / 2) * -1);
    background: #6baba5;
  }

  .stripes.green :nth-child(2) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 0;
    left: 16.66666%;
    left: calc(calc(100% / 3) / 2);
    right: auto;
    background: #50807b;
  }

  .stripes.green :nth-child(3) {
    width: 33.33333%;
    width: calc(100% / 3);
    left: 49.99999%;
    left: calc(calc(calc(100% / 3) / 2) + calc(100% / 3));
    bottom: auto;
    background: #87ccc5;
  }

  .stripes.green :nth-child(4) {
    width: 33.33333%;
    width: calc(100% / 3);
    top: 380px;
    top: calc(190px * 2);
    right: -16.66666%;
    right: calc(calc(calc(100% / 3) / 2) * -1);
    background: #6dada6;
  }

  .stripes.green :nth-child(5) {
    width: 33.33333%;
    width: calc(100% / 3);
    bottom: 0;
    background: #578883;
  }

}



/*************************
    schriftfarbe weiss
 *************************/
.colorwhiteh h1,
.colorwhiteh h2,
.colorwhiteh h3,
.colorwhiteh h4,
.colorwhiteh h5,
.colorwhitep p,
.colorwhiteli li,
.ce_ctslistextended.colorwhiteli .ext_list ul li span {
  color: #fff;
}

/*************************
    Abstaende link und rechts
 *************************/

.margin-right10 {
  margin-right: 10px;
}

.margin-right20 {
  margin-right: 20px;
}

.margin-right30 {
  margin-right: 30px;
}

.margin-left10 {
  margin-left: 10px;
}

.margin-left20 {
  margin-left: 20px;
}

.margin-left30 {
  margin-left: 30px;
}

.padding-right10 {
  padding-right: 10px;
}

.padding-right20 {
  padding-right: 20px;
}

.padding-right30 {
  padding-right: 30px;
}

.padding-left10 {
  padding-left: 10px;
}

.padding-left20 {
  padding-left: 20px;
}

.padding-left30 {
  padding-left: 30px;
}

.border-right1 {
  border-right: 1px solid #eaeaea;
}

.border-left1 {
  border-left: 1px solid #eaeaea;
}

/**
 * =============================================================================
 * Bilder mit Rahmen
 * ==========================================================================
 */

.imgframe1 img {
  display: inline-block;
  background-color: #f1f1f1;
  border: 1px solid #dadada;
  padding: 5px;
}

.polaroid .image_container {
  overflow: visible;
}

.polaroid .image_container.float_below,
.polaroid .image_container.float_above {
  margin-left: 3px;
  margin-right: 3px;
}

.polaroid .image_container.float_left {
  margin-left: 3px;
}

.polaroid .image_container.float_right {
  margin-right: 3px;
}

.polaroid img {
  display: inline-block;
  border: 10px solid #fff;
  box-shadow: 0 0 3px #777;
}

/**
 * =============================================================================
 * border for elements
 * ==========================================================================
 */

.border-right-white {
  border-right: 1px solid #fff;
}

.border-left-white {
  border-left: 1px solid #fff;
}

.border-right-grey {
  border-right: 1px solid #d4d4d4;
}

.border-left-grey {
  border-left: 1px solid #d4d4d4;
}

.border-right-dark {
  border-right: 1px solid #313131;
}

.border-left-dark {
  border-left: 1px solid #313131;
}

/**
 * =============================================================================
 * textausrichtung und farbe
 * ==========================================================================
 */
.uppercase {
  text-transform: uppercase;
}

.bold p {
  font-weight: bold;
}

.text-align-right {
  text-align: right !important;
}

.text-align-left {
  text-align: left !important;
}

.text-align-center,
.center {
  text-align: center !important;
}

#footer .inside .fontcolor-white div,
#footer .inside .fontcolor-white .footermenu,
.fontcolor-white input,
.fontcolor-white textarea,
.fontcolor-white,
.fontcolor-white h1,
.fontcolor-white h2,
.fontcolor-white h3,
.fontcolor-white h4,
.fontcolor-white h5,
.fontcolor-white h6,
.fontcolor-white a {
  color: #fff !important;
}

.shadow40 {
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);
  padding: 0 40px;
}

/*************************
    CSS Counters for accorions
 *************************/

.csscounters .ce_accordion .toggler {
  padding: 7px 46px 7px 56px;
}

.csscounters .ce_accordion .toggler:before {
  left: auto;
  right: 12px;
}

.csscounters {
  counter-reset: section;
}

.csscounters .ce_accordion .toggler::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 45px;
  height: 100%;
  background-color: #f1f1f1;
  border-right: 1px solid #dcdcdc;
  line-height: 45px;
  text-align: center;
  counter-increment: section;
  content: counter(section) " ";
}

.csscounters .ce_accordion .ui-accordion-header-active {
  border-bottom: 1px solid #dcdcdc;
}

