/* COMMON */
* { /* overall reset */
  padding: 0;
  margin: 0;
}
/* Firefox scrollbar visible */
html { height: 101%; background: black; }
body {
  width:100%;
  background: white;
  font: normal small 'Open Sans', sans-serif;
  font-size: 14px;
  padding:0;
  margin:0;
}


/*
---------- HEADER ----------
*/
header {
  display: block;
  background: black;
  color: white;
  width: 100%;
  text-align: center;
  overflow: hidden;
  padding: 1em 0em 0em 0em;
  margin: 0;
}

#langmenu {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0.3em 0em;
}
  #langmenu a {
    text-decoration: none;
    opacity: 0.8;
    filter:alpha(opacity=70);
    padding: 0 0 0 0;
  }
  #langmenu a:hover {
    opacity: 1;
    filter:alpha(opacity=100);
  }
  #langmenu img {
    border: 1px outset dimgrey;
    margin: 0 0 0 0.5em;
  }

.banner {
  width: 33%;
  margin: 0.5em 0em 1em 0em;
}

nav {
  clear: both;
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  font-size: 90%;
  text-align: center;
  padding: 0.5em;
  margin: 0.5em auto 0 auto;
}
  nav ul li {
    list-style: none;
    display: inline;
  }
  nav a {
    color: White;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: normal;
    padding: 0.7em 0.7em 0.7em 0.7em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px 5px 0 0;
    margin: 0em 1em 0em 0em;
  }
  nav li a:hover,
  nav li a:active   {
    color: black;
    background: white;
    opacity: 0.8;
    filter:alpha(opacity=80);
  }
  nav img {
    vertical-align: top;
  }
  .active-menu a {
    color: black;
    background: white;
    opacity: 1;
    filter:alpha(opacity=100);
  }

/* (C) HIDE HAMBURGER */
#hamnav label, #hamburger { display: none; }


/*
---------- CONTENT ----------
*/

#contentwrap {
  width: 70%;
  color: black;
  overflow: hidden;
  margin: 2em auto 4em auto;
}

#content {
  width: 100%;
  font-size: 110%;
  text-align: left;
  line-height: 1.5em;
  z-index: 2;
  padding: 0;
  margin: 0em 0em 0em 0em;
}
  #content p {
    margin: 0em 0em 1em 0em;
  }
  #content h1 {
    font: normal 300% 'Oswald', sans-serif;
    color: black;
    text-transform: uppercase;
    text-align: left;
    letter-spacing: 1px;
    margin: 0em 0em 0em 0em;
  }
  #content h1.hilite,
  #content h1.hilite-red {
    display: inline;
    color: white;
    background: black;
    padding-left: 0.3em;
    padding-right: 0.3em;
  }
  #content h1.hilite-red {
    background: red;
  }
  #content h1.bigass,
  #content h1.bigass-300 {
    font-size: 500%;
    font-weight: bold;
    line-height: 1.2em;
  }
  #content h1.bigass-300 {
    font-size: 300%;
  }
  #content h2 {
    font: normal 200% 'Oswald', sans-serif;
    text-align: left;
    letter-spacing: 0.3px;
    margin: 0em 0em 0.3em 0em;
  }
  #content h2.bigred {
    color: red;
    font-size: 340%;
    font-style: italic;
    text-transform: uppercase;
    text-align: left;
    margin-bottom: 1em;
  }
  #content h1 + p,
  #content p + h1 {
    margin-top: 1em;
  }
  #content p + h2,
  #content ul + h2 {
    margin-top: 2em;
  }

  #content h3 {
    font: normal 150% 'Oswald', sans-serif;
    letter-spacing: 1px;
    margin: 2em 0em 0.3em 0em;  
  }
  #content h4 {
    font-size: 100%;
    font-style: bold;
    margin: 2em 0em 0.3em 0em;
  }
  #content img {
    padding: 0.3em;
    margin: 0em 0em 0em 0em;
  }
  #content img.top-banner {
    vertical-align: middle;
    width: 100%;
    padding: 0;
    margin: 3em 0 3em 0;
  }
  #content img.half-width {
    width: 50%;
  }
  #content img.threequarter-width {
    width: 75%;
  }
  #content a {
    color: #B22222;
    text-transform: none;
  }
  #content a.cta {
    background: green;
    color: white;
    padding: 0.5em 1em 0.5em 1em;
    border-radius: 5px;
  }
  #content ul {
    padding: 0em 4em 0em 4em;
    margin: 1em 0em 1.5em 0em;
  }
  #content ul li {
    list-style-type: none;
    background: url(../images/list-icon-plus-2.gif) no-repeat 0.3em 0.45em;
    padding-left: 1.5em;
    margin: 0em 0em 1em 0em;
  }
  #content ul.promi {
    margin-top: 2em;
  }
  #content ul.promi li {
    background: url(../images/header-image.gif) no-repeat 0em 1em;
    margin-bottom: 2em;
  }
  #content ul.promi h3 {
    font-size: 155%;
    letter-spacing: 0.3px;
    margin: 0em 0em 0.3em 0em;
  }

  #content ol {
      list-style-type: none;
      list-style-type: decimal !ie; /*IE 7- hack*/
      margin: 1em 0em 0em 3em;
      padding: 0em;
      counter-reset: li-counter;
  }
  #content ol > li{
      position: relative;
      margin-bottom: 1.5em;
      padding-left: 0.5em;
      min-height: 2em;
      border-left: 1px solid silver;
  }
  #content ol > li:before {
      position: absolute;
      top: 0;
      left: -1em;
      width: 0.8em;
      font-size: 2em;
      line-height: 1;
      font-weight: bold;
      text-align: right;
      color: #464646;
      content: counter(li-counter);
      counter-increment: li-counter;
  }
  #content .profile {
    margin: 3em 0em;  
  }
  #content .profile-img {
    float: left;
    width: 30%;
    padding: 0em 3em 1em 0em;
    text-align: center;
  }
  #content .profile-img img {
    width: 100%;
    max-width: 240px;
  }
  #content .profile-desc {
    float: left;
    width: 65%;
  }
  #content .profile-desc ul {
    margin: 2em 0em;
  }
  #content .hci-list {
    margin-top: 2em;
  }
  #content .hci-entry {
    width: 80%;
    border: 1px solid silver;
    padding: 0em 0em 1em 0em;
    margin-bottom: 1em;
  }
    #content .hci-entry p {
        line-height: 1.5em;
        padding: 0em 1em;
        margin: 0;
    }
    #content p.hci-region {
        line-height: 2em;
        background-color: #4a4a4a;
        color: white;
        margin-bottom: 0.5em;
    }
    #content p.hci-method {
        margin-bottom: 0.5em;
    }
    #content p.hci-name {
        line-height: 2em;
    }
  #content table {
    margin-bottom: 1.5em;
  }
  #content table th {
    background: #4A4A4A;
    color: white;
    font-size: 120%;
    font-weight: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: center;
    vertical-align: top;
    padding: 0.5em 1em;
  }
  #content table td {
    background: #F5F5F5;
    font-size: 90%;
    text-align: center;
    vertical-align: middle;
    padding: 0.5em;
    border: 1px solid silver;
  }
  #content dfn {
    width: 100%;
    display: block;
    background: #DCDCDC;
    text-align: center;
    font-size: 110%;
    padding: 1em;
    border-radius: 10px;
    margin: 2em 0em 2em 0em;
  }

button {
    width: auto;
    height: auto;
    background-color: green;
    font: normal 200% 'Oswald', sans-serif;
    color: white;
    padding: 0.5em 1em;
}
.cta-button {
    text-align: center;
    margin: 2em 0em;
}
.bigger {
  font-size: 110%;
  font-weight: bold;
  line-height: 1.7em;
}
.intro {
  font-size: 105%;
  letter-spacing: 0.2px;
  line-height: 1.75em;
}

hr {
  height: 2em;
  border: none;
}

.split-lt,
.split-rt {
  float: left;
  width: 45%;
  background: ghostwhite;
  padding: 0em 1em 0em 1em;
  border: 1px solid silver;
  border-radius: 10px;
}
.split-rt {
  float: right;
}

#spacer {
    height: 75px;
}

#ps-down-div {
  text-align: center;
  padding-bottom: 1em;
  border-bottom: 1px solid silver;
  margin-bottom: 2em;
}


/*
---------- FOOTER ----------
*/
footer {
  clear: both;
  background: black;
  color: white;
  width: 100%;
  font-size: 85%;
  font-weight: normal;
  text-align: center;
  vertical-align: bottom;
  padding: 1em 0em 1em 0em;
  margin: 0em 0em 0em 0em;
}
  footer a {
   color: white;
   text-decoration: none;
   outline: none;
  }
  footer a:visited {
    color: white;
  }

#copyright,
#socialmedia {
  height: 100%;
  text-transform: uppercase;
  color: white;
  font-size: 90%;
  padding: 1em 1em 1em 1em;
  margin:0;
}
  #socialmedia img {
    padding: 0.2em 1em 0.2em 1em;
    vertical-align: middle;
  }
  #socialmedia a {
    opacity: 0.6;
    filter:alpha(opacity=60);
  }
  #socialmedia a:hover {
    opacity: 1;
    filter:alpha(opacity=100);
  }

.imprint {
  letter-spacing: 1px;
  font-weight:bold;
}

footer fieldset {
  opacity: 0.8;
  filter:alpha(opacity=80);
  padding: 0;
  border: 0;
  margin: 0;
}
  footer fieldset:hover,
  footer fieldset:active,
  footer fieldset:focus {
    opacity: 1;
    filter:alpha(opacity=100);
  }


#newsletter {
  padding: 2em 0 2em 0;
}
  #newsletter input {
    vertical-align: middle;
    width: 9em;
    height: 1.2em;
    color: black;
    outline: none;
    padding: 0.2em 0.2em 0.2em 0.2em;
    border: 1px solid transparent;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    margin: 0em 0em 1.6em 0em;
  }
  #newsletter input:hover,
  #newsletter input:focus {
    background-color: white;
  }
  #newsletter button {
    display: inline;
    background: transparent;
    color: white;
    font-weight: bold;
    padding: 0em 0em 0em 0.2em;
    border: 0;
    margin: 0em 0em 0em 0em;
  }
  #newsletter button:hover {
    cursor: pointer;
  }

/*
---------- CLASSES ----------
*/
.clearing {
  clear: both;
}

.codedirection {
  unicode-bidi:bidi-override;
  direction: rtl;
  padding: 0;
  margin: 0;
}

#preview {
  text-align: center;
}
  #preview iframe {
    background: black;
    padding: 0.5em;
    border: 1px solid transparent;
    border-radius: 10px;
    margin: 1em;
  }

.price-tag {
  display: inline;
  background: #FAFAD2;
  font-size: 115%;
  padding: 0.3em 0.8em 0.3em 0.8em;
  margin: 2em 0em 2em 0em;
}

#seminar-list {
    margin: 2em 0em;
}
#seminar-item {
  width: 80%;
  overflow: hidden;
  margin: 0em 0em 3em 0em;
}
  #seminar-item h2 {
    display: inline;
    text-transform: uppercase;
  }

  #seminar-item a {
    color: black;
  }
  #seminar-item a:hover {
    color: red;
  }
  #seminar-item em {
    display: inline;
    font-size: 110%;
    font-weight: bold;
    font-style: normal;
    margin: 0em 0em 0em 1em;
  }
  #seminar-item .date-locale {
    float: left;
    width: 25%;
    text-align: right;
    font-size: 120%;
    line-height: 1.8em;
    height: 4em;
    margin: 0em 0.8em 0em 0em;
  }
  #seminar-item .description {
    float: left;
    width: 70%;
    text-align: left;
    min-height: 5em;
    padding: 0em 0em 0.2em 0.8em;
    border-left: 2px solid #DA251D;
  }
.seminar-month {
  color: #808080;
  font-weight: normal;
  letter-spacing: 1px;
  text-align: right;
  border-bottom: 1px dotted silver;
}

.back-button,
.add-secmenu-item {
  background: url(../images/double-left-arrow.png) no-repeat left;
  background-position: 0.2em;
  color: black;
  text-align: left;
  text-decoration: none;
  display: block;
  font-size: 110%;
  padding: 0.8em 0em 0.8em 2em;
  border: 1px solid transparent;
  border-radius: 5px;
}
  .add-secmenu-item {
    background: url(../images/right-arrow.png) no-repeat left;
    background-position: 0.5em;
  }
  .back-button:hover,
  .add-secmenu-item:hover {
    background-color: #F0F0F0;
  }

.uppercut {
  text-transform: uppercase;
}


/*
---------- N  E W  ----------
---------- RESPONSIVENESS ----------
---------- N  E W  ----------
*/
@media screen and (max-width: 760px) {
  body {
    font-size: 14px;
  }
 .banner {
   width: 75%;
 }
 #contentwrap {
   width: 90%;
 }
 #content h1 {
    font-size: 240%;
 }
 #content h1.bigass {
    font-size: 260%;
 }
 #content h2 {
    font-size: 160%;
 }
 #content h2.bigred {
    font-size: 240%;
    margin-bottom: 1em;
 }
 #content ul {
    padding: 0em 1em;
 }
 #content img.top-banner {
    vertical-align: middle;
    width: 100%;
    padding: 0;
    margin: 3em 0 3em 0;
 }
 #content img.half-width,
 #content img.threequarter-width {
    width: 100%;
 }
 #content .profile-img {
    float: none;
    width: 100%;
    padding: 0em;
 }
 #content .profile-desc {
    float: none;
    width: 100%;
    text-align: left;
 }
 #content .profile-desc ul {
    padding: 0em 1em;
 }
 #content .hci-entry {
    width: 100%;
 }
 
 button {
    width: 100%;
    height: auto;
}
 
 .seminar-month {
    border-bottom: 2px dotted silver;
 }
 #seminar-item {
  width: 95%;
  overflow: hidden;
 }
 #seminar-item a {
    text-decoration: none;
 }
 #seminar-item .date-locale {
    float: none;
    width: 100%;
    text-align: left;
  }
 #seminar-item .date-locale strong {
    font-size: 120%;
 }
 #seminar-item .description {
    float: none;
    width: 100%;
    padding-right: 5px;
 }

  /* (A) BREAK INTO VERTICAL MENU */
 #hamitems a {
   box-sizing: border-box;
   display: block;
   width: 100%;
   font-size: 1.5em;
   border-top: 1px solid #333;
 }
 
 /* (B) SHOW HAMBURGER ICON */
 #hamnav label { 
   display: inline-block; 
   color: white;
   background: #a02620;
   font-style: normal;
   font-size: 1.5em;
   padding: 10px 20px;
 }

 /* (C) TOGGLE SHOW/HIDE MENU */
 #hamitems { display: none; }
 #hamnav input:checked ~ #hamitems { display: block; }
}
@media screen and (min-width: 761px) and (max-width: 1024px) {
  body {
    font-size: 15px;
  }
   .banner {
   width: 50%;
 }
}
@media screen and (min-width: 1025px) {
  body {

  }
}



