/* story definitions, only used on story layouts */
/* ============================================= */

/* story-brandday overrides => */
.wrapper {
	background-color: #ffffff;
}
/* <= story-brandday overrides */

.story {
	position:static;
	margin-left:7.5%;
	width:85%;
}

/* stackable story */
/* =============== */

.story.stackable {
	margin-bottom: 10em;
}

@media screen and (min-width: 975px) {
	.story.stackable h2.maintitle {
		font-size: 4em;
	}
}

@media screen and (max-width: 975px) {
	.story.stackable {
		margin-bottom: 5em;
		border-top: 1px solid rgba(205,204,204, .75);
		padding-top: 5em;
	}
}

/* teads width correction */
.story > .teads-inread {
	width:60%;
	margin-bottom:3em;
}

.story h2.maintitle {
	font-size:6em; /* 60px / 10px */
	font-weight:bold;
	line-height:1.1em; /* wegen oberlängen bei grossgeschriebenen umlauten nicht 1em */
	margin-top:0;
	-moz-hyphens: manual;
	-webkit-hyphens: manual;
	-ms-hyphens: manual;
	-o-hyphens: manual;
	hyphens: manual;
	margin-bottom:0.5em; /* 30px / 60px */
}

.story h3.uppertitle {
	font-size:1.6em; /* 16px / 10px */
	font-weight:bold;
	text-transform:uppercase;
	width:60%;
	margin-bottom:10px;
	margin-top:1.25em; /* 20px / 16px */
}

.story > h3.uppertitle {
	background-image:url("/media/img/main/icons/icon_fold.png");
	background-position:top right;
	background-repeat:no-repeat;
	background-size:1.25em 1.25em;
}

.story > h3.uppertitle.combo_bg.combo_fg {
	padding: 4px 12px 4px 8px;
	margin: 0 0 10px 0;
	width: auto;
	line-height: 1.5em;
	display: inline-block;
}

.story.tagclass_native > h3.uppertitle {
	color: #666666;
}

.story h4.tweentitle {
	width: 60%;
	font-size:2.6em; /* 26px / 10px */
	line-height: 1.2em;
	margin:0px 0 10px 0;
	font-weight:bold;
}

.story h4.kongtitle {
	width: 60%;
	font-size: 3.428em; /* 34.28px / 10px, because of mobile's title size (is 3.428em) */
	line-height: 1.4em;
	margin:1.5em 0 10px 0;
	color: #222222;
	font-weight:bold;
}

.story h4.kongtitle {
    margin : 1.5em 0px 16px 0px;
}

.story ul h4.kongtitle {
	font-size: 2.2em;
}

.story h4.kongtitle.numbered::before,
.story h4.kongtitle.child_numbered::before {
	counter-increment: kong_counter;
	content: counter(kong_counter) "";
	background-color:#f40f97;
	color:#ffffff;
	margin-right:0.3em;
	line-height:1.4em;
	padding:0 0.1em;
	min-width:1.2em;
	display:inline-block;
	text-align:center;
	background-image:url("/media/img/main/icons/icon_fold.png");
	background-position:top right;
	background-repeat:no-repeat;
	background-size:0.77em 0.77em;
}

.story h4.kongtitle.numbered.asc::before,
.story h4.kongtitle.child_numbered.asc::before {
	counter-increment: kong_counter;
	content: counter(kong_counter) "";
}

.story h4.kongtitle.numbered.desc::before,
.story h4.kongtitle.child_numbered.desc::before {
	counter-increment: kong_counter -1;
}

.story h4.kongtitle span.magenta-highlighting {
	color:#ffffff;
	background-color:#f40f97;
	padding:0 0.25em;;
	line-height:1.5em;
	-webkit-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	box-decoration-break:clone;
}

.story p.date {
	font-size: 1.4em;
	margin: 0 0 5px 0;
	color: #666;
}

.story p.author {
	color:#666666;
	margin: 0 0 1.666em 0;
	padding: 5px 0;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	text-transform: lowercase;
	text-align: center;
}

body[data-lang='deu'] .story p.author {
    text-transform: initial;
}

.story p.lead {
	font-weight:bold;
	font-style:italic;
	font-size:2.2em;
	line-height:1.3em;
	width:auto;
	margin-bottom:1.363em;
}

.story p.lead {
    line-height : 1.5em;
    font-style : normal;
}

.story p.font_l, .story p .font_l {
	font-size: 2em;
	line-height: 1.1em;
}


.story p, .story ul, .story ol, .story h4.tweentitle {
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
	width:60%;
}

.story p, .story ul, .story ol {
	font-size:1.8em /* 18px / 10px */;
	line-height:1.5em;
	margin-bottom:1.666em; /* 30px / 18px */
}

.story ol {
	list-style-type:decimal;
	margin: 0px 0 1.666em 35px;
}

.story ol li {
	margin:0;
	padding: 0 0 10px 5px;
}

.wrapper .story p, .wrapper .story ul, .wrapper .story ol {
    line-height : 1.7em;
}

/* default lists */
/* ============= */
.story ul.list-default,
.story ol.list-default {
	list-style: none;
	margin-left:0;
}

.story ul.list-default li {
	background-image:url("/media/img/main/icons/icon_dot.png");
	background-size:0.38888em 0.38888em; /* 7px / 18px */
	background-position:0.1666em 0.5em; /* 3px / 18px, 9px / 18px */
	background-repeat:no-repeat;
	padding-left:1.2em;
	padding-bottom: 10px;
}

.story ol.list-default li {
	margin-left:0;
	list-style-type:none;
	counter-increment:list;
	padding-left:1.777em; /* 32px / 18px */
	position:relative;
}

.story ol.list-default li:before {
	content: counter(list) ".";
	color:#f40f97;
	font-weight:bold;
	position:absolute;
	top:0;
	left:0;
}

.story ul.list-default p,
.story ol.list-default p {
	font-size:1em;
}



/* inserts */
/* ======= */
/* default insert (textflow)*/
/* reset insert values */
.story .insert {
	position: relative;
	max-width:60%;
	margin:0 0 3em 0; /* 30px / 10px */
	float:none;
}

.insert.nospacing {
	margin-bottom:0;
}

/* reset insert values */
.story .insert p,
.story .insert h2,
.story .insert h3,
.story .insert h4,
.story .insert ul,
.story .insert ol {
	max-width:none;
	width:auto;
	padding:0;
	margin:0 0 4px 0;
}

.story .insert h4.inserttitle {
	font-size: 2.6em; /* 26px / 10px */
	color: #222;
	font-weight: bold;
	line-height: 1.2em;
	margin-bottom: 5px;
}

.story .insert h4.inserttitle {
    margin-bottom : 16px;
    line-height : 1.5em;
}

/* is the first placed element ann insert? add a margin on top of the inserttitle */
.story div.insert:nth-child(3) h4.inserttitle {
	margin-top:1em;
}

.story .insert .insertcaption {
	font-size:1.8em /* 18px / 10px */;
	color:#999;
	width:95%;
	padding:0;
	margin:0.3em 0 0 0;
}

.story .insert .insertcaption {
    margin : 10px 0px;
    line-height : 1.6em;
}

.story .insert .insertcaption .caption {
	margin: 0 3px 0 0;
}

.story .insert .insertcaption .source {
	font-style:italic;
	font-size:0.75em;
	text-transform:lowercase;
	white-space:nowrap;
}

/* candid captions */
.insert.candid_caption .insertcaption {
	display:none;
}

.insert.candid_caption.revealed .insertcaption {
	display:block;
	-webkit-animation-name: candid_caption_revealed;
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: 1;
	animation-name: candid_caption_revealed;
	animation-duration: 2s;
	animation-iteration-count: 1;
}

@keyframes candid_caption_revealed {
	0%   {color:#ff9500;opacity:0;}
	50%   {color:#ff9500;opacity:1;}
	100% {color:#999999;opacity:1;}
}

@-webkit-keyframes candid_caption_revealed {
	0%   {color:#ff9500;opacity:0;}
	50%   {color:#ff9500;opacity:1;}
	100% {color:#999999;opacity:1;}
}


/* n a notice */
.story .insert p.insert_n_a_notice {
	text-align:center;
	font-size:1.4em;
}

.story .insert p.insert_n_a_notice a img {
	margin-bottom:0;
	margin-top:0.25em;
	width:50%;
}

.story .insert p.note {
	font-size: 1.4em;
	text-align: center;
	margin-top: 0.3em;
}

.story .insert.jumbo h4.inserttitle,
.story .insert.jumbo .insertcaption,
.story .insert.cinemascope h4.inserttitle,
.story .insert.cinemascope .insertcaption {
	width: calc(1026px * 0.85);
	position:relative;
}

.story .insert.jumbo h4.inserttitle,
.story .insert.jumbo .insertcaption {
	padding-left: calc(50% - 437px);
}

.story .insert.cinemascope h4.inserttitle,
.story .insert.cinemascope .insertcaption {
	padding-left: calc(50% - 437px);
}

.wrapper.has_side_ad .insert.cinemascope h4.inserttitle,
.wrapper.has_side_ad .insert.cinemascope .insertcaption {
	padding-left: calc(50% - 587px);
}

.story .insert .insertcaption.inside {
	bottom: 0;
	font-family: 'Merriweather','Times New Roman',Times,serif;
	font-size: 3.6em;
	font-style: italic;
	left: 0;
	line-height: 1em;
	margin: 0;
	padding: 2%;
	position: absolute;
	text-align: center;
	width: 96%;
}

/* cinemascope insert */
.story .insert.cinemascope {
	position:relative;
	max-width:none;
	width:100vw;
	left:calc( ( 100% - 100vw ) / 2 + 150px);
	margin:0 0 3em 0; /* 30px / 10px */
	clear:both;
	float:none;
}

.wrapper.has_side_ad .story .insert.cinemascope {
	left:calc( (100% + 300px - 100vw) / 2 );
}

/* jumbo insert */
.story .insert.jumbo {
	position:relative;
	max-width:none;
	width:994px;
	left:calc(50% - 497px);
	margin:0 0 3em 0; /* 30px / 10px */
	clear:both;
	float:none;
}

/* full insert */
.story .insert.full {
	max-width:none;
	width:100%;
	margin:0 0 3em 0; /* 30px / 10px */
	clear:both;
	float:none;
}

/* half insert */
.story .insert.half {
	max-width:none;
	width:49%;
	margin:0 0.75% 3em 0; /* 30px / 10px */
	display:inline-block;
	vertical-align:top;
}

/* side insert */
.story .insert.side {
	max-width:none;
	clear:right;
	float: right;
	width:37%;
	margin:0 0 3em 2%; /* 30px / 10px */
}

/* left side only */
.story .insert.right {
	max-width:none;
	clear:right;
	margin:0 0 3em 2%; /* 30px / 10px */
	padding:0;
	width:56%;
	float:right;
	font-size:inherit;
	line-height:auto;
}

/* extra spacing */
.story .insert.extra_spacing {
	margin-bottom:6em; /* 60px / 10px */
}

.story .insert.extra_spacing:not(.side):not(.right) {
	margin-top:6em; /* 60px / 10px */
}

.story .insert.block {
	display:inline-block;
	clear:both;
}

.story .insert.shift-right {
	padding-left:10%;
}

.story .insert.shift-left {
	padding-left:-10%;
}

/* full screen insert */
/* important for overriding cinemascope values */
.story .insert.fullscreen {
	position: fixed;
	z-index: 12348;
	top: 0;
	left: 0;
	width: 100%;
	max-width:none;
	height: 100%;
	margin:0;
}

.story .insert.fullscreen .inserttitle, .story .insert.fullscreen .insertcaption,  {
	display: none;
}

/* standard story links */
/* ==================== */
.story > p > a,
.story > p > strong > a,
.story > p > em > a,
.story .insert .inserttitle a,
.story ul.list-default a,
.story ol.list-default a {
	background: linear-gradient(to bottom, transparent 90.9%,rgba(0,193,246,1) 91%,rgba(0,193,246,1) 94.9%,transparent 95%);
	color: inherit;
	text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
}

/* story tool */
body > .upfront-wrapper .story > p > a,
body > .upfront-wrapper .story > p > strong > a,
body > .upfront-wrapper .story > p > em > a,
body > .upfront-wrapper .story .insert .inserttitle a {
	color: #00c1f6;
}

/* subtle story links */
/* ================== */
.story > p > a.tag_link,
.story .insert .insertcaption a {
	background: linear-gradient(to bottom, transparent 90.9%,#cccccc 91%,#cccccc 94.9%, transparent 95%);
	color: inherit;
	text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
}

/* story tool */
body > .upfront-wrapper .story > p > a.tag_link,
body > .upfront-wrapper .story .insert .insertcaption a,
body > .upfront-wrapper .story ul.list-default a,
body > .upfront-wrapper .story ol.list-default a {
	color: #00c1f6;
}




/* breadcrumb */
/* ========== */
.breadcrumbblock {
	position:relative;
	margin-top:2em;
	margin-bottom:0.5em;
	height:2.4em; /* 24px / 10px */
	width:100%;
	text-align:left;
}

.breadcrumbblock {
    margin-bottom : 2em;
}

.wrapper.has_spondored_header .breadcrumbblock {
	margin-top:1em;
}

ul.breadcrumb {
	font-size:1.2em; /* 12px / 10px */
	line-height:2em; /* 24px / 12px */
	overflow:hidden;
	white-space:nowrap;
	position:relative;
	margin:0 auto;
	width:100%;
}

ul.breadcrumb {
    font-weight : 600;
    font-size : 12px;
}

ul.breadcrumb li:not(.fade) {
	display:inline-block;
	padding-left:2em; /* 28px / 14px */
	background-image:url(/media/img/main/icons/icon_breadcrumb.png);
	background-position:0.5em 50%; /* 7px / 14px */
	background-repeat:no-repeat;
	Background-size:1em 1em;
}

ul.breadcrumb li:not(.fade):first-child {
	padding-left:0;
	background-image:none;
}

ul.breadcrumb li:not(.fade) a,
ul.breadcrumb li:not(.fade) h1 {
	color:#777777;
}

ul.breadcrumb li.fade {
	position:absolute;
	width:2.857em; /* 40px / 14px */
	height:100%;
	top:0;
	right:0;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

.ajax_loader_story {
	display: none;
	min-height:60px;
	position:relative;
}

@media screen and (max-width: 1330px) {
	.wrapper.has_side_ad .story .insert.cinemascope {
		left:calc( (100% - 100vw) / 2 );
	}

	.wrapper.has_side_ad .story .insert.cinemascope h4.inserttitle,
	.wrapper.has_side_ad .story .insert.cinemascope .insertcaption {
		padding-left: calc(50% - 437px);
	}
}

@media screen and (max-width: 1026px) {
	.story .insert.cinemascope,
	.wrapper.has_side_ad .story .insert.cinemascope {
		left:calc( -7.5% * 100 / 85 );
		width:calc( 100% * 100 / 85 );
	}
}

/* autocontext */
@media screen and (min-width: 976px) {
	.insert.side.autocontext {
		padding-top:0.8em;
	}
}

.insert.side.autocontext .teaser h2 a {
	hyphens:auto;
}

.insert.side.autocontext .spacer {
	height:16px;
}

@media screen and (max-width: 975px) {
	.insert.side.autocontext .spacer {
		height:14px;
	}
}

.insert.side.autocontext .teaser.teaser_type_list {
	margin-bottom:1px !important;
}

.insert.side.autocontext .teaser.teaser_type_list .text h2 {
	line-height:1.2em;
}

.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) {
	height:108px !important;
}

.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .pic {
	width:108px;
}

.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .pic .storyimage {
	background-image: none;
}

.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .text {
	padding-left:108px;
}

.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .text h2 {
	vertical-align:top;
	padding-top:8px;
	padding-bottom:8px;
}

@media screen and (max-width: 975px) {
	.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) {
		height:102px;
	}

	.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .pic {
		width:102px;
	}

	.insert.side.autocontext .teaser.teaser_type_list:not(.text_only) .text {
		padding-left:102px;
	}
}

.insert.side.autocontext .teaser.teaser_type_list .text a {
	display:block;
}

.insert.side.autocontext .teaser.teaser_type_list .uppertitle {
	display:inline-block;
	font-size:0.9em;
	font-weight:bold;
	text-transform:uppercase;
	line-height:1.62em;
	padding:0 8px 0 8px;
	margin-bottom:4px;
	-webkit-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	box-decoration-break: clone;
	background-image:url("/media/img/main/icons/icon_fold.png");
	background-position:top right;
	background-repeat:no-repeat;
	background-size:1.25em 1.25em;
	-webkit-clip-path: polygon(0 0, calc(100% - (1.30em / 2)) 0, 100% calc(1.30em / 2), 100% 100%, 0 100%); /* 1.30em instead of 1.25em, for renderbuffering */
	clip-path: polygon(0 0, calc(100% - (1.30em / 2)) 0, 100% calc(1.30em / 2), 100% 100%, 0 100%);
}

.insert.side.autocontext .teaser.teaser_type_list .bubbler {
	position:absolute;
	right:4px;
	bottom:4px;
	overflow:hidden;
	box-shadow:none;
	font-size:1.4em;
	background-color:transparent;
}

.insert.side.autocontext .teaser.teaser_type_list .bubbler::before {
	content:"präsentiert von";
	display:inline-block;
	font-weight:normal;
	color:#999999;
	font-size:0.6em;
	vertical-align:bottom;
	margin-right:8px;
	margin-bottom:0.3em;
}

@media screen and (max-width: 740px) {
	.insert.side.autocontext .teaser.teaser_type_list .bubbler,
	.insert.side.autocontext .teaser.teaser_type_list .uppertitle {
		display:none;
	}
}

/* cheap cover for "präsentiert von" text */
.insert.side.autocontext .teaser.teaser_type_list .bubbler::after {
	content:"";
	display:block;
	background-color:#ffffff;
	top:0;
	right:0;
	height:0.4em;
	width:4.5em;
	position:absolute;
}

.insert.side.autocontext .teaser.teaser_type_list .bubbler img {
	max-width:none;
	max-height:none;
	width:4.5em;
	height:auto;
	margin-top:-0.54em;
}

/* ad in autocontext */
.insert.side.autocontext .stack_element iframe {
	width:calc(100% + 16px + 16px);
	height:calc(108px + 16px);
	margin-left:-16px;
	margin-bottom:-16px;
	position:relative;
	/* hack */
	display:block;
	height:calc(108px + 16px);
}

@media screen and (max-width: 975px) {
	.insert.side.autocontext .stack_element iframe {
		width:calc(100% + 14px + 14px);
		height:calc(102px + 14px);
		margin-left:-14px;
		margin-bottom:-14px;
		/* hack */
		display:block;
		height:calc(102px + 14px);
	}
}

/* initially hidden */
.insert.side.autocontext,
.insert.side.autocontext > .stack_element {
	display:none;
}







/* tablet */
/* ====== */
@media screen and (max-width: 975px) {

	.story {
		margin-left:4%;
		margin-right:4%;
		width:auto;
	}

	.story h2.maintitle {
		font-size:4em; /* 36px / 9px */
	}

	.story .insert.jumbo h4.inserttitle,
	.story .insert.cinemascope h4.inserttitle,
	.story .insert.jumbo .insertcaption,
	.story .insert.cinemascope .insertcaption {
		padding-left:4%;
		padding-right:4%;
		left:0;
		width: auto;
	}


	.story .insert.jumbo,
	.story .insert.cinemascope {
		/*width:calc(100% * 100 / 92);
		left:calc(-4% * 100 / 92);*/
		width:108.695%;
		left:-4.347%;
	}

	/* full screen insert */
	/* important for overriding cinemascope values */
	.story .insert.fullscreen {
		width: 100%;
		height: 100%;
		left:0;
	}
}







/* mobile */
/* ====== */
@media screen and (max-width: 591px) {

	/* teads width correction */
	.story > .teads-inread {
		width:100%;
	}

	.story h2, .story h3, .story h4 {letter-spacing:0;}
	.story h2.maintitle { font-size:3.428em; } /* 24px / 7px */

    .story h2.maintitle {
        font-size : 4em;
        line-height : 1.2em;
        margin-bottom : 0.75em;
    }

	.story p.lead, .story ul, .story ol { font-size:2.2857em; } /* 16px / 7px */
	.story p.label, .story p.date { font-size:1.7142em; } /* 12px / 7px */
	.story h3 { font-size:1.57142em; } /* 11px / 7px */

	.story .widget.infobox h4,
	.story h4,
	.story p.lead,
	.story p.half_title { font-size:2.571em; } /* 18px / 7px */

	.story p.caption, .story p.source { font-size:2em; } /* 14px / 7px */
	.story h4.kongtitle {font-size: 3.428em; margin-top: 1.5em; width: auto;}
	.story h4.tweentitle { width: auto; }

	.story p {
		width:auto;
		clear:both;
		float:none;
		display:block;
		max-width: none;
		letter-spacing:0;
		font-size:2.2857em;
	}

    .story p.lead {
        font-size : 2.3em;
        margin-bottom : 2em;
    }

	.story .insert.side,
	.story h2,
	.story h3,
	.story h4,
	.story ol,
	.story ul,
	.story .insert {
		width:auto;
		clear:both;
		float:none;
		display:block;
		max-width: none;
	}

    .story .insert .insertcaption {
        font-size: 14px;
    }

	.story .insert p.caption.inside {
		font-size:2.571em;
		position: static;
	}

	.story .insert.hide_on_mobile {
		display:none;
	}

	/*inserts*/
	.story .insert.right {
		margin:0 0 3em 0px;
	}

	.story .insert.side {
		margin:0 0 3em 0;
	}

	/* extra spacing */
	.story .insert.extra_spacing {
		margin-bottom:6em; /* 60px / 10px */
		margin-top:6em; /* 60px / 10px */
	}

	.story .insert.force_full_width_mobile:not(.fullscreen) {
		position:relative;
		max-width:none;
		/*width:calc(100% * 100 / 92);
		left:calc(-4% * 100 / 92);*/
		width:108.695%;
		left:-4.347%;
	}

	.story .insert.force_full_width_mobile:not(.fullscreen) h4.inserttitle,
	.story .insert.force_full_width_mobile:not(.fullscreen) .insertcaption {
		padding-left:4.5%;
		padding-right:4.5%;
		margin-left:0;
		margin-right:0;
	}

	/* full screen insert */
	/* important for overriding cinemascope values */
	.story .insert.fullscreen {
		width: 100%;
		height: 100%;
		left:0;
	}

	.breadcrumbblock {
		height:3em; /* 30px / 10px */
	}

	ul.breadcrumb {
		line-height:2.142em; /* 30px / 14px */
		font-size:1.4em;
	}

    ul.breadcrumb {
        font-size: 12px;
    }

	/* hide currentblock (bacuse of breadcrumb in stories) and adjust wrapper top padding */
	/* ================================================================================== */
	.wrapper {
		padding-top: 5.85em !important;
	}
	.currentblock {
		display: none;
	}
}

