
/* basic.css */

/* ... DEBUG ...
-----------------------------------------------*/
/** current color: #a061cf */

/* *
.index #slider-videos,
/* *
.index header,
.index #slider-oben,
.index #event-teaser,
.index #who-we-are,
.index #sponsors,
.index .custom,
.index footer,
.index .dummy {
  display: none;
}
/* *
.index #main .inside {
	padding-top: 10px;
}
[class^=mod_] {
  outline: thin dotted red;
}
.nav.social-nl-nav {
	display: none;
}
/* */

.debug_grid {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
  margin: auto;
  max-width: 1392px;
  display: flex;
  z-index: 2147483647;
}
.debug_grid > div {
  border: 0 solid;
  border-left-width: 1px;
  box-sizing: border-box;
}
.debug_grid > div:last-child {
  border-right-width: 1px;
}
.debug_grid_12 > div {
  width: calc(100% / 12);
  border-color: rgba(255,0,0,.5);
}
.debug_grid_18 > div {
  width: calc(100% / 18);
  border-color: rgba(0,0,255,.5);
}
body:hover .debug_grid {
  display: none;
}
/* ... DEBUG ... END
-----------------------------------------------*/



/* ... Fonts (without corporatesbold) ...
-----------------------------------------------*/
@font-face
{
  font-family: "IcoFont";
  font-weight: normal;
  font-style: "Regular";
  src: url("icofont/fonts/icofont.woff2") format("woff2"),
  url("icofont/fonts/icofont.woff") format("woff");
}
/* ... Fonts ... END
-----------------------------------------------*/



/* ... only visible for screen readers ...
-----------------------------------------------*/
.invisible,
.i18nl10n_lang_style_disable .i18nl10n_label,
.archive-list > h10 {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0;
}
/* ... only visible for screen readers ... END
-----------------------------------------------*/



/* ... classes ...
-----------------------------------------------*
.block::before,
.block::after,
.clearfix::before,
.clearfix::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
               flex-basis: 0;
  -ms-flex-order: 1;
           order: 1;
}
/* */
.block::after,
.clearfix::after {
  clear: both;
}
#main .block {
  /* overflow: hidden; */
}
.big-box * {
	text-align: left;
}
.big-box .read-more {
	font-size: .75em;
}
/* ... classes ... END
-----------------------------------------------*/



/* ... basic layout ...
-----------------------------------------------*/
html {
	overflow-y: scroll;
}
body {
	color: #111;
	background-color: #333;
	background-color: #fafafa;
  font-family: CorporateS-Bold, "Helvetica Neue", Helvetica, Roboto, Verdana, Arial, sans-serif;
  font-size: 1.25rem;
  line-height: 1.25;
}
#wrapper {
	display: flex;
	flex-flow: column;
	background-color: #fff;
	/* max-width: 1440px; */
	/* margin: auto; */
	/* border-style: solid; */
	/* border-color: #eaeaea; */
	/* border-width: 0 1px; */
	/* box-sizing: content-box; */
	min-height: 100vh;
  /* overflow-x: hidden; */
}
#container {
  flex-grow: 1;
}
.ie #container {
  min-height: calc(100vh - 100px);
}
.inside {
	/* max-width: 1440px; h-padding should be divisible by 12 */
	/* margin: auto; */
  padding: 30px 24px; /* h-padding should be divisible by 12 */
  padding: 2rem 0; /* h-padding should be divisible by 12 */
/* *
  outline: dotted thin;
/* */
}
header .inside {
	padding: 15px 24px;
	padding: 1rem 0;
}
#main .inside {
  padding-top: calc(2rem + 1rem + 1rem + 120px); /* onw padding-top + padding-top + bottom of header .inside  + height of .resources_header */
}
.inside > * {
	max-width: 1392px;
	margin: auto;
}
/* *
.full-width-bg {
  position: relative;
	background-color: #EAEAEA;
  padding: 2rem 0;
}
.full-width-bg::before,
.full-width-bg::after {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
	background-color: #EAEAEA;
}
.full-width-bg::before {
  left: -100%;
}
.full-width-bg::after {
  left: 100%;
}
/* */
[class^="mod_"] {
  margin-bottom: 2rem;
}
[class^="ce_"] {
  margin-bottom: 1em;
}
[class^="mod_"]:last-child,
[class^="ce_"]:last-child {
  margin-bottom: 0;
}
.ce_headline {
  margin-bottom: 0;
}
/* footer [class^="mod_"], */
/* footer [class^="ce_"], */
header [class^="mod_"],
header [class^="ce_"] {
  margin-bottom: 0;
}
html.in-iframe {
  overflow: visible;
}
.in-iframe .mod_breadcrumb,
.in-iframe .back,
.in-iframe header,
.in-iframe footer,
.in-iframe #container > aside {
  display: none;
}
.in-iframe #main .inside {
  padding: 12px;
}
.in-iframe [class*="grid-"],
.in-iframe [class*="push-"],
.in-iframe [class*="pull-"],
.in-iframe [class*="prefix-"],
.in-iframe [class*="suffix-"] {
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
}
.in-iframe [class^="mod_"]:last-child,
.in-iframe [class^="ce_"]:last-child {
  margin-bottom: 0;
}
/* ... basic layout ... END
-----------------------------------------------*/



/* ... header ...
-----------------------------------------------*/
header {
	position: fixed;
	left: 0;
	right: 0;
	margin: auto;
	background-color: #fff;
	z-index: 1;
}
.ie header {
  width: 100%;
  left: auto;
  right: auto;
}
.resources_header {
	display: grid;
	height: 120px;
	transition: height .1s ease 0s;
	grid-template-columns: 1fr repeat(3, auto);
	grid-template-rows: auto auto;
}
#logo {
	grid-row: 1/3;
	grid-column: 1/2;
	width: 100%;
}
#logo a {
	display: block;
  height: 100%;
  background-image: url(img/logo-xl2.svg); /* erstes Logo */
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  color: transparent;
  border: 0 none;
}
/** when scrolled and on mobile - see responsive.css */
.scrolled header {
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .3);
}
.scrolled .resources_header {
	height: 80px;
}
.scrolled #logo {
  /** overflow: hidden; */
}
.scrolled #logo a {
  background-image: url(img/logo-s.svg);
  max-height: 80px;
}
.scrolled .mainnav {
	grid-column: 2/-1;
	grid-row: 2/-1;
	transform: translateY(0);
}
.header_right_block {
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-content: space-between;
  width: 75%;
	min-width: 75%;
	flex-basis: 75%;
	flex-grow: 1;
	flex-shrink: 0;
}
.ie .header_right_block {
	flex-basis: 75%; /* ? */
}
/* ... header ... END
-----------------------------------------------*/



/* ... Start page ...
-----------------------------------------------*/
.index .mod_rocksolid_slider {
  /* padding-left: 24px;
  padding-right: 24px; */
}
/* ... Start page ... END
-----------------------------------------------*/



/* ... Presse page ...
-----------------------------------------------*/
.presse .ce_image .image_container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, .3);
  margin-bottom: 0;
}
.presse .ce_image img {
	margin: auto;
  max-width: 410px;
}
.presse .ce_image .image_container figcaption {
	padding: .5em;
}
/* ... Presse page ... END
-----------------------------------------------*/



/* ... backgrounds ...
-----------------------------------------------*/
#home {
  background-color: #eaeaea;
}
/* ... backgrounds ... END
-----------------------------------------------*/



/* ... footer ...
-----------------------------------------------*/
footer {
	background-color: #464648;
	color: #fff;
	font-size: 1rem;
	margin-top: 2rem;
}
footer .inside {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.resources_footer {
	min-height: 140px;
  align-content: space-between;
  grid-template-columns: repeat(3, 1fr);
}
.resources_footer > div {
	grid-column: 1 / -1;
}
.copyright {
	text-align: center;
}
.copyright p:last-child {
	margin-bottom: 0;
}
/* ... footer ... END
-----------------------------------------------*/



/* ... typo ...
-----------------------------------------------*/
p:empty {
  display: none;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: CorporateS-Bold, Arial, "Helvetica Neue", Helvetica, Roboto, Verdana, sans-serif;
}
h1, .h1, h2, .h2 {
  text-align: center;
}
h3, .h3 {
  line-height: 1.25;
}
p {
  line-height: inherit;
}
a {
  color: inherit;
  border-bottom: 1px dashed #a061cf;
}
hr {
	border-bottom-width: 2px;
	border-bottom-color: #111;
}
/* ... typo ... END
-----------------------------------------------*/



/* ... listing layouts ...
-----------------------------------------------*/
.speaker-list ul {
  margin: 0;
  list-style: none;
}
.speaker-list ul,
.speaker-list li,
.speaker-list a {
  display: block;
}
.speaker-list a {
	color: inherit;
	font-size: 1.75rem;
	border-bottom: 1px solid;
  position: relative;
}
.speaker-list a:focus,
.speaker-list a:hover {
  color: #a061cf;
}
.speaker-list a::after {
	content: "";
	position: absolute;
	background-image: url(img/circle-r.svg);
	width: 20px;
	height: 1.6em;
	right: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.partner-list {
	display: flex;
	flex-wrap: wrap;
}
/* ... listing layouts ... END
-----------------------------------------------*/



/* ... instragram ...
-----------------------------------------------*/
#above-footer .inside {
	padding-top: 0;
	padding-bottom: 0;
}
.custom .inside > :first-child {
  /* padding-top: calc(2 * 12px); */
}
.custom .inside > :last-child {
  /* padding-bottom: calc(2 * 12px); */
}
.custom {
  /* background-color: #e6e6e6; */
  margin-bottom: -2rem;
}
.mod_cfg_instagram a {
  padding-top: 100%;
  height: 0;
  overflow: hidden;
  position: relative;
  display: block;
  border: 0 none;
}
.mod_cfg_instagram img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
/* ... instragram ... END
-----------------------------------------------*/



/* ... misc ...
-----------------------------------------------*/
.image_container a,
.image_container img {
  display: block;
  max-width: 100%;
  height: auto;
}
.image_container a {
  border: 0 none;
}
p.back {
  display: none;
}
.issuuembed {
  height: calc(100vh - 160px);
  margin-bottom: 1rem;
}
/* ... misc ... END
-----------------------------------------------*/



/* ... Sponsors ...
-----------------------------------------------*/
aside.sponsors {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: -.75rem;
	margin-right: -.75rem;
	/* width: calc(100% - .75rem * 2); */
  /* background-color: rgba(0,255,0,.2); */
}
.sponsors > h1,
.sponsors > hr {
	width: 100%;
  /* background-color: rgba(0,255,0,.2); */
}
.sponsors > h1 {
	font-size: 2rem;
	margin-bottom: 1em;
}
.sponsors > .ce_image {
	width: calc(25% - .75rem * 2);
	min-width: 220px;
  /* background-color: rgba(0,255,0,.2); */
  min-width: 240px;
}
.sponsors figure {
	margin: 0;
}
.sponsors figure a {
	height: 0;
	overflow: hidden;
	padding-bottom: 39%;
	position: relative;
}
.sponsors figure img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	object-position: center;
}
aside.sponsors > * {
	/* display: none; */
	margin: .75rem;
}
aside.sponsors > :nth-child(10),
aside.sponsors > :nth-child(10) ~ div {
	/* display: block; */
}
/* ... Sponsors ... END
-----------------------------------------------*/



/* ... Livestream ...
-----------------------------------------------*/
.livestream > div {
	position: relative;
	padding: 0;
	padding-bottom: calc((100% - 33.3333%) * 0.5625);
	margin-top: 12px;
	margin-bottom: 12px !important;
}
.livestream iframe {
  position: absolute;
  border: 0 none;
  height: 100%;
  max-height: calc(100vh - (12px + 15px + 15px + 80px) - 110px);
  width: 100%;
}
/* ... Livestream ... END
-----------------------------------------------*/



/* ... Search ...
-----------------------------------------------*/
.search-header {
	grid-column: 3/4;
}
.search-header .formbody {
  display: flex;
}
.search-header input {
  margin: 0;
}
.search-header .widget-text {
  display: flex;
}
.search-header .text {
	margin: 0;
	height: 3rem;
	border: 0 none;
	box-shadow: none;
	background: #fff;
	width: 0;
	transition: all .5s ease 0s;
	border-bottom: 2px solid transparent;
}
.search-header .text:focus {
	width: 200px;
	border-color: #707070;
}
.search-header label {
	order: 1;
	color: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	height: 3rem;
}
.search-header label::before {
	content: '\ed11';
	position: absolute;
	font-family: IcoFont;
	color: #111;
	font-size: 1.25rem;
	text-align: center;
	font-weight: bold;
}
.search-header label:hover::before {
	color: #28a0e6;
}
.search-header .button {
	margin: 0;
	padding: 0;
	height: 100%;
	border: 0 none;
	background-color: transparent;
	background-color: #eaeaea;
}
.mod_search form {
	display: none;
}
.mod_search .sText,
.mod_search .sWord {
	display: block;
	text-align: center;
	font-size: 2rem;
}
.mod_search .sWord {
	font-size: 3rem;
}
.mod_search .text {
  flex-grow: 1;
  width: auto;
}
.mod_search .relevance {
	display: none;
}
.mod_search fieldset {
  width: 100%;
}
.mod_search > div {
  border-top: 2px solid #707070;
  margin-top: 2rem;
  padding-top: 2rem;
}/* ... Search ... END
-----------------------------------------------*/
