h1 { 
	font-family: 'Josefin Sans', Arial;
	color: #707070; 
	font-weight: bold; 
	font-size: 85px; 
	line-height: 1.125;
	text-transform: uppercase;
}

h2 { 
	color: #30CEFF; 
	font-weight: bold; 
	font-size: 45px; 
	line-height: 1.225;
    padding: 0px;
    margin: 0px;
    text-transform: uppercase;
}

h3 { 
	color: #4D4D4D; 
	font-weight: bold; 
	font-size: 45px; 
	line-height: 1.225;
    text-transform: uppercase;
    font-family: 'Josefin Sans', Arial;
}

h4 { 
	color: #30CEFF; 
	font-weight: bold; 
	font-size: 28px; 
	line-height: 36px; 
    padding: 0px;
    margin-bottom: 0px;
}

p { 
	font-variant: normal; 
	color: #707070;
	font-size: 20px;
	line-height: 32px;
	font-weight: 400;
}

b { 
	font-variant: normal; 
	text-align: left; 
}

a { 
	color: #30CEFF;
	font-size: 20px;
	line-height: 32px;
	font-weight: 400;
	text-decoration: none; 
}

a:hover { 
	color: #30CEFF;
	font-size: 20px;
	line-height: 32px;
	font-weight: 400;
	text-decoration: underline; 
}

body { 
	margin: 0px; 
  	padding: 0px; 
	font-size: 16px;
	font-weight: 400;
	line-height: 1.625;
	-webkit-text-size-adjust: 100%;
	color: #6c6d74;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-family: 'Inter 18pt', Arial;
}

strong {
	color: #30CEFF;
}

/***  Style Elements  ***/

.clearer {
  	clear: both;
}

.text-center {
  text-align: center;
}

.light-content strong,
.light-content p,
.light-content h3 {
	color: #fff;
}


/*** Buttons ***/

a.button {
	background: #30CEFF;
	color: #fff;
	font-weight: bold;
	padding: 10px 20px;
	display: inline-block;
	text-decoration: none;
	box-shadow: 5px 8px 11px #0000001F;
    border-radius: 18px;
    margin-top: 40px;
    overflow: hidden; 
    cursor: pointer;
    transition: all 0.3s ease;
}

a.button:hover {
	background: #F27C00;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
 
}

a.button-w {
	background: #fff;
	color: #30CEFF;
	font-weight: bold;
	padding: 10px 20px;
	display: inline-block;
	text-decoration: none;
	box-shadow: 5px 8px 11px #0000001F;
    border-radius: 18px;
    margin-top: 40px;
    overflow: hidden; 
    cursor: pointer;
    transition: all 0.3s ease;
}

a.button-w:hover {
	background: #30CEFF;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

a.pdf-download {
	background: url(../images/Icons/icon-download.png) top left no-repeat;
	background-size: 25px;
	padding-left: 35px;
	text-decoration: none;
	font-weight: bold;
	line-height: 25px;
	font-size: 22px;
	display: block;
	font-style: normal;
}

a.pdf-download:hover {
	background: url(../images/Icons/icon-download.png) top left no-repeat;
	background-size: 25px;
	text-decoration: none;
	font-weight: bold;
	line-height: 25px;
	font-size: 22px; 
	font-style: normal;
}

/***  Navigation  ***/

/* Main Navi Top */
#main-navigation {
  	display: block;
  	height: 30px;
  	width: 100%;
  	max-width: 1000px;
  	position: absolute;
  	top: 50px;
  	right: 0;
  	z-index: 1000;
  	text-align: right;
  	box-sizing: border-box;
  	padding-left: 20%;
}



/***  Header  ***/

#header {
  	height: 150px;
  	width: 100%;
  	
  	margin-left: auto;
  	margin-right: auto;
  	display: block;
  	box-shadow: 0px 6px 9px #00000029;
}

.header-inner {
    max-width: 1200px;
    margin-left: auto;
  	margin-right: auto;
  	display: block;
  	position: relative;
}

#logo {
  width: auto;
  height: auto;
  position: absolute;
  top: 30px;
  left: 0px;
  z-index: 5;
}

#logo img {
  width: 350px;
  height: auto;
  display: block;
}

.eyecatcher {
  max-width: 1700px;
  height: auto;
  max-height: 480px;
  overflow: hidden;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.eyecatcher img {
  width: 100%;
  height: auto;
  display: block;
}

/***  Content  ***/

#stage {
  width: 100%;
  height: auto;
  min-height: 1000px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  margin-top: 100px;
}

.main-col {
  width: 100%;
  margin: 20px auto 0px auto;
  padding: 0px 0px 0px 0px;
  display: block; 

}

.main-col img {
  max-width: 100%;
  height: auto;
  display: block;
}

.frame-layout-0 {
  max-width: 1200px;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
  display: block;  
}

.frame-layout-3 {
  max-width: 100%;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
  display: block;  
  overflow-x: hidden;
}

.frame-layout-3 .frame-layout-0 {
  padding: 0px 0px 0px 0px;
}

.content-padding {
  padding: 50px 0px;
}

/* */

ul li {
  font-size: 16px;
  padding-bottom: 5px;
}

#stage ul li {
  color: #707070;
  font-size: 20px;
  line-height: 32px;
  font-weight: 400;
  padding-left: 10px;
  padding-bottom: 10px;
  margin-left: -25px;
  list-style:none;
  position:relative;
}

#stage ul li:before {
  content:"";
  background-color:#707070;
  width:6px;
  height:6px;
  display:inline-block;
  text-align:right;
  border-radius:100px;
  position:absolute;
  margin-right: 20px;
  top:12px;
  left:-13px;
}


/* Num List Icons */

.num-list-icons img {
  width: 70px;
  height: auto;
  display: block;
}

.num-list-icons ol {
  	list-style-type: none; 
    padding: 0;
    counter-reset: custom-counter; 
    column-count: 2;
  	column-gap: 40px;
    gap: 1rem; 
}

.num-list-icons li {
    counter-increment: custom-counter;
    position: relative;
    padding-left: 80px; 
    padding-right: 5%;
    margin-bottom: 30px;
    min-height: 80px;
    display: inline-block;
    color: #30CEFF;
    font-size: 20px;
    line-height: 34px;
    display: grid; 
    align-items: center;
}

.num-list-icons li::before {
    content: ""; 
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 55px;
    height: 55px;
    background-color: transparent; 
    border: 4px solid #FCA01F;
    border-radius: 12px;
    box-sizing: border-box;
    transform-origin: center;
}

.num-list-icons li::after {
    content: counter(custom-counter); 
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-0deg); 
    font-family: 'Josefin Sans', Arial;
    color: #FCA01F;
    font-weight: 500;
    font-size: 38px; 
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1; 
    padding-top: 5px;
}

/*** Arrow Elements ***/

.arrow-top,
.arrow-top-w {
  position: relative;
}

.arrow-top:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  margin-left: -65px;
  width: 0px;
  height: 0px;
  -webkit-transform:rotate(360deg);
  border-style: solid;
  border-width: 50px 65px 0 65px;
  border-color: #4d4d4d transparent transparent transparent;
}

.arrow-top-w:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  margin-left: -65px;
  width: 0px;
  height: 0px;
  -webkit-transform:rotate(360deg);
  border-style: solid;
  border-width: 50px 65px 0 65px;
  border-color: #fff transparent transparent transparent;
}

/*** Teaser ***/

.teaser-block-items .ce-container {
  display: grid; 
  grid-template-columns: repeat(2, 1fr); 
  gap: 1rem;
}

.teaser-block-items-s .ce-container {
  display: grid; 
  grid-template-columns: repeat(3, 1fr); 
  gap: 1rem;
}

.teaser-block-items .frame-type-textpic,
.teaser-block-items-s .frame-type-textpic {
  background: #fff;
  border-radius: 0px 27px 0px 0px;
  padding: 8% 5% 5% 5%; 
  height: 100%; 
  display: flex;
  justify-content: center;
  align-items: start;
  position: relative;
  box-sizing: border-box;
  border-bottom: 90px solid #4d4d4d;
  margin-top: 20px;
}

.teaser-block-items-s .frame-type-textpic {
  background: #F6F6F6;
  border-bottom: 120px solid #4d4d4d;
}

.teaser-block-items .frame-type-textpic:nth-of-type(odd) {
  margin-right: 5%;
}

.teaser-block-items .frame-type-textpic:nth-of-type(even) {
  margin-left: 5%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n) {
    margin-left: 2%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n + 2) {
    margin-left: 1%;
    margin-right: 1%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n + 1) {
    margin-right: 2%;
}

.teaser-block-items .frame-type-textpic .ce-gallery,
.teaser-block-items-s .frame-type-textpic .ce-gallery {
  position: absolute;
  top: -50px;
  left: 40px;
}

.teaser-block-items .frame-type-textpic img,
.teaser-block-items-s .frame-type-textpic img {
  width: 100px;
  height: auto;
  display: block;
}

.teaser-block-items h3,
.teaser-block-items-s h3 {
  color: #30CEFF;
  font-size: 28px;
  line-height: 37px;
  text-transform: none;
  font-family: 'Inter 18pt', Arial;
}

.teaser-block-items-s .frame-type-textpic p a.button {
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -86px;
}

/***  Quickpanel  ***/

#quickpanel {
  height:auto;
  width:100%;
  background: #E5E5E5;
  padding: 40px 0px 0px 0px;
  margin:0px;
  overflow:visible;
  position:relative;
}

.quickpanel-inside {
  	width: 92%;
  	display:block;
 	text-align:left;
  	margin-left:auto;
  	margin-right:auto;
  	padding-top: 80px;
  	overflow:hidden;
  	position:relative;
  	display: -webkit-flex;
   	display: -ms-flex;
   	display: flex;
   	-webkit-flex-wrap: wrap;
   	-ms-flex-wrap: wrap;
   	flex-wrap: wrap;
    background: url(../images/Logo/CMS-Defender-Logo-grau.png) top left no-repeat;
    background-size: 280px;
}

#quickpanel p {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.625;
	-webkit-text-size-adjust: 100%;
	color: #707070;
}

#quickpanel strong {
    color: #707070;
}

.quicklinks { 
	width: auto; 
	min-width: 18%;
 	display: block;
  	float: left;
  	padding: 0px 2%;
  	box-sizing: border-box;
}

.quicklinks:first-of-type {
    padding-left: 0px;
    padding-right: 5%;
}

.quicklinks:last-of-type {
    padding-right: 0px;
}

.quicklinks ul {
  	list-style:none;
  	list-style-type:none;
 	margin:0px;
 	padding:15px 0px 0px 0px;
}

.quicklinks ul li {
  	list-style-type:none;
  	margin:0px;
  	padding:0px;
 	list-style-type:none;
}

.quicklinks ul li a,
.quicklinks ul li a:hover,
#quickpanel a,
#quickpanel a:hover {
  	text-decoration: none;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.625;
	-webkit-text-size-adjust: 100%;
	color: #707070;
	text-decoration: none;
}


/***  Footer  ***/

.footer {
	height: auto;
	min-height: 40px;
	width: 92%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
	margin-top: 30px;
	display: block;
	padding: 10px 0px;
	border-radius: 0px 30px 0px 0px;
}

.menu_bottom {
	width: auto;
	float: right;
	display: inline-block;
	padding: 0px 2%;
}

.menu_bottom ul { 
	padding: 0px 0px 0px 0px; 
	margin: 0px; 
	text-align: right; 
}

.menu_bottom ul li {
	display: inline;
	list-style: none;
	padding: 0px 10px 0px 10px;
	border-right: 1px solid #707070;
}

.menu_bottom ul li:last-child {
	border-right: 0px;
}

#quickpanel .menu_bottom ul li a, 
#quickpanel .menu_bottom ul li a:hover { 
	text-decoration: none;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.625;
	-webkit-text-size-adjust: 100%;
	color: #707070;
}

.copyright {
    width: auto;
	float: left;
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.625;
	padding: 0px;
	color: #707070;
}

/* */

.frame-space-before-extra-small{margin-top:1em;}
.frame-space-before-small{margin-top:30px;}
.frame-space-before-medium{margin-top:50px;}
.frame-space-before-large{margin-top:60px;}
.frame-space-before-extra-large{margin-top:80px;}
.frame-space-after-extra-small{margin-bottom:1em;}
.frame-space-after-small{margin-bottom:30px;}
.frame-space-after-medium{margin-bottom:50px;}
.frame-space-after-large{margin-bottom:60px;}
.frame-space-after-extra-large{margin-bottom:80px;}


/* Viewports */

@media only screen and (max-width: 1500px) {
  
.quickpanel-inside {
  	width: 98%;
    margin-left: 2%;
}
  
.quicklinks { 
	min-width: auto;
} 
  
.quicklinks:first-of-type {
    padding-right: 2%;
}  
  
.footer {
	width: 98%;
    margin-left: 2%;
}
  
  
} 

@media only screen and (max-width: 1350px) {
  
h1 { 
	font-size: 55px; 
}

h2 { 
	font-size: 35px; 
}

h3 { 
	font-size: 32px; 
}  
  
#quickpanel p {
	font-size: 16px;
}  
 
.quicklinks ul li a,
.quicklinks ul li a:hover,
#quickpanel a,
#quickpanel a:hover {
	font-size: 16px;
}  
  
#quickpanel .menu_bottom ul li a, 
#quickpanel .menu_bottom ul li a:hover { 
	font-size: 16px;
}

.copyright {
	font-size: 16px;
}  
  
}  

@media only screen and (max-width: 1240px) {

.header-inner {
    max-width: 95%;
}
  
.frame-layout-0 {
  max-width: 95%;
}
  
.frame-layout-0 .frame-layout-0 {
  max-width: 100%;
}
  
}

@media only screen and (max-width: 1180px) {
  
.quicklinks { 
	width: 50%; 
	min-width: 50%;
  	padding: 0px 2% 0px 0%;
  	box-sizing: border-box;
}
  
.quicklinks:first-of-type {
    padding-left: 0%;
    padding-right: 2%;
}  
  
}  

@media only screen and (max-width: 999px) {
  
#header {
  	height: 90px;
    position: fixed;
    z-index: 2;
    background: #fff;
}
  
#logo {
  top: 10px;
  z-index: 500000000000000000;
}

#logo img {
  width: auto;
  height: 60px;
  display: block;
  z-index: 500000000000000000;
}
  
.eyecatcher img {
  margin-top: 90px;
}  
  
}  


@media only screen and (max-width: 767px) {
  
h1, h2, h3, h4, h5, h6 {
   hyphens: auto; 
  overflow-wrap: break-word; 
  word-wrap: break-word; 
  word-break: break-word;
  -webkit-hyphens: auto; 
  -moz-hyphens: auto; 
  hyphenate-limit-chars: 6 3 3; 
  hyphenate-limit-lines: 2;
}  
  
h1 { 
	font-size: 35px; 
}

h2 { 
	font-size: 28px; 
}

h3 { 
	font-size: 24px; 
}  
  
p { 
	font-size: 18px;
	line-height: 30px;
}

a { 
	font-size: 18px;
	line-height: 30px;
}

a:hover { 
	font-size: 18px;
	line-height: 30px;
}
  
#stage ul li {
  font-size: 18px;
  line-height: 30px;
}  
  
.num-list-icons ol {
    column-count: 1;
  	column-gap: 0px;
    gap: 0rem; 
}

.num-list-icons li {
    padding-right: 0%;
}
  
.teaser-block-items .ce-container {
  grid-template-columns: repeat(1, 1fr); 
  gap: 0rem;
}

.teaser-block-items-s .ce-container {
  grid-template-columns: repeat(1, 1fr); 
  gap: 0rem;
}

.teaser-block-items .frame-type-textpic:nth-of-type(odd) {
  margin-right: 0%;
}

.teaser-block-items .frame-type-textpic:nth-of-type(even) {
  margin-left: 0%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n) {
    margin-left: 0%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n + 2) {
    margin-left: 0%;
    margin-right: 0%;
}

.teaser-block-items-s .frame-type-textpic:nth-child(3n + 1) {
    margin-right: 0%;
}
  
.teaser-block-items .frame-type-textpic,  
.teaser-block-items-s .frame-type-textpic {
   margin: 0px;
}
  
.header-inner {
    max-width: 90%;
}  
  
#stage {
  margin-top: 40px;
}
  
.frame-layout-0 {
  max-width: 90%;
}
  
.frame-layout-0 .frame-layout-0 {
  max-width: 100%;
}
  
.quickpanel-inside {
  	width: 90%;
    margin-left: 5%;
}
  
.quicklinks {
  width: 100%;
  min-width: 100%;
  padding: 0px;
}  
  
.footer {
    width: 90%;
    margin-left: 5%;
}
  
.footer div {
    width: 100%;
    display: block;
    clear: both;
    text-align: left;
} 
  
.menu_bottom {
  float: left;
  padding: 0px 0%;
}  
  
.menu_bottom ul {
  text-align: left;
  margin-left: -10px;
  padding-top: 20px;
  padding-bottom: 20px;
} 
  
a.button {
    margin-top: 20px;
}

a.button-w {
    margin-top: 20px;
}  
  
}  


/*** Mobile Infobar ***/

#mobile-info-bar {
  display: none;
}

@media (max-width: 500px) {
  
#mobile-info-bar{
  display: block;
}  

#mobile-infobar-spacer { 
  height:60px; 
}
  
#mobile-infobar { 
  height:60px; 
  width:100%; 
  position:fixed; 
  bottom:0; 
  box-shadow:0 1px 3px 0 rgba(0,0,0,0.3); 
  box-sizing:border-box; 
  z-index:100000; 
  border-top: 1px solid #fff; 
  padding-top: 5px; 
}
  
#mobile-infobar td { 
  font: normal normal 300 25px/40px; 
  text-align:center; 
  vertical-align:middle; 
}
  
.mobilepreview #mobile-infobar-spacer { 
  display:block; 
}
  
.diy-touch #mobile-infobar, .mobilepreview #mobile-infobar { 
  display:table; 
}

#mobile-infobar.light { 
  background: #30ceff; 
}
  
#mobile-infobar.light td { 
  color:#fff; 
  font-weight: 400;
}
  
#mobile-infobar .mobile-infobar-link { 
  text-decoration:none; 
}

#mobile-infobar.light .mobile-infobar-link { 
  color:#fff;
}
  
#mobile-infobar .mobile-infobar-icon-box { 
  width:50px; 
  height:50px; 
  display:inline-block; 
  overflow:hidden; 
}
  
#mobile-infobar .mobile-infobar-icon-box svg { 
  width:20px; 
  height:20px; 
}
  
#mobile-infobar .mobile-infobar-icon-box img { 
  width:50px; 
  height:50px; 
  display: block;
}  

#mobile-infobar.light .mobile-infobar-icon { 
  fill:#fff; 
}  
  
#mobile-infobar a .mobile-infobar-text { 
  font-weight: 300; 
}  
  
}  
