.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

@charset "UTF-8";

/*
Theme Name: G/S/T Sicherheitstechnik
Author: Carolin Schwank
Author URI: http://www.snazzy.de
*/

/* libre-baskerville-italic - latin */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  src: local('Libre Baskerville Italic'), local('LibreBaskerville-Italic'),
       url('../../files/theme-gst/fonts/libre-baskerville-v5-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/libre-baskerville-v5-latin-italic.woff') format('woff'), /* Modern Browsers */
}

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local('Roboto Light'), local('Roboto-Light'),
       url('../../files/theme-gst/fonts/roboto-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/roboto-v18-latin-300.woff') format('woff'), /* Modern Browsers */
}
/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
       url('../../files/theme-gst/fonts/roboto-v18-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/roboto-v18-latin-300italic.woff') format('woff'), /* Modern Browsers */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'),
       url('../../files/theme-gst/fonts/roboto-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/roboto-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'),
       url('../../files/theme-gst/fonts/roboto-v18-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/roboto-v18-latin-italic.woff') format('woff'), /* Modern Browsers */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('../../files/theme-gst/fonts/roboto-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme-gst/fonts/roboto-v18-latin-700.woff') format('woff'), /* Modern Browsers */
}


/*---------------------------------------------------------------------------------------------*/
/*	General 
/*---------------------------------------------------------------------------------------------*/

:root {
  --content-width: 65rem;
}

*,
*:after,
*:before{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}

body {	
	font-family: 'Roboto', Arial, sans-serif;
	font-size: 1rem;
  line-height: 1.52;
	color: #333;	
	background: url(../../files/theme-gst/img/layout/bg-page.jpg) #fff;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: 100%;
	text-align: center;
}

img 			{ max-width: 100%; height: auto; vertical-align: middle;}
strong 			{ font-weight: 700; }
p, ul, ol, dd 	{ margin: 0 0 1.25em 0; font-size: 1em }
figure 			{ margin-left: 0; }
blockquote		{ color: #e2001a; font-family: 'Libre Baskerville', serif; font-style: italic; }
.invisible 		{ display: none; }
.upper 			{ text-transform: uppercase; }
.indent 		{ padding-left: 3em; }
.s, .caption	{ color: #283643; font-size: 0.9em; line-height: 1.5; font-style: italic; }
.caption        { margin-top: 0.75em; font-size: 0.75em; }
.block			{ overflow: hidden; }
figure 			{ margin: 0; padding:0;}
abbr[title] 	{ border-bottom: 1px dotted #ccc; text-decoration: none; }
.box			{ background-color: #f3f3f3; padding: 0.75em 1.5em; }

#main ul, #main ol { margin-left: 1.5rem; }

/* Ausrichtung */

.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.float_left { float: left; }
.float_right { float: right; }

/* Farben */

.color1-1 {	color: #e2001a } /* Rot */
.color2-1 {	color: #4c4c4c } /* Mittelgrau */
.color3-1 {	color: #2ba0d6 } /* Blau */
.color4-1 { color: #797979 } /* Grau */

/*-----------------------------------------------------------------------------------*/
/*	Links
/*-----------------------------------------------------------------------------------*/

a { outline: 0; }

a:link { color: #2d4876; text-decoration: none; }
a:visited { color: #455571; }
#main a:hover { border-bottom: 2px solid #4c6897; padding-bottom: 1px; transition: ease-in Werte: 0.42, 0, 1.0, 1.0; }

#container a:link { color: #555; text-decoration: none; border-bottom: 1px solid #777; padding-bottom: 1px; }
#container a:visited { color: #777; }
#container a:hover { color: #e31722; border-bottom: 1px solid #e31722; padding-bottom: 1px; transition: ease-in Werte: 0.42, 0, 1.0, 1.0; }

#container .nav-box a { border: none; }

/*-----------------------------------------------------------------------------------*/
/*	Headlines
/*-----------------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	color:#4e4e4e;
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: normal;
	line-height: 1.3;
}

/* h1 { font-size:2.027em;margin: 2em 0 0.7em 0; } */
h1 { font-size: 1.602em;margin: 2em 0 0.7em 0; }
h2 { font-size: 1.424em;margin: 1.2em 0 0.7em 0; }
h3 { font-size: 1.266em;margin: 1.2em 0 0.5em 0; }
h4 { font-size: 1.266em;margin: 1.2em 0 0.5em 0; }
h5 { font-size: 1em;margin: 1.2em 0 0.5em 0; }

#teaser h2 { font-size: 1.4em; }

.leistungen-sub h1 { margin-top: 1em; }


/*-----------------------------------------------------------------------------------*/
/*	Basic
/*-----------------------------------------------------------------------------------*/

#wrapper { 
	max-width: 1180px; 
	margin: 0 auto; 
	background-color: #fff; 
	-webkit-box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.5);
}

#container {
	text-align: left;
	padding-bottom: 3em;
	min-height: 600px;
}

#right { margin-top: 2em; }

@media screen and (min-width:780px) {
	
	#main { float: left; width: 66.66666667%; }
	#right { float: right; width: 33.33333333%; margin-top: 3em; border-left: 1px solid #ddd; font-size: 0.875em; }
	.startseite #main, .ohne-sidebar #main { float: none; width: 100%; }
}

hr { 
	border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    margin: 10px 0 20px 0;
}

/*-----------------------------------------------------------------------------------*/
/*	Header und Hauptnavigation
/*-----------------------------------------------------------------------------------*/

#header { text-align: left; }
#header ul { margin: 0; padding: 0; }
#header li { list-style-type: none; }

#header .logo { margin: 2em 2em 1em 2em; text-align: center;}
#header .gst-logo { width: 100%; }
#header .slogan {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1em;
	font-style: italic;
	color: #666;
	margin-top: 1em;
	padding-left: 5px;
	text-align: center;
}

@media screen and (max-width: 969px) {

	#header .metanav { display: none; }
	#header .mainnav { display: none; }
	#header .slogan, #header .gst-logo { float: none; }
		
}

@media screen and (min-width: 970px) {
	
	#header .logo { margin: 2em 2em 2em 0; }
	
	#header .gst-logo {
		float: left; 
		width: 400px;
		margin-right: 0.5em;
	}
	
	#header .slogan {
		float: left;
		width: 40%;
		margin-top: 0.2em;
		font-size: 1.166em;
		text-align: left;
	}
	
	#header .mod_customnav { text-align: right; padding-right: 2em; }
	#header .mod_customnav li { display: inline-block; padding-left: 1em; font-size: 0.81em; text-transform: uppercase; margin-top: 8px; }	
  #header .mod_customnav li > a, #header .mod_customnav li > span { color: #000; }
	#header .mod_customnav li.active > strong { color: #e2001a; }
	#header .mod_customnav li > a:hover { border-bottom: none; color: #e2001a; }
	
	#header .mainnav { background-color: #e2001a; color: #fff; }
  #header .mainnav li { float: left; line-height: 3.0em; }
  #header .mainnav li:hover { background-color: #000; }
  #header .mainnav a, #header .mainnav strong { text-decoration: none; color: #fff; padding: 0 1.5rem; font-weight: 400; }
  #header .mainnav li.active, #header .mainnav li.trail { background-color: #000; }

  .mainnav ul.level_1 > li.submenu > a:after, .mainnav ul.level_1 > li.submenu > strong:after { content: '\002b'; font-size: 0.81rem; padding: 5px 5px 0 5px; line-height: 1; }
  
  /* Subnav */ 
  
  .mainnav .level_2 {
      position: absolute;
      left: -50000px;
      top: -50000px;
      overflow: hidden;
      display: block;
      width: 0;
      height: 0;
      background-color: #000;
      text-align: left;
  }
   
  
  .mainnav li:hover > .level_2 {
      left: auto;
      top: auto;
      overflow: auto;
      display: block;
      width: auto;		
      height: auto;
      z-index: 1000;
      padding: 0;
  }
  
  .mainnav .level_2 { width: auto; }
  
  .mainnav .level_2 li {
  	clear: both;
    min-width: 250px;
    border-bottom: 1px solid #999;
    display: block;
    line-height: 3;
    text-align: left;
  }
  
  .mainnav .level_2 li strong.active { color: #e2001a !important; }  
  .mainnav .level_2 li:hover { background-color: #333 !important; } 
  .mainnav li:hover .level_2 li.last { border-bottom: none; }
 
  .mainnav ul.level_2 {		
      -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
      -moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
      box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
  }
	
}


/*-----------------------------------------------------------------------------------*/
/*  Mobiles Menü
/*-----------------------------------------------------------------------------------*/

#header .mod_mobile_menu {
	text-align: right;
	-webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}

#header .mobile_menu_trigger { 
	height: 40px; 
	width: 100%; 
	-webkit-transition: all 0.5s; 
	-moz-transition: all 0.5s; transition: all 0.5s; 
	background: url('../../files/theme-gst/img/misc/icon-mobile-menu-open.png') no-repeat; 
	background-position: center right;
	background-size: contain;
  background-color: #000;
}
#header.fixed-header .mobile_menu_trigger { height: 40px; width: 40px; }

#header .mobile_menu_trigger.active { 
	background: url('../../files/theme-gst/img/misc/icon-mobile-menu-close.png') no-repeat; 
	background-position: center right;
	background-size: contain;
	background-color: #000;
}

.mobile_menu { z-index: 1000; }
.mobile_menu a { outline: 0; text-decoration: none; color: #fff; }
.mobile_menu a:link { color: #fff; opacity: 0.6; }
.mobile_menu a:visited { color: #fff; opacity: 0.6; }
.mobile_menu a:hover { opacity: 0.8; }
.mobile_menu a:focus { outline: gray; }
.mobile_menu a:active { color: #cf3a2f; }

.mobile_menu .inner { background-color: #1a2227 !important; position: relative; }

.mobile-nav-main { font-size: 1.2rem; margin-top: 3.5em; text-align: left; }
.mobile-nav-main .level_1 > ul { border-top: 1px solid rgba(255,255,255,0.2); margin-bottom: 0; }
.mobile-nav-main .level_1 > li { display: block; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,0.2); line-height: 2.6em; }
.mobile-nav-main .level_1 li:hover { color: rgba(255,255,255,0.9);  background-color: #000; }
.mobile-nav-main li a { color: #444; display: block; width: 100%; height: 100%; text-decoration: none; }
.mobile-nav-main li.active strong { color: #fff; }
.mobile-nav-main ul.level_1 > li.submenu > a { cursor: default; }
.mobile-nav-main ul.level_1 > li.submenu > a:after { content: '\002b'; font-size: 0.81rem; padding: 5px 5px 0 5px; line-height: 1; } 

/* Mobile Subnav */

.mobile-nav-main .level_2 > ul {  margin: 0; padding: 0; }
.mobile-nav-main .level_2 > li { list-style: none; font-size: 1.0rem; line-height: 2em; }
.mobile-nav-main .level_2 > li a:before, .mobile-nav-main .level_2 > li strong:before { content: '\203A'; padding-right: 10px; color: #fff; }
.mobile-nav-main .level_2 > li.active { font-weight: 600; }

/* Mobile Kontakt */

.menu-kontakt { color: #fff; opacity: 0.6; padding: 0 0 0 20px; margin-top: 2em; font-size: 85%; line-height: 1.5;  text-align: left;}
.menu-kontakt a { color: #444; text-decoration: none; outline: none; }
.menu-kontakt a:hover { color: #999; }

/* Mobile Metanav */

.mobile-nav-meta { margin-top: 1.5em; font-size: 1rem; text-align: left; }
.mobile-nav-meta ul { margin-bottom: 0; }
.mobile-nav-meta li { display: block; padding: 0 20px; }
.mobile-nav-meta li a { color: #444; display: block; width: 100%; height: 100%; text-decoration: none; }
.mobile-nav-meta li.active { color: #fff; }


/*-----------------------------------------------------------------------------------*/
/*  Custommenu
/*-----------------------------------------------------------------------------------*/

.mod_custommmenu li.leistungen-sub a:hover { color: #e2001a }
.mod_custommmenu ul { text-align: left; }
.mod_custommmenu li.leistungen-sub a { padding-left: 4em; }
.mod_custommmenu li.leistungen-sub a:before { content: '\f105';font-family: 'Font Awesome 5 Free'; padding-right: 10px; }


/*-----------------------------------------------------------------------------------*/
/*  Breadcrumby bei Leistungen
/*-----------------------------------------------------------------------------------*/

.mod_breadcrumb { margin-left: 2.5em; margin-right: 2.5em; margin-top: 2em; margin-bottom: 0.5rem; border-bottom: 1px solid #ddd; padding-bottom: 5px; }
#main .mod_breadcrumb ul { padding: 0; margin: 0; list-style: none; font-size: 0.875em; color: #555 }
.mod_breadcrumb li { display: inline-block; }
.mod_breadcrumb li.active { font-weight: 700; }
#container .mod_breadcrumb a { color: #777; border-bottom: none; }
#container .mod_breadcrumb a:hover { border-bottom: none; color: #e2001a }

.mod_breadcrumb li:after { content: '\203A'; padding: 0 10px; }
.mod_breadcrumb li.last:after { content: none; }

/*-----------------------------------------------------------------------------------*/
/*  Startseite
/*-----------------------------------------------------------------------------------*/

.startseite .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-startseite.jpg) 0 0px no-repeat;
	background-size: cover;
	height: 250px;
}

.startseite .teaser {
	background-color: #f3f3f3;
	padding: 2em 0 1em 0;
}

.startseite .teaser h2 { 
	color: #e2001a;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 700;
	margin: 1em 0 0.5em 0;
}

.startseite #container .teaser a { color: #333; border-bottom: none; }
.startseite #container .teaser a:hover { color: #e2001a; border-bottom: none; }

#sidebar-start { border-left: 1px solid #ddd; margin-top: 3em; padding-left: 1.5em; }
#sidebar-start h3 { text-transform: uppercase; font-size: 0.875em; color: #e2001a; font-weight: 700; } 
#sidebar-start p { font-size: 0.875em; }
.startseite .layout_latest .teaser { background-color: transparent; margin: 0; padding: 0; }
.startseite .layout_latest h2 { font-size: 1.266em; margin: 0; }
.startseite .layout_latest p.info { font-size: 0.75em !important; color: #666; text-transform: uppercase; margin: 0.5em 0; }

@media screen and (min-width: 970px) { 
	
	.startseite .keyvisual { height: 450px; }
	
}

/*-----------------------------------------------------------------------------------*/
/*  Contentseiten
/*-----------------------------------------------------------------------------------*/

/*---- Blockquote ----*/

.service blockquote, .partner blockquote, .jobs blockquote, .zertifizierungen blockquote, .ueber-uns blockquote, .leistungen blockquote, .leistungen-sub blockquote, .privat blockquote, .handel blockquote, .banken blockquote, .startseite blockquote  { 
	float: left;
	text-align: right;
	font-size: 1.225em;
	width: 200px;
	margin: 0.25em 0.75em 0.25em 0;
	padding: 0 0.5em 0 0;
	border-right: 1px solid #e2001a;
}

.service blockquote > p, .partner blockquote > p, .jobs blockquote > p, .zertifizierungen blockquote > p, .ueber-uns blockquote > p, .leistungen blockquote > p, .leistungen-sub blockquote > p, .privat blockquote > p, .handel blockquote > p, .banken blockquote > p, .startseite blockquote > p { margin: 0; }

.leistungen blockquote { width: 35%;}
.leistungen-sub .kommunikationstechnik blockquote { width: 40%; }
.leistungen-sub .stoermelde blockquote { width: 32%; padding-bottom: 5px; padding-top: 5px; } 
.leistungen-sub .videoueberwachung blockquote { width: 31%; padding-bottom: 5px; padding-top: 5px; } 


/*---- Service ----*/

.service .logos ul { list-style: none; margin: 0; padding: 0; }
.service .logos ul > li { display: inline-block; width: 120px;height: 120px; }
.service .logos ul > li > a { display: block; text-indent: -10000px; width: 100%; height: 100%; border-bottom: none; }

.service .logos li.nws { background: url('../../files/theme-gst/img/logos/logo-nws.png') no-repeat;margin-right: 30px; }
.service .logos li.nws { background-size: cover; }
.service .logos li.mls { background: url('../../files/theme-gst/img/logos/logo-mls.gif') 0 20px no-repeat; }

#main .nws a:link, #main .mls a:link, #main .nws a:hover, #main .mls a:hover { border-bottom: none; }

/*---- Partner ----*/

.partner blockquote { font-size: 1.125em; }

.partner .logos ul { list-style: none; margin: 0; padding: 0; }
.partner .logos ul > li { display: inline-block; width: 120px;height: 120px; }
.partner .logos ul > li > a { display: block; text-indent: -10000px; width: 100%; height: 100%; border-bottom: none; }

.partner .logos li.nws { background: url('../../files/theme-gst/img/logos/logo-nws.png') no-repeat;margin-right: 30px; }
.partner .logos li.nws { background-size: cover; }
.partner .logos li.mls { background: url('../../files/theme-gst/img/logos/logo-mls.gif') 0 20px no-repeat; }

/*---- Zertifikate ----*/

.zertifizierungen blockquote { font-size: 1.125em; }


/*---- Leistungen ----*/

#main .nav-box { margin-top: 3em; }
#main .nav-box h3 { text-transform: uppercase; font-size: 0.875em; color: #e2001a; font-weight: 700; margin: 1em 0 1em 0; }
#main .nav-box ul { margin: 0; padding: 0;}
#main .nav-box li { list-style: none; padding: 0; font-size: 0.875em; line-height: 1.8; }
#main .nav-box li:before { content: '\2713'; font-size: 0.81em; padding-right: 10px; }

@media screen and (min-width:880px) {

	.nav-box .nav-col-1 { float: left; width: 33% }
	.nav-box .nav-col-2 { float: left; width: 33% }
	.nav-box .nav-col-3 { float: left;}
	.nav-box .ul { margin: 0 0 0.5em 0; }

}

.leistungen h1 { margin-top: 1em; }

.leistungen .infografik { height: 260px; }
.leistungen .infografik p { font-weight: bold; margin: 5px 15px; font-size: 0.875em; }


/*---- Funk-Alarmanlagen ----*/

.funk ul.logos { list-style: none; margin: 0; padding: 0; }
.funk ul.logos > li { display: inline-block; width: 160px;height: 60px; }
.funk ul.logos > li > a { display: block; text-indent: -10000px; width: 100%; height: 100%; border-bottom: none; }
.funk #main ul.logos > li > a:link { border-bottom: none; }
.funk .logos li.honeywell { background: url('../../files/theme-gst/img/logos/logo-honeywell.png') 0 center no-repeat; margin-right: 30px; }
.funk .logos li.telenot { background: url('../../files/theme-gst/img/logos/logo-telenot.png') 0 center no-repeat; }


/*---- Kontaktformular ----*/

.kontakt .ce_form { margin-top: 2em; }
.kontakt .explanation { font-family: 'Roboto', sans-serif; font-size: 0.875em; color: #999; }
.kontakt fieldset { border: none; padding: 0;  }
.kontakt .radio_container { margin-bottom: 1em; font-family: 'Roboto', sans-serif }
.kontakt .radio_container legend { font-weight: 700; float: left; margin-right: 2em;  }
.kontakt .radio_container span { display: block; float: left; margin-right: 2em; }
.kontakt .radio_container span { display: block; margin-bottom: 0.5em; }

.kontakt input[type="radio"] { margin-right: 0.5em; }
.kontakt .widget-text, .kontakt .widget-textarea, .kontakt .widget-captcha { margin-bottom: 2em; }
.kontakt .widget-text label, .kontakt .widget-textarea label, .kontakt .widget-captcha  label { display: block;margin-bottom: 0.3em;font-weight:bold;font-family: 'Roboto', sans-serif; }
.kontakt input[type="text"], .kontakt textarea { padding: 0.8em 0.5em; width: 100%;background-color: #f9f9f9; border:none; border-bottom: 1px solid #bbb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075); }
.kontakt input[type="text"]:focus, .kontakt textarea:focus { background-color: #fff; }


.kontakt button[type="submit"] {
	font-family: 'Roboto', sans-serif;
	background-color: #e2001a;
	color: #fff;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	line-height: 1.5em;
	padding: 0.6em 1.8em;
	margin-top: 1rem;
	font-size: 1.1em;
	border: none;
}

.kontakt button[type="submit"]:hover { background-color: #000; }

.kontakt button[type="text"].captcha { width: 160px;text-align: center;margin-right: 0.6em;font-family: 'Roboto Condensed', sans-serif }
.kontakt .captcha_text { font-style: italic;font-family: 'Roboto Condensed', sans-serif }
.kontakt span.mandatory { color: #e2001a; padding-left: 0.5em; }

@media screen and (min-width:780px) {
	
	div.vorname, div.telefon { width: 50%; float: left; padding-right: 10px;}
	div.nachname, div.email { width: 50%; float: right; padding-left: 10px;}
}


/*-----------------------------------------------------------------------------------*/
/*  Keyvisual
/*-----------------------------------------------------------------------------------*/

.leistungen .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-leistungen.jpg) 0 0 no-repeat;
	background-size: cover;
	height: 300px;
}

.banken .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-banken.jpg) 0 -50px no-repeat;
	background-size: cover;
	height: 300px;
}

.handel .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-handel.jpg) 0 -50px no-repeat;
	background-size: cover;
	height: 300px;
}

.privat .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-privat.jpg) 0 -50px no-repeat;
	background-size: cover;
	height: 300px;
}

.zertifizierungen .keyvisual {
	background: url(../../files/theme-gst/img/keyvisual/keyvisual-zertifizierung.jpg) 0 0 no-repeat;
	background-size: cover;
	height: 300px;
}


/*-----------------------------------------------------------------------------------*/
/*	Sidebar
/*-----------------------------------------------------------------------------------*/

#right h3 { text-transform: uppercase; font-size: 1em; color: #e2001a; font-weight: 700; margin: 1em 0 1em 0; }

.mod_newslist { background-color: #f3f3f3; padding: 0 1em; }

/*-----------------------------------------------------------------------------------*/
/*	Footer
/*-----------------------------------------------------------------------------------*/


#footer .eof { 
	color: rgba(255,255,255,0.75);
	text-align: left;
	padding-left: 0.5em;
	padding-right: 0.5em;
	padding-top: 2.5em;
	padding-bottom: 2.5em;
}

#footer .info p, #footer .eof p { margin: 0; }
#footer .info a { color: rgba(0,0,0,0.5); }
#footer .eof a { color: rgba(255,255,255,0.5); }
#footer .info a:hover, #footer .eof a:hover { border-bottom: 0; color: #aaa; }

#footer .info { background-color: #d2d7e1;  }
#footer .eof { background-color: #000; text-align: left; font-size: 0.85em; }



#footer .info { 
	color: rgba(0,0,0,0.75);
	text-align: left;
	font-size: 0.9em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	padding-top: 3em;
	padding-bottom: 3em;
}

#footer .info .footer-logo { margin-top: 10px; margin-bottom: 12px; }

#footer .eof .second, #footer .eof .first { text-align: center; }


@media screen and (max-width:929px) {
	
	#footer .footer-logos { margin-top: 2em; }
	#footer .info div:nth-child(2) { margin-top: 2em; }
	
}

@media screen and (min-width:930px) {
  
	#footer .eof .second { text-align: right; }
	#footer .eof .first { text-align: left; }
	#footer .footer-logos { text-align: right; }
	
}


/*-----------------------------------------------------------------------------------*/
/*	Raster
/*-----------------------------------------------------------------------------------*/



/* Columns */

.row {
	width:100%;
	float:left;
}

.columns {
	float:left;
	padding-left:2.5em;
	padding-right:2.5em;
}


/* Small */

@media screen and (max-width:779px) {
	
	.sm-12 { width: 100%; }
	.sm-11 { width: 91.66666667%; }
	.sm-10 { width: 83.33333333%; }
	.sm-9  { width: 75%; }
	.sm-8  { width: 66.66666667%; }
	.sm-7  { width: 58.33333333%; }
	.sm-6  { width: 50%; }
	.sm-5  { width: 41.66666667%; }
	.sm-4  { width: 33.33333333%; }
	.sm-3  { width: 25%; }
	.sm-2  { width: 16.66666667%; }
	.sm-1  { width: 8.33333333%; }
}


/* Medium */

@media screen and (min-width:780px) and (max-width:929px) {

	.md-12 { width: 100%; }
	.md-11 { width: 91.66666667%; }
	.md-10 { width: 83.33333333%; }
	.md-9  { width: 75%; }
	.md-8  { width: 66.66666667%; }
	.md-7  { width: 58.33333333%; }
	.md-6  { width: 50%; }
	.md-5  { width: 41.66666667%; }
	.md-4  { width: 33.33333333%; }
	.md-3  { width: 25%; }
	.md-2  { width: 16.66666667%; }
	.md-1  { width: 8.33333333%; }		
}


/* Offset für Large */

@media screen and (min-width: 930px) {
	.offset-12 { margin-left: 100%; }
	.offset-11 { margin-left: 91.66666667%; }
	.offset-10 { margin-left: 83.33333333%; }
	.offset-9  { margin-left: 75%; }
	.offset-8  { margin-left: 66.66666667%; }
	.offset-7  { margin-left: 58.33333333%; }
	.offset-6  { margin-left: 50%; }
	.offset-5  { margin-left: 41.66666667%; }
	.offset-4  { margin-left: 33.33333333%; }
	.offset-3  { margin-left: 25%; }
	.offset-2  { margin-left: 16.66666667%; }
	.offset-1  { margin-left: 8.33333333%; }
	.offset-0  { margin-left: 0%; }
}


/* Large */

@media screen and (min-width:930px) {

	.lg-12 { width: 100%; }
	.lg-11 { width: 91.66666667%; }
	.lg-10 { width: 83.33333333%; }
	.lg-9  { width: 75%; }
	.lg-8  { width: 66.66666667%; }
	.lg-7  { width: 58.33333333%; }
	.lg-6  { width: 50%; }
	.lg-5  { width: 41.66666667%; }
	.lg-4  { width: 33.33333333%; }
	.lg-3  { width: 25%; }
	.lg-2  { width: 16.66666667%; }
	.lg-1  { width: 8.33333333%; }
}



/*-----------------------------------------------------------------------------------*/
/*	Abstände
/*-----------------------------------------------------------------------------------*/

/* padding-bottom */

.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}
.pb40 { padding-bottom: 40px;}
.pb50 { padding-bottom: 50px;}
.pb60 { padding-bottom: 60px;}
.pb70 { padding-bottom: 70px;}
.pb80 { padding-bottom: 80px;}
.pb90 { padding-bottom: 90px;}
.pb100 { padding-bottom: 100px;}

/* padding-top */

.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}
.pt40 { padding-top: 40px;}
.pt50 { padding-top: 50px;}
.pt60 { padding-top: 60px;}
.pt70 { padding-top: 70px;}
.pt80 { padding-top: 80px;}
.pt90 { padding-top: 90px;}
.pt100 { padding-top: 100px;}

/* margin-bottom */

.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}
.mb40 { margin-bottom: 40px;}
.mb50 { margin-bottom: 50px;}
.mb60 { margin-bottom: 60px;}
.mb70 { margin-bottom: 70px;}
.mb80 { margin-bottom: 80px;}
.mb90 { margin-bottom: 90px;}
.mb100 { margin-bottom: 100px;}

/* margin-bottom */

.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt60 { margin-top: 60px;}
.mt70 { margin-top: 70px;}
.mt80 { margin-top: 80px;}
.mt90 { margin-top: 90px;}
.mt100 { margin-top: 100px;}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.row:before,
.row:after,
.logo:before,
.logo:after,
.keyvisual:before,
.keyvisual:after,
#header:before,
#header:after,
#container:before,
#container:after,
#footer:before,
#footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
#container:after,
#footer:after,
.logo:after,
.keyvisual:after,
.row:after {
  clear: both;
}



