/* ------------------------------------ */

/* ## CORRECTION FOR GOOGLE FONT ## */

/* sometimes there are conflicts with local fonts so i change the name */

/* latin */
@font-face {
	font-family: "WebMontserrat";
	font-style: normal;
	font-weight: 400;
	src: url(https://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYAzyDMXhdD8sAj6OAJTFsBI.woff2)
		format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
		U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
	font-family: "WebMontserrat";
	font-style: normal;
	font-weight: 700;
	src: url(https://fonts.gstatic.com/s/montserrat/v7/IQHow_FEYlDC4Gzy_m8fcmaVI6zN22yiurzcBKxPjFE.woff2)
		format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
		U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

/* ## STUFF ## */

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

body {
	background-color: #f6f6f6;
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 300;
}

.hide {
	display: none !important;
}

aside img {
	max-width: 100%;
	height: auto;
}

.wide-sidebar-image {
	display: block;
}

.inline-block-fix {
	font-size: 0;
}

.no-pointer {
	pointer-events: none;
}

.pagination {
	margin-bottom: 20px;
	margin-top: 20px;
	width: 100%;
}

.pag_next a,
.pag_prev a {
	padding: 20px;
	display: block;
}

.pag_next {
	float: left;
}

.pag_prev {
	float: right;
}

.img_desc {
	font-size: 16px;
}

/*.to-background { position: relative; z-index: -10; }*/

/* ## responsive images ## */
.kgk_aspect_ratio_figure {
    position: relative;
    padding-bottom: 62%;
	overflow: hidden;
}

.kgk_aspect_ratio_figure img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
	left: 0;
	top: 0;
}

.kgk_main_banner {
	width: 100%;
	margin-bottom: 40px;
}

.kgk_main_banner img {
	width: 100%;
	height: auto;
}

.wp-caption-text {
    margin-bottom: 0 !important;
    position: relative;
    top: -40px;
    font-size: 1rem !important;
}

.post-figure {
	margin-bottom: 0 !important;
}

.post-figure img {
	margin-bottom: 0 !important;
}

/* ------------------------------------ */
/* ## ELEMENTS ## */

.offenes-forum,
.fb-icon {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	display: inline-block;
	background-color: #ff001e;
	border-radius: 100%;
	color: #ffffff;
	font-size: 1em;
	height: 50px;
	padding-top: 8px;
	text-align: center;
	width: 50px;
}

.fb-icon {
	padding-top: 10px;
}

.offenes-forum:hover,
.id-network:hover,
.fb-icon:hover {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) inset,
		0 1px 2px rgba(0, 0, 0, 0.24) inset;
}

article .offenes-forum {
	position: absolute;
	bottom: -20px;
	right: 10px;
	z-index: 20;
}

.material-shadow,
.material-box {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.id-network-logo {
	padding: 0 2rem;
}

.id-network-logo svg {
	width: 100%;
	height: auto;
}

.id-network {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	padding-left: 7px;
	padding-right: 7px;
	padding-top: 6px;
	padding-bottom: 6px;
	margin-bottom: 5px;
	margin-right: 3px;
}

.material-box {
	border-radius: 3px;
}

.category {
	font-family: "WebMontserrat", sans-serif;
	font-weight: 600;
}

.open-forum-parent,
.cat-parent {
	position: relative;
}

article .category {
	position: absolute;
	z-index: 20;
	border-radius: 3px;
	top: 10px;
	left: 10px;
	padding-top: 6px;
	padding-bottom: 2px;
	padding-right: 6px;
	padding-left: 6px;
}

.scale {
	transform: scale(1) rotate(0deg);

	/*  -ms-transform: scale(1) rotate(0deg);
  -webkit-transform: scale(1) rotate(0deg);
  -moz-transform: scale(1) rotate(0deg);
  -o-transform: scale(1) rotate(0deg);*/

	transition-duration: 0.2s;
	transition-property: transform, opacity;
	/*-webkit-transition-duration: 0.2s;
  -webkit-transition-property: transform, opacity;
  -moz-transition-duration: 0.2s;
  -moz-transition-property: transform, opacity;
  -o-transition-duration: 0.2s;
  -o-transition-property: transform, opacity;

  z-index: 0;

  opacity: 1;*/
}

blockquote::before {
	content: "\201E";
	position: absolute;
	top: -35px;
	left: 0;
	font-size: 120px !important;
	color: #ff001e;
}

blockquote {
	padding-left: 60px;
	position: relative;
}
blockquote,
blockquote p {
	font-weight: 600 !important;
	font-size: 20px !important;
	line-height: 1.6em !important;
	font-style: italic;
	color: #2a2a2a !important;
}

/* blockquote.long-bq, blockquote.long-bq p { font-size: 20px !important; line-height: 1.6em !important; } */

[data-instgrm-captioned] {
	font-size: 120px !important;
}

.instagram-media, [data-instgrm-captioned]::before {
	display: none;
}

.scale:hover {
	transform: scale(1.05);
	/*-ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);

  opacity: 0.8;*/
}

.body-text ol,
.body-text ul {
	margin-left: 30px;
	width: calc(100% - 30px);
}

.body-text ol {
	/*margin-bottom: 40px !important;*/
}

.body-text ul {
	list-style-type: square !important;
}

.body-text li {
	margin-bottom: 40px !important;
}

.kgk-mobile-only {
	display: none;
}

/* ------------------------------------ */
/* ## MENUS ## */

input {
	background-color: #e7e7e7;
	border: 0 none;
	color: black;
	padding: 15px 10px;
}

/* ------------------------------------ */
/* ## FONT ## */

h1,
h2,
h3 {
	font-family: "WebMontserrat", sans-serif;
	font-weight: 600;
}

h1 {
	font-size: 60px;
	line-height: 60px;
}

h2 {
	font-size: 38px;
	line-height: 38px;
}

h3 {
	font-size: 19px;
	line-height: 19px;
}

.extra-big {
	font-size: 60px;
	line-height: 60px;
}

.big {
	font-size: 38px;
	line-height: 38px;
}

.medium {
	font-size: 24px;
	line-height: 24px;
}

.small {
	font-size: 12px;
	line-height: 12px;
}

.bolder,
strong {
	font-weight: bolder;
}

.light,
.light a {
	font-weight: 300 !important;
}

.uppercase {
	text-transform: uppercase;
}

.text-center {
	text-align: center;
}

a {
	color: #ff001e;
	text-decoration: none;
	font-weight: bolder;
	transition-duration: 0.2s;
	transition-property: color;
}

a:hover {
	color: #000000;
}

.text-center {
	text-align: center;
}

.body-text img {
	display: block;
	max-width: 100%;
	height: auto;
}

.body-text,
.body-text p,
.body-text img {
	font-size: 19px;
	line-height: 1.6em;
	margin-bottom: 40px;
}

.body-text h2,
.body-text h3,
.body-text h4 {
	margin-bottom: 20px;
}

.article-excerpt {
	font-weight: 400;
}

/* .hyphenate, h1, h2, h3 { overflow-wrap: break-word; word-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto;
} */

/* ------------------------------------ */
/* ## COLORS ## */

.dark-grey {
	background-color: #1e1e1e;
	color: #ffffff;
}

.black {
	background-color: #000000;
	color: #ffffff;
}

.dark-grey a,
.black a {
	color: #ff001e !important;
}

.dark-grey a:hover,
.black a:hover {
	color: #ffffff !important;
}

.white,
a.white {
	color: #ffffff;
}

.white a:hover,
a.white:hover {
	color: #ffffff !important;
}

.white-bg {
	background-color: #ffffff;
}

.white-bg a,
.white a {
	color: #ff001e !important;
}

.white-bg a:hover {
	color: #000000 !important;
}

.red {
	background-color: #ff001e;
}

.red a,
a.red {
	color: #ffffff !important;
}

.red a:hover {
	color: #000000 !important;
}

.black-text,
a.black-text,
.black-text a {
	color: #000000 !important;
}

a:hover.black-text,
.black-text a:hover {
	color: #ff001e !important;
}

/*

a.white:hover, .white a:hover { color: #ffffff; }



a.stay-black { color: #000000; }

a:hover.stay-black { color: #000000; }


*/

/* ------------------------------------ */
/* ## GRID ## */

.max_width {
	margin: 0 auto;
	max-width: 1500px;
	padding-left: 7%;
	padding-right: 7%;
}

.center-div {
	margin: 0 auto;
	position: relative;
}

/* non-flex box layout */

.row-container > * {
	float: left;
}

.clear {
	clear: both;
}

.align-left {
	float: left;
}

.align-right {
	float: right;
}

/* widths */

.width-100 {
	width: 100%;
}

.width-90 {
	width: 90%;
}

.width-85 {
	width: 85%;
}

.width-80 {
	width: 80%;
}

.width-75 {
	width: 75%;
}

.width-70 {
	width: 70%;
}

.width-60 {
	width: 60%;
}

.width-65 {
	width: 65%;
}

.width-40 {
	width: 40%;
}

.width-35 {
	width: 35%;
}

.width-50 {
	width: 50%;
}

.width-25 {
	width: 25%;
}

.width-30 {
	width: 30%;
}

.width-33 {
	width: 33.333%;
}

/* Spaces */

.horizontal-spacing {
	margin-left: -20px;
	margin-right: -20px;
}

.horizontal-spacing > * {
	padding-left: 20px;
	padding-right: 20px;
}

.vertical-spacing-correction {
	margin-top: -20px;
	margin-bottom: -20px;
}

.vertical-spacing > * {
	padding-top: 20px;
	padding-bottom: 20px;
}

.bottom-spacing > * {
	padding-bottom: 20px;
}

.top-spacing > * {
	padding-top: 20px;
}

.top-space {
	margin-top: 20px;
}

.top-space-half {
	margin-top: 10px;
}

.vertical-space {
	margin-top: 20px;
	margin-bottom: 20px;
}

.bottom-space {
	margin-bottom: 20px;
}

.bottom-space-half {
	margin-bottom: 10px;
}

.right-space {
	margin-right: 20px;
}

.left-space {
	margin-left: 20px;
}

.top-space-double {
	margin-top: 40px;
}

.bottom-space-double {
	margin-bottom: 40px;
}

.vertical-space-double {
	margin-top: 40px;
	margin-bottom: 40px;
}

.inside-space {
	padding: 20px;
}

.inside-vertical-space {
	padding-top: 20px;
	padding-bottom: 20px;
}

.inside-vertical-space-double {
	padding-top: 40px;
	padding-bottom: 40px;
}

.inside-horizontal-space-double {
	padding: 40px;
}

/* helper for some elements */
.inline-block {
	display: inline-block;
}

.block {
	display: block;
}

/* ------------------------------------ */
/* ## HEADER ## */

.page-head {
	position: relative;
	z-index: 20;
}

.page-head a,
.page-head a:hover {
	color: #000000 !important;
}

.kgk-subtitle {
	font-size: 16px;
	line-height: 16px;
	font-weight: 300;
	font-family: "Source Sans Pro", sans-serif;
}

.logo-img {
    display: block;
	width: 400px;
	max-width: 100%;
    height: auto;
}

.like-box {
	position: relative;
	top: 9px;
}

#searchform {
	position: relative;
	top: 9px;
}

#searchform .fa {
	position: absolute;
	right: 10px;
	top: 13px;
}

.search_input {
	padding-right: 30px;
}

.network_header {
	background-color: #f3f3f3;
}

.network_header ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row;
	flex-basis: 100%;
}

.network_header li a {
	display: block;
	text-transform: uppercase;
	color: #324764 !important;
	font-size: 12px;
	padding-top: 5px;
	padding-bottom: 5px;
}

.network_header li a.the-network-link {
	color: #ff001e !important;
}

@media (max-width: 1050px) {
	.network_header {
		display: none;
	}
}

/* ------------------------------------ */
/* ## NAVIGATION and MENUS ## */

ul {
	list-style-type: none;
}

ul.category-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row;
	flex-basis: 100%;
}

ul.category-nav a {
	color: #1e1e1e !important;
	font-family: "WebMontserrat", sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

ul.category-nav a:hover {
	color: #000000 !important;
}

ul.category-nav li {
	margin-right: 10px;
}

/* ------------------------------------ */
/* ## FEATURE ## */

.big-article {
	position: relative;
}

.big-article figure {
	background-color: #000000;
}

/* normally its relative, see .article header */
.big-article header {
	position: absolute !important;
	bottom: 45px;
	left: 25px;
}

.big-article span {
	position: absolute;
	left: 25px;
	bottom: 25px;
}

.big-article img {
	height: 100%;
	width: 100%;
	opacity: 0.75;
}

.big-article h3,
.big-article span {
	text-shadow: 1px 1px 2px #000;
}

/* ------------------------------------ */
/* ## SIDEBAR ## */

.sidebar-widget {
	/*background-color: #ffffff;*/
}

.sidebar-widget p {
	margin-bottom: 10px;
}

.sidebar-widget p:last-child {
	margin-bottom: 0;
}

.most-viewed-number {
	position: absolute;
	right: 0;
	bottom: -45px;
	z-index: 10;
	font-size: 180px;
	font-weight: 700;
	color: #ff001e;
	font-family: "WebMontserrat", sans-serif;
	opacity: 0.5;
}

.single-sidebar {
	position: absolute;
	top: 0;
	left: 100%;
}

.single-container {
	position: relative;
	margin-left: 10%;
}

.author-img-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
	margin-bottom: 0.5rem;
	padding-bottom: 100%; /* aspect-ratio */
}

.author-img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    object-fit: cover;
}

aside h3 {
	font-size: 16px;
	line-height: 16px;
}

.widget-article-box p {
	margin-bottom: 0;
}

/* .widget-article-box h3 {
  font-size: 19px;
  line-height: 19px;
} */

.widget-article-box .vertical-spacing > * {
	padding-top: 10px;
	padding-bottom: 7px;
}

.widget-article-box .top-space {
	margin-top: 10px;
}

.widget-article-box p {
	font-size: 14px;
}

.widget-article-box figure,
.column_widget_wrapper figure {
	overflow: hidden;
	padding-bottom: 38%;
	position: relative;
}

.widget-article-box img,
.column_widget_wrapper img {
	position: absolute;
}

.paypal-donations input {
	background: transparent;
}

.column_widget_wrapper figure {
	/* display: none; */
}

.white-bg .button,
.white .button,
.button {
	transition-duration: 0.2s;
	transition-property: color, background-color;
	background-color: #ff001e !important;
	color: #ffffff !important;
	display: block;
	padding: 13px;
	border-radius: 4px;
}

.white-bg .button:hover,
.white .button:hover,
.button:hover {
	background-color: #000000 !important;
	color: #ffffff !important;
}

/* ------------------------------------ */
/* ## Vertical Widgets ## */

.main-page-widget {
	margin-bottom: 40px;
}

.main-page-widget h2 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 400;
	font-style: italic;
	color: #1e1e1e;
}

.main-page-widget-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.main-page-widget-image {
	flex-basis: calc(38.2% - 20px);
	flex-grow: 1;
	margin-right: 20px;
}

.main-page-widget img {
	min-width: 140px;
	width: 100%;
	max-width: 300px;
	height: auto;
}

.main-page-widget-text {
	flex-basis: calc(61.8%);
	flex-grow: 1;
}

.main-page-widget-text p {
	margin-bottom: 10px;
}

/* ------------------------------------ */
/* ## ARTICLE ## */

.article-container {
	font-size: 0;
}

.article-container > * {
	display: inline-block;
	font-size: 16px;
	vertical-align: top;
}

/* inline-block und font-size sind fallbacks für alte browser falls flex nicht funktioniert */
.fl-article {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-radius: 3px;
	display: inline-block;
	font-size: 16px;
	vertical-align: top;
}

.article {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-radius: 3px;
}

/*.article * { overflow: hidden; text-overflow: ellipsis; }*/

.article header {
	position: relative;
	z-index: 15;
}

.article .article-content {
	position: relative;
}

/* ------------------------------------ */
/* ## HTML ELEMENTS AND TEXT ## */

.embed-object-container {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.embed-object {
	position: absolute;
	width: 100%;
	height: 100%;
}

/* ------------------------------------ */
/* ## CATEGORY OVERVIEW ## */

.category-section {
	position: relative;
}

/*.cat_section_half { width: 50%; display: inline-block; }*/

.cat-half-left,
.cat-half-right {
	width: 50%;
	display: inline-block;
}

.cat-half-left {
	padding-right: 20px;
}

.cat-half-right {
	padding-left: 20px;
}

.cat-half-left::after {
	content: "";
	position: absolute;
	display: block;
	height: 90%;
	width: 2px;
	background-color: #b0b0b0;
	top: 5%;
	right: -1px;
}

.cat-headline-img {
	max-width: 100%;
	height: auto;
	max-height: 60px;
}

.cat-headline {
	font-size: 35px;
}

/* 8,14 = (100/86) * (2*7) */
/*
.chess-background { z-index: -10; top: 0; position: absolute; background-color: #d9d9d9; width: 100vw; height: 100%; margin-left: -8.14%; }
*/
/* ------------------------------------ */
/* ## FOOTER ## */

.footer {
}

.footer img {
    max-width: 100%;
    height: auto;
    width: 400px;
}

/* .footer .paypal-donations input { background-color: #000000 !important; } */

.footer-sidebar {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	/* align-items: flex-start; */
}

.footer-sidebar > * {
	flex-basis: calc(25% - 40px);
	flex-grow: 1;
	margin-left: 20px;
	margin-right: 20px;
	min-width: 220px;
	flex-shrink: 1;
	padding: 20px !important;
}

/* .horizontal-spacing { margin-left: -20px; margin-right: -20px; }

.horizontal-spacing > * { padding-left: 20px; padding-right: 20px; }
 */
