/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(/css/fonts/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(/css/fonts/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/css/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/css/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/css/fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/css/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 400;
  src: local('FontAwesome'), local('FontAwesome-Regular'), url(/jpeto/webfonts/fa-regular-400.woff2) format('woff2');
}
body, html { overflow-x:hidden; }

body {
  background-color: #ffffff;
  font-family:  'Open Sans', Arial, Helvetice Neue, sans-serif;
  font-size: 0.9rem;
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: 100%;
  margin:0;
  padding:0;
}

.carousel a, .carousel a:link, .carousel a:active, .carousel a:visited, .carousel a:hover {
  text-decoration: none;
}

a, a:link, a:active, a:visited, a:hover {
  color: #000;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

article a, article a:link, article a:active, article a:hover,
summary a, summary a:link, summary a:active, summary a:hover,
.modal-body a, .modal-body a:link, .modal-body a:active, .modal-body a:hover {
  color: #666;
}

article a:visited, summary a:visited, .modal-body a:visited {
  color: #333;
}

h1, h2, h3, h4, h5, h6, span, p { font-family: 'Open Sans', Arial, Helvetice Neue, sans-serif; }

h1 span, .olive { color: #7f826f; }

summary {
  list-style-type: none;
}

#company h2 { text-align:center; font-style:italic; font-size: 1rem; }

.contact {
  background: #7f826f;
  color: #fff;
  font-size: 0.8rem;
  line-height: 3rem;
}

.contact a {
  color:#fff!important;
}

.menubar {
  margin: 0.6rem auto;
}

.logo .img-fluid {
  width: 100%;
  max-width: 20rem;
}

.nav {
	font-size: 0.8rem;
	text-transform:uppercase;
}

.nav-item {
	display:inline-block;
	line-height: 100%;
	height: 1.8rem;
}

.nav-link {
	color: #7f826f;
}

.nav li.active .nav-link, .nav li:hover .nav-link {
	color: #fff;
}

.nav li.active, .nav li:hover {
	background: #7f826f;
}

.alt-bg {
  background: #7f826f;
  color: #fff;
  padding: 1.5rem 0;
}

.alt-bg-10 {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}


.alt-bg hr {
  border:0;
  height:1px;
  background-color: #fff;
}

.alt-bg a {

  color: #fff!important;
}

.separator {
  color: #7f826f;
}

.alt-bg .separator {
  color: #fff;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.4rem;
}

.device-sm h1 {
  font-size: 1.8rem;
}

.device-sm h2 {
  font-size: 1.5rem;
}

.device-sm h3 {
  font-size: 1.3rem;
}


.device-xs h1 {
  font-size: 1.6rem;
}

.device-xs h2 {
  font-size: 1.4rem;
}

.device-xs h3 {
  font-size: 1.2rem;
}

.portfolio {
  margin-top: 2rem;
}

.portfolio svg {
  width: 3.6rem!important;
  height: 3.6rem!important;
}

.portfolio p {
  margin: 0.8rem 0 1rem 0;
}

.device-xl .portfolio p {
  text-align:justify;
}

.device-lg .portfolio p {
  text-align:justify;
}

.device-md .portfolio h3 {
  font-size: 1.1rem;
}

.carousel {
  background: url(/img/page/carousel_bg.jpg) no-repeat left top fixed;
  -webkit-background-size: auto 660px;
  -moz-background-size: auto 660px;
  -o-background-size: auto 660px;
  background-size: auto 660px;
  overflow-x: hidden;
  margin-bottom: 4rem;
  max-height: 32rem;
  min-height: 15rem;
}

.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

.carousel-item {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-item a {
  color: #fff;
}

.carousel-item h1, .carousel-item h2 {
  text-transform: uppercase;
}

.carousel-indicators li {
  width: 12px;
  height: 12px;
  border: 1px solid black;
  background-color: white;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.carousel-indicators li.active {
  background-color:black;
}

.carousel-control-prev{
  background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}

.carousel-control-next {
  background: linear-gradient(to left, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}

.carousel-control-next:hover, .carousel-control-next:focus, .carousel-control-prev:hover, .carousel-control-prev:focus {
  color: #ffffff;
  text-decoration: none;
  outline: none;
  background: rgba(0,0,0,0);
}

.mt-portrait .img-fluid {
  border-width: 0 2px 2px 0;
  border-style: solid;
  border-color: #fff;
  padding-right:2px;
  padding-bottom: 2px;
  -webkit-border-radius: 8px 0;
  -moz-border-radius: 8px 0;
  border-radius: 8px 0;
}

.kunden-logos .img-fluid {
  max-width: 80%;
  margin: 2rem 0;
}

.modal-header h3 { font-weight: bold; text-align:center; margin:0; }
.modal-header img { max-width: 50%; margin: 0 auto 1rem auto; }
.modal-header h3 { font-size: 1rem; }

blockquote {
  margin: 2rem 1rem;
  padding: 0 0 0 10%;
  background: url(/img/page/quote-left.svg) top left no-repeat;
  background-size: 14% 14%;
}

blockquote p {
  text-align: justify;
  font-style:italic;
  padding: 0 12% 0 0;
  background: url(/img/page/quote-right.svg) bottom right no-repeat;
  background-size: 14% 14%;
}

.c-point {
  cursor:pointer;
}

.service-detail {
  margin-top: 3rem;
}

.r-side {
  font-size: 0.8rem;
  padding-left: 2rem;
}

.service-detail .l-side .align-items-end {
  margin-bottom: 1.5rem;
}


.back-to-top {
  margin: 0;
  position: fixed;
  display:none;
  bottom: 5px;
  right: 10px;
  z-index: 106;
}

.cookiehinweis { position: fixed; bottom: 0px; left:0; background-color: #FFFFCC;  margin:0; padding:0; width:100%; }
.cookiehinweis p { padding: 10px 5px; text-align:center; line-height: 2em; margin:0; }
.cookiehinweis a { color: #5A5A5A; text-decoration: underline; }


#alt-nav { height: 100%; width:100%; background-color: rgba(0,0,0,.85); z-index: 10001; font-size: 1.5em; padding: 0; }
#alt-nav ul { padding: 0 0 0 15px; margin: 0 25px; }
#alt-nav li { margin-bottom: 1em; list-style-type:square; padding: 2px 0; color:#fff; }
#alt-nav li a { color: #fff!important; display:block; }
#alt-nav { padding-top: 60px; background-image: url(/img/page/close.svg); background-position: top right; background-repeat: no-repeat; background-size: 50px 50px; }
#alt-nav .nav-item { display:block; }

.brd10 img {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.extlink {
  display:inline-block;
}
.extlink:before {
  content: "\f08e";
  font-family: FontAwesome;
  padding-left: 2px;
  padding-right: 4px;
}

.image-subtext { margin-top: 0.3rem; margin-bottom: 1rem; }
.image-subtext p { margin: 0; line-height: 1rem; }
.image-copyright { font-size: 0.8rem; }

section .block-link { color: #212529!important; text-decoration:none; }


/* bootstap svg/css replacements */

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("/admin/img/bs_custom_checkbox_checked.svg");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("/admin/img/bs_custom_checkbox.svg");
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("/admin/img/bs_custom_radio.svg");
}
.custom-select {
  background: #fff url("/admin/img/bs_custom_select.svg") no-repeat right 0.75rem center;
}
.navbar-light .navbar-toggler-icon {
  background-image: url("/admin/img/bs_navbar_light.svg");
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("/admin/img/bs_navbar_dark.svg");
}
.carousel-control-prev-icon {
  background-image: url("/admin/img/bs_carousel_prev.svg");
}
.carousel-control-next-icon {
  background-image: url("/admin/img/bs_carousel_next.svg");
}

.info::before {
  font-family: "Font Awesome 5 Pro";
  content: "\f30f   ";
  font-weight: 600;
}

.mw-300 {
  max-width: 300px;
}

.mw-400 {
  max-width: 400px;
}

#referenzen .img-fluid { transition: transform .2s; }

#referenzen .img-fluid:hover {
  transform: scale(1.05);
}

.kunden-logos .img-fluid { transition: transform .2s; }

.kunden-logos .img-fluid:hover {
  transform: scale(1.2);
}

.stoerer {
  transition: transform .2s;
}

.stoerer:hover {
  transform: scale(1.1);
}

img.stoerer {
  max-width: 25%;
  min-width: 200px;
  z-index:9999999;
  height:auto;
  float:right;
  position:absolute;
  top: 120px;
  right: 30px;
}

.ul-sw li {
  margin-bottom: 0.5rem;
}