/*  Reset  */

* {
  padding: 0;
  margin: 0;
}

html,body,div,span,ul,ol,li,h1,h2,h3,h4,h5,h6,p,a,strong,em,small,img,form,fieldset,label,legend,input,textarea,select,option,button,table,caption,thead,tbody,tfood,tr,td,th,iframe {
  font-family: inherit;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  text-align: left;
  text-transform: none;
  text-decoration: none;
  list-style: none;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0 none;
  outline: 0 none;
  vertical-align: baseline;
}

img {
  -ms-interpolation-mode: bicubic;
}

iframe {
  max-width: 100%;
  margin-top: 2em;
}

:focus {
  outline: 0 none;
}

::-webkit-selection {
  color: #fff;
}

::-moz-selection {
  color: #fff;
}

::selection {
  color: #fff;
}

/*  Base  */

html, body {
  width: 100%;
  height: 100%;
}

html {
  background: #fff;
  min-width: 320px;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  
}

body {
  font-family: "Montserrat", sans-serif;
}

/*  Static Grid  */

.row {
  width: 960px;
  margin: 0 auto;
}

.row:before, .row:after, .clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.row:after, .clearfix:after {
  clear: both;
}

.row, .clearfix {
  zoom: 1;
}

.row .column, .row .columns {
  padding: 0 20px;
  float: left;
  position: relative;
}

.row .one {
  width: 40px;
}

.row .two {
  width: 120px;
}

.row .three {
  width: 200px;
}

.row .four {
  width: 280px;
}

.row .five {
  width: 360px;
}

.row .six {
  width: 440px;
}

.row .seven {
  width: 520px;
}

.row .eight {
  width: 600px;
}

.row .nine {
  width: 680px;
}

.row .ten {
  width: 760px;
}

.row .eleven {
  width: 840px;
}

.row .twelve {
  width: 920px;
}

/*  Fluid Grid  */

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

  .row, .row .column, .row .columns {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .row {
    width: 90%;
    max-width: 960px;
    min-width: 320px;
  }

  .row .one {
    width: 8.33%;
  }

  .row .two {
    width: 16.66%;
  }

  .row .three {
    width: 25%;
  }

  .row .four {
    width: 33.33%;
  }

  .row .five {
    width: 41.66%;
  }

  .row .six {
    width: 50%;
  }

  .row .seven {
    width: 58.33%;
  }

  .row .eight {
    width: 66.66%;
  }

  .row .nine {
    width: 75%;
  }

  .row .ten {
    width: 83.33%;
  }

  .row .eleven {
    width: 91.66%;
  }

  .row .twelve {
    width: 100%;
  }
}

@media only screen and ( max-width: 640px ) {
  .row .one, .row .two, .row .three, .row .four, .row .five, .row .seven, .row .eight, .row .nine, .row .ten, .row .eleven {
    width: 100%;
  }
}

@media only screen and ( max-width: 480px ) {
  .row .six {
    width: 100%;
  }
}

/*  Type  */

h1 {
  width: 240px;
  height: 160px;
  margin: 0 auto;
}

h1 a {
  text-indent: -9999px;
  background: #fff url("../images/logo-it-42.png") no-repeat center bottom;
  width: 200px;
  height: 110px;
  padding: 30px 20px 20px;
  display: block;
  position: relative;
  top: 0;
  z-index: 100;
}

/*h1 a:hover, h1 a:active {
  top: -4px;
}*/

h3, h4, h5, h6, p {
  margin: 1em 0 0;
}

h2, h3, h4, h5 {
  color: #222;
  font-weight: bold;
}

h2 {
  font-size: 48px;
  line-height: 48px;
  letter-spacing: -2px;
}

h3 {
  font-size: 36px;
  line-height: 60px;
  letter-spacing: -1px;
}

h4 {
  font-size: 24px;
  line-height: 48px;
}

h5 {
  font-size: 18px;
  line-height: 36px;
}

h6 {
  font-size: 18px;
  line-height: 24px;
  color: #888;
}

p, ul li, ol li {
  color: #444;
  font-size: 18px;
  line-height: 28px;  
}

b {
  font-weight: bold;
}

.container ul {
  margin: 14px 14px 0;
}

.row ul li {
  list-style-type: circle;
  list-style-position: outside;
}

.row ol li {
  list-style-type: decimal;
}

a {
  color: #FD0100;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:focus {
  color: #444;
}

a:visited {
  color: #FD0100;
}

a:hover {
  color: #444;
}

a:active, a.active {
  text-decoration: underline;
}

.textcols {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  -o-column-count: 2;
  -ms-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  -o-column-gap: 40px;
  -ms-column-gap: 40px;
  column-gap: 40px;
}

/*  Type - Media Queries  */

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

  .textcols {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    -o-column-count: 1;
    -ms-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    -o-column-gap: 0;
    -ms-column-gap: 0;
    column-gap: 0;
  }
}

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

  h2 {
    font-size: 48px;
    line-height: 60px;
    letter-spacing: -1px;
  }

  h3 {
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0;
  }

  h4 {
    font-size: 24px;
    line-height: 36px;
  }

  h5 {
    font-size: 16px;
    line-height: 28px;
  }
}

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

  h2 {
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0;
  }

  h3 {
    font-size: 24px;
    line-height: 36px;
  }

  h4 {
    font-size: 16px;
    line-height: 28px;
  }
}



/*  Header  */

#header .row {
  padding-top: 2%;
}

#header {
  position: relative;
  z-index: 90;
}

#header ul {
  font-size: 1em;
  display: block;
  margin: 2em 0 0 0;
  text-align: center;
}

#header li {
  margin: 0;
  padding: 0 2em;
  display: inline;
}

#header li a {
  display: inline-block;
  text-transform: uppercase;
  font-size: 1.4em;
}

@media only screen and ( max-width: 960px ) {
  #header li a {
    font-size: 1.2em;
  }
  #header li {
    padding: 0 1em;
  }
}

@media only screen and ( max-width: 710px ) {
  #header li a {
    font-size: 1.1em;
  }
  #header li {
    padding: 0 .8em;
    display: block;
  	width: 40%;
  	float: left;
  	text-align: center;
  }
}

#header li a:hover {
  color: #30485F;
  cursor: pointer;
}


/*  General  */

section {
  position: relative;
}

section .row {
  padding: 4% 0;
}

section .row .container {
  background: #fff;
  padding: 40px;
  position: relative;
  z-index: 100;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  -o-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  -ms-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

section .row .container h3 {
  color: #FD0100;
}

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

  section {
    background-attachment: scroll !important;
    background-attachment: fixed !important;
    -webkit-background-size: auto !important;
    -moz-background-size: auto !important;
    -o-background-size: auto !important;
    -ms-background-size: auto !important;
    background-size: auto !important;
  }
}

@media only screen and ( max-width: 960px ) {
  section .row .container {
    width: 100%;
  }
}

@media only screen and ( max-width: 640px ) {
  section {
    background-image: none !important;
  }
}

@media only screen and ( max-width: 480px ) {
  section .row .container {
    padding: 20px;
  }
}


/*  Header Kontakt  */

#kontakt {
  position: relative;
  height: 44px;
  z-index: 50;
  border-bottom: 1px solid #d5d3d3;
}
#kontakt a {
  color: #222;
  padding: 1%;
}
#kontakt a:hover {
  color: red;
}
#kontakt a:first-child {
  float: left;
}
#kontakt a:last-child {
  float: right;
}



/*  Intro  */

#intro {
  background: url("../images/beratung.jpg") no-repeat top center fixed;
  z-index: 20;
  overflow: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

#intro::after {
  content: "";
  background: #FD0100;
  opacity: 0.6;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;   
}

#intro p {
  color: #fff;
  font-size: 1.6em;
}


/*  Beratung  */

#beratung {
  background: url("../images/beratung.jpg") no-repeat top center fixed;
  z-index: 70;
  overflow: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}


/*  Installation  */

#installation {
  background: #222 url("../images/installation.jpg") no-repeat top center fixed;
  background-size: cover;
  z-index: 40;
  overflow: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

#installation::after {
  content: "";
  background: #fff;
  opacity: 0.8;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;   
}

#installation .row .container {
  float: right;
}



/*  Wartung  */

#wartung {
  background: url("../images/beratung.jpg") no-repeat top center fixed;
  z-index: 70;
  overflow: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}


/*  Monitoring  */

#monitoring {
  background: #222 url("../images/installation.jpg") no-repeat top center fixed;
  z-index: 40;
  overflow: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

#monitoring::after {
  content: "";
  background: #fff;
  opacity: 0.8;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;   
}

#monitoring .row .container {
  float: right;
}



/*  Blog  */

#blog article {
  margin-top: 3em;
  margin-bottom: 9em;
}

#blog article figure img, #blogarticle figure img {
  max-width: 40%;
  float: left;
  margin-right: 2em;
  padding-bottom: 7em;
}

#blogarticle figure:first-of-type img {
  margin-top: 2em;
}
#blog article p {
	margin-bottom: 1em;
}
#blog article a {
	padding: 7px 10px;
	border: 2px solid #222;
}

@media only screen and ( max-width: 640px ) {
  #blog article {
    margin-top: 3em;
    margin-bottom: 6em;
  }
  #blog article figure img, #blogarticle figure img {
    max-width: 100%;
    float: none;
    margin-right: 0;
    padding-bottom: 0;
  }
}




/*  Footer  */

footer {
  background: #fff;
  position: relative;
  z-index: 50;
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -o-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -ms-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  font-size: .7em;
}

footer .row {
  padding: 20px 0;
}

footer .row div h6 {
  margin: 0;
}

footer .row div h6 p {
  display: inline;
}

footer .row div h6, footer .row div h6 a, footer .row div h6 p {
  color: #888;
}

footer .row div h6 a:hover, footer .row div h6 a:active {
  color: #222;
}

@media only screen and ( max-width: 800px ) {
  footer .row div {
    width: 100%;
  }
}

.back-to-top {
  z-index: 9999;
  border: 2px solid #FD0100;
  position: fixed;
  bottom:20px;
  right:20px;
  padding:.5em;
}
.back-to-top:hover {
  border: 2px solid grey;
}