/*
blau: 0061a1
rot: d9132a
*/
@font-face {
    font-family: 'Titillium';
    src: url('fonts/Titillium-LightUpright.otf');
    font-style: normal;
    font-weight: normal;
}
@font-face {
    font-family: 'Titillium';
    src: url('fonts/Titillium-SemiboldUpright.otf');
    font-style: normal;
    font-weight: bold;
}
@font-face {
    font-family: 'Bitter';
    src: url('fonts/bitter-bold.ttf');
    font-style: normal;
    font-weight: bold;
}
@font-face {
    font-family: 'Flood';
    src: url('fonts/flood-std-regular.otf');
    font-style: normal;
    font-weight: normal;
}


:root {
	--red: #d9132a;
	--blue: #0061a1;
	--green: #6A9202;
	--darkgrey: #39363a;
	--mediumgrey: #aaa;
	--lightgrey: #fafafa;
	--highlight: #d9132a;
	--highlight2: white;
	--bgpaper: #fff7ec;
}

/* Box-Sizing immer inkl. padding */
* {
	box-sizing:border-box;
}

html { 
	margin:0;
	padding:0;
	/*
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	*/
}
body {
	font-family:"Titillium",sans-serif;
	font-weight:normal;
	font-size:16px;
	line-height:1.5;
	margin:0;
	padding:175px 0 0 0;
	color:black;
}

figure {
	margin:0;
	padding:0;
	display:inline-block;
}
a {
	color: var(--red);
}

/*
a {	text-decoration:none;color:inherit;}
a:hover {	color:#000; }
a img { 	border:0;	outline:0;}
p {	margin:0 0 1em 0; }
*/
figure {	margin:0;	padding:0;	line-height:1; }
figcaption {
	font-weight:300;
	font-size:13px;
	line-height:1.3;
	padding:5px 0px;
	margin:0;
	color: var(--darkgrey);
}
p {
	margin-bottom:0.5em;
}
ul {
	list-style:square outside;
	padding-left:1em;
}
h1, h2, h3, h4, h5, h6 {
	font-family:Bitter,serif;
	font-weight:bold;
	margin-bottom:0.3em;
	letter-spacing:0;
	color:black;
	text-transform:uppercase;
}
section {
	margin:0;
	padding:0;
}

input[type="submit"] {
	background-color:var(--green);
	border-color:var(--green);
}

.row, .columns {
	display:flex;
}
.col {
	order:2;
}
.col + .col { margin-left:2rem; order:3 }

.columns .col {
	flex-basis:100%;
}

.text p:last-child, .text p:only-child {
	margin-bottom:0;
}
.redform { padding-top:50px;position:relative }
.hint {
	font-family:Flood,sans-serif;
	font-size:20px;
	position:absolute;
	left:0;
	top:90px;
	text-align:right;
	line-height:1.1;
	background:transparent url(hint-arrow.png) no-repeat 20px top;
	transform:translateX(0);
}
.hint.hint-green {
	color:var(--green);
	width:180px;
	height:130px;
	transform:translateX(-220px);
	padding-top:16px;
}

.dropzone {
	position:relative;
}
.dropzone .preview {
	position:absolute;
	left:5px;
	top:4px;
	width:calc(100% - 10px);
	height:calc(100% - 8px);
	object-fit:contain;
	z-index:100;
}
.dropzone .inf {
	color:#bbb;
	position:absolute;
	left:50%;
	top:50%;
	transform:translateX(-50%) translateY(40px);
}
.dropzone-large {
	width:340px;
	height:255px;
	background:transparent url(dropzone.png) no-repeat;
}
.dropzone.active, .dropzone-large.active {
	box-shadow:inset 0px 0px 12px rgba(0,0,0,0.2);
}
.redform .downloads {
	color:#888;
	font-size:13px;
	position:relative;
	padding-left:20px;
}
.redform .downloads .fa-trash {
	position:absolute;
	left:0px;
	top:5px;
	font-size:16px;
	color:var(--green);
	text-shadow:0px 0px 4px white;
	z-index:500;
	display:none;
}

.redform .downloads ol {
	padding-top:5px;
	list-style:decimal inside;
}
.redform .downloads li {
	margin-bottom:0;
	display:inline list-item;
	margin-right:10px;
}
.redform progress {
	position:absolute;
	left:5%;
	top:53%;
	width:200px;
	z-index:900;
}


.redform .row .col + .col {
	margin-left:20px;
}
.redform h1 { color:white }
.redfield-inp {
}
.redfield-txt {
	width:700px;
	height:200px;
	background-color:white;
	padding:7px 10px;
	font-size:20px;
	font-family:Titillium,sans;
	border:none;
	border-radius:0;
}
input.redfield-inp {
	font-family:Bitter,serif;
	color:black;
	font-size:46px;
	max-width:1060px;
	background-color:white;
	border:none;
	padding:10px;
	border-radius:0;
	height:50px;
	text-transform:uppercase;
	margin-bottom:20px;
}
.redfield-inp::placeholder {
	color:#ddd;
}
textarea.redfield-txt:focus::placeholder,
input.redfield-inp:focus::placeholder {
	opacity:0;
}
.redcats {
	display:flex;
	justify-content:space-between;
	margin-bottom:20px;
}
.redcat {
	display:inline-block;
	text-transform:uppercase;
	text-align:center;
	line-height:1;
	width:160px;
	height:35px;
	padding-top:10px;
	font-size:20px;
	background-color:white;
	color:var(--green);
	cursor:default;
	user-select:none;
}
.redcats .redcat:first-child { margin-left:0 }

.redcat:hover, .redcat.active {
	background-color:var(--green);
	color:white;
}
.redbutton {
	display:inline-block;
	background-color:var(--green);
	color:white;
	text-align:left;
	font-family:Titillium,sans;
	font-size:20px;
	font-weight:300;
	text-transform:none;
	line-height:1;
	width:340px;
	height:35px;
	padding-left:10px;
	padding-top:10px;
	position:relative;
	cursor:pointer;
	user-select:none;
}
.redbutton::after {
	content:"\232a";
	font-size:22px;
	position:absolute;
	top:8px;
	right:10px;
}
.redfilter { background-color:white; }
.redfilter .container {
	display:flex;
	justify-content:space-around;
}
.redcat.redcatfilter {
	width:auto;
	height:45px;
	padding:15px 0 0 0;
	color:black;
}
.redcat.redcatfilter:hover,
.redcat.redcatfilter.active {
	background-color:white;
	color:black;
	border-bottom:4px solid var(--green);
	font-weight:700;
}

/* chat */
.chat-header .redform {
	padding-top:0;
}

.chatfield-txt {
	width:700px;
	min-height:500px;
	background-color:white;
	padding:7px 10px;
	font-size:18px;
	font-family:Titillium,sans;
	border:2px dashed black;
	border-radius:0;
	line-height:1.2;
	overflow:auto;
}
.chatfield-txt ol,
.chatfield-text ul {
	list-style-position:outside;
	padding-left:3rem;
}
.chatfield-txt  li {
	margin:0;
}
.chatfield-txt:focus {
	outline:none;
}
input.chatfield-inp {
	font-family:Titillium,sans;
	color:black;
	font-size:24px;
	max-width:1060px;
	background-color:white;
	border:2px dashed black;
	padding:15px;
	border-radius:0;
	margin-bottom:20px;
}
.chatfield-inp::placeholder {
	color:#ddd;
}
textarea.chatfield-txt:focus::placeholder,
input.chatfield-inp:focus::placeholder {
	opacity:0;
}

.chat-entry .post-author.edit.line {
	margin-bottom:1rem;
}
.chat-entry ul, .chat-entry ol {
	list-style-position:outside;
	margin:0 0 1rem 0;
	padding-left:2rem;
}
.chat-entry li {
	margin:0;
}








.skewed {
	display:inline-block;
	position:relative;
	z-index:1;
}
.skewed::before {
	content:"";
	position:absolute;
	display:block;
	left:0;
	top:-3px;
	width:100%;
	height:43px;
	transform:skewX(-20deg);
	
	background-color:white;
	z-index:-1;
/*
	clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
*/
}
.skewed span {
	z-index:2;
	padding:0px 1.5rem;
	font-size:50px;
	line-height:1;
}

.bgwhite {
	color:var(--darkgrey);
}
.text-right {
	text-align:right;
}
.deco-font1 {
	font-family:Bitter,serif;
}
.deco-font2 {
	font-family:Flood,serif;
}
.upper {
	text-transform:uppercase;
}


.deco-header-holder {
	position:relative;
	height:82px;
	background:transparent url(paper-edge.png);
}
.deco-header {
	position:absolute;
	left:calc(50% - 530px);
	top:-60px;
	width:1060px;
	height:181px;
	z-index:5000;
	background:transparent url(title-backdrop.png) no-repeat;
	display:flex;
}
.deco-header h2 {
	margin:auto;
	font-size:50px;
	color:white;
	font-family:Flood,serif;
	font-weight:normal;
	line-height:1;
}



.news-header {
	min-height:400px;
	background:var(--bgpaper) url(bg-noise.png);
	padding-bottom:90px;
}
.news-content {
	padding-top:90px;
	font-size:20px;
}
.news-content h2 {
	font-size:50px;
	letter-spacing:1px;
}



.page-header {
	padding:0;
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:6000;
	background:linear-gradient(to right,var(--darkgrey) 50%, black 50%, black);
}
.page-header > .container {
	height:130px;
	overflow:hidden;
	background:linear-gradient(110deg,var(--darkgrey) 239px, black 241px, black);
}
.page-header .logo {
	line-height:1;
	white-space:nowrap;
	padding-top:20px;
}
.page-header .logo img {
	display:inline-block;
	margin-right:1em;
	width:auto;
	height:80px;
	max-width:none;
}

.page-header .logo span {
	font-size:16px;
	text-transform:uppercase;
	letter-spacing:1px;
	text-align:left;
}
.main_menu {
	margin-top:auto;
	text-align:right;
}
.main-menu {
	font-size:16px;
}
.main-menu .item {
	display:inline-block;
	text-transform:uppercase;
	margin:0 0 0 1em;
	white-space:nowrap;
}
.main-menu .item.active,
.main-menu .item:hover {
	color:var(--highlight2);
}
.row .column.right_menus {
	display:flex;
	flex-direction:column;
}
.menu_top {
	padding-top:0.5em;
}

.sub-menu {
	padding:0 0;
	border:1px solid #eee;
}
.sub-menu ul {
	list-style-type:none;
	margin:0;
	padding:0;
}
.sub-menu li {
	margin:0;
	padding:0;
	line-height:0;
}
.sub-menu a {
	display:block;
	padding:10px 1em;
	border-top:1px solid #ddd;
	line-height:1;
	margin:0;
}
.sub-menu li:hover a, .sub-menu li.active a {
	background-color:var(--lightgrey);
}
.sub-menu li:first-child a {
	border-top:0;
}
.column-category {
	position:relative;
	flex-shrink:0;
}
.category-marker {
	width:218px;
	color:white;
	position:absolute;
	right:119px;
	top:13px;
}
.category-marker .marker-top {
	font-size:25px;
	text-transform:uppercase;
	text-align:center;
	line-height:1.1;
}
.category-marker .marker-tag {
	text-align:center;
}









.login-form {
	border:1px solid #ddd;
	padding:2em;
	border-radius:0.3em;
	display:block;
	margin:4em auto 0 auto;
	max-width:50%;
}
.login-form .message {
	margin-bottom:1em;
	color:var(--red);
}
.form-control,
.rex-yform .form-control,
.rex-yform .inline-element,
.rex-yform .inline-select {
	background-color:#fafafb;
}
.form-control:focus {
	background-color:transparent;
}

/* FORMS */
.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
    margin-left:0.5rem;
    margin-right:0.5rem;
}
.form-inline .form-control:first-child {
	margin-left:0;
}
fieldset.formfieldset {
	display:block;
	padding:1rem;
	border:1px solid #ddd;
	border-radius:0.5rem;
}
.formfieldset legend {
	padding:1rem;
}
.form-group-horizontal .form-group {
	display:inline-block;
	max-width:45%;
	margin-left:1rem;
}
.form-group-horizontal .form-group:first-child {
	margin-left:0;
}
.form-group-horizontal label,
.form-group-horizontal select {
	display:inline-block;
}



/* Content */
.content {
	overflow:hidden;
}
.back {
	cursor:pointer;
}

.teaser-entry {
	margin-bottom:2em;
}
.teaser-entry .byline {
	color:#666;
	display:inline-block;
	line-height:1;
	margin-bottom:0.5em;
	border-bottom:1px solid #ddd;
	letter-spacing:0.01em;
}
.teaser-entry .text.wImage {
}
.teaser-entry .pict {
	display:block;
	width:25%;
	float:right;
	margin-left:1em;
}
.teaser-entry .pict img {
	height:auto;
}
.teaser-entry .more {
	display:block;
}

main.container { }
.icon {
	color:#505c66;
}
.download {
	margin-top:2em;
	margin-bottom:1em;
	padding-bottom:1em;
	border-bottom:1px solid #ddd;
	max-width:80%;
}

.download .title {
	display:block;
	font-weight:500;
	margin-bottom:0.5em;
}
.download .content {
	display:flex;
	flex:1 1 auto;
}
.download .icon {
	width:60px;
	flex-shrink:0;
}
.download .text {
	width:100%;
	padding-right:1em;
}
.download .text p {
	margin-bottom:0;
}
.icon::after {
	font-family:FontAwesome;
	content:"\f016";
	font-size:30px;
}
.icon-pdf::after { content: "\f1c1"; }
.icon-doc::after, .icon-docx::after { content: "\f1c2"; }
.icon-text::after { content: "\f0f6"; }
.icon-ppt::after, .icon-pptx::after { content: "\f1c4"; }
.icon-zip::after { content: "\f1c6"; }

.dl_section {
	font-size:13px;
	text-align:center;
}
.text_image {
	margin-bottom:2.5rem;
}


.article-list h3 {
	margin-left:-0em;
}
.article-list .article {
	margin-bottom:2em;
}
.course-list table {
	width:100%;
}
.course-list td {
	vertical-align:top;
	white-space:nowrap;
}
.course-list td:first-child {
	padding-left:5px;
}
.course-list td:last-child {
	padding-right:5px;
}
.course-list td.title {
	white-space:normal;
}
.course-list tr:nth-child(even) {
	background-color:var(--lightgrey);
}

/* Text/Bild */
.picture {
	position:relative;
}
.text_pict .col .picture img {
	width:100%;
	height:auto;
	max-width:100%;
}
.text_image .gallery {
	display:flex;
	margin-left:-0.5rem;
	margin-right:-0.5rem;
	flex-wrap:wrap;
}
.text_image .gallery img {
	max-width:23%;
	height:auto;
	margin:1%;
}
.text_image .downloads {
	display:flex;
	flex-wrap:wrap;
	margin:1rem 0 1rem 0;
}
.post-cat {
	font-family:Flood,sans-serif;
	line-height:1;
	display:inline-block;
	padding:7px 10px 3px 10px;
	color:white;
	background-color:black;
	margin:0 0 1rem 0;
}
.post-author {
	margin:0.5rem 0;
	font-size:16px;
	font-weight:600;
	color:#333;
}
.post-date {
	margin:1rem 0 1rem 0;
	font-size:16px;
	font-weight:600;
	color:#333;
}

.post-dl {
	color:inherit;
	display:inline-block;
	width:64px;
	font-size:14px;
	line-height:1;
	padding-top:64px;
	margin:0.5rem;
	background:transparent url(icn_download_generic.svg) no-repeat;
	background-size:100% auto;
}
.post-dl-title {
	display:block;
	word-break:break-all;
	color:#888;
	margin-top:0.5rem;
}
.post-dl.type_doc,
.post-dl.type_docx {
	background-image:url(icn_download_word.svg);
}
.post-dl.type_xls,
.post-dl.type_xlsx {
	background-image:url(icn_download_xls.svg);
}
.post-dl.type_pdf {
	background-image:url(icn_download_pdf.svg);
}

.post-comment {
	max-width:530px;
	border-left:5px solid var(--mediumgrey);
	padding-left:1rem;
	margin:1.5rem 0 1.5rem 0.5rem;
	font-size:0.9em;
}
.woImage .post-comment {
	max-width:90%;
}
.post-comment-author {
	color:var(--grey);
	font-size:0.9em;
	font-weight:600;
}
.reply-form textarea {
	max-width:530px;
	font-size:17px;
	height:10em;
}
.comments-form-toggle::before {
	content: "\232a";
	display:inline-block;
	margin-right:1rem;
}
.toggle {
	cursor:pointer;
}
.toggle-pane {
	overflow:hidden;
}

/* DIALOG */
.in_dialog__backdrop {
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background-color:rgba(0,0,0,0.2);
	z-index:99999;
	display:flex;
	display:none;
}
.in_dialog__window {
	min-width:320px;
	max-width:50%;
	min-height:200px;
	max-height:400px;
	margin:15% auto auto auto;
	background-color:#fff;
	position:relative;
	border-radius:12px;
	box-shadow:0px 0px 16px rgba(0,0,0,0.6);
}
.in_dialog__content {
	padding:35px 25px 12px 25px;
}
.in_dialog__controls {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:50px;
	border-top:1px solid #eee;
	display:flex;
	justify-content:center;
	align-items:flex-end;
}
.in_dialog__ok {
  font-size: 1.2rem;
  height: 2.8rem;
  line-height: 2.8rem;
  padding: 0 1.5rem;
}
.in_dialog__close {
	position:absolute;
	right:12px;
	top:12px;
	color:#888;
}

/* BUTTONS */
.button-small {
	font-weight:normal;
}

.fn {
	cursor:pointer;
}
.editor-panel-holder.overlay {
	width:auto;
	height:auto;
	position:absolute;
	right:5px;
	top:5px;
}
.fn-overlay {
	display:flex;
	width:40px;
	height:40px;
	line-height:0;
	text-align:center;
	background-color:#fff;
	border:1px solid #555;
	border-radius:20px;
}
.fn-overlay i {
	display:block;
	margin:auto;
}

/* EDITOR */
.dyn {
	position:relative;
}
.editor-upload {
	min-width:100px;
}
.editor-panel-holder progress {
	width:115px;
	height:8px;
	display:none;
}

.editpanel {
	font-size:11px;
	position:absolute;
	right:40px;
	top:10px;
	z-index:999;
	-webkit-user-select:none;
	-ms-user-select:none;
	-moz-user-select:none;
	user-select:none;
	color:white;
}
.editpanel i {
	font-size:16px;
	display:inline-block;
	margin-right:5px;
}
.editor-panel-holder {
	text-align:left;
	color:#888;
	display:none;
}
.editor-buttons-panel {
	margin:0.5em 0;
	padding:0.5em 0;
	border:1px solid #ddd;
	display:inline-block;
	line-height:0;
}
.editor-buttons-panel span {
	display:inline-block;
	padding:0 0.5em;
	border-left:1px solid #ddd;
	cursor:pointer;
}
.editor-buttons-panel span:first-child {
	border-left:none;
}
.editor-buttons-panel span:hover {
	color:var(--highlight);
}
.editor-buttons-panel span.drop {
	font-size:13px;
	line-height:1.2;
	text-align:center;
	padding:10px 0;
}
.drop i {
	margin-right:5px;
}
.drop.active {
	background-color:#dfd;
}
/* pict drop */
.editor-panel-holder.editor-pict-upload .editor-buttons-panel {
	display:inline-block;
	padding:0;
	min-width:150px;
}
.editor-panel-holder.editor-pict-upload span.drop {
	display:block;
	width:100%;
	padding:10px 5px 8px 5px;
}
.editor-panel-holder.editor-pict-upload progress {
	width:100%;
}


.editor-create {
	margin:2em 0;
	padding-top:2em;
	border-top:1px dotted #ddd;
	font-size:13px;
	line-height:1;
	vertical-align:bottom;
}
.editor-create select {
	width:auto;
	display:inline-block;
	margin-right:1em;
}


.line.editing {
	display:inline-block;
	min-width:16px;
	min-height:1.5em;
}
.edit.text {
	margin-top:1px;
	margin-bottom:1px;
}
.edit.line {
	margin-top:1px;
	margin-bottom:1px;
	min-height:1.5em;
	min-width:16px;
}
span.edit.line {
	display:inline-block;
}
.labeled-line {
	white-space:nowrap;
}
.edit.text.trumbowyg-editor {
	margin:0;
	padding:0 20px;
}
.edit.title {
	min-width:8px;
	min-height:1em;
}
.editing {
	outline:1px dashed #999;
	min-width:8px;
	min-height:1em;
}
a.editing {
	min-height:26px;
}
.xeditorActive .edit:hover {
	background-color:rgba(80,92,102,0.1);
}
.editorActive .edit.editing:hover {
	background-color:inherit;
	outline:1px dashed #999;
}
.editorActive h2.edit {
	min-height:1.2em;
}
.editorActive .title.edit {
	min-height:1.2em;
}
.editorActive .title.edit:hover,
.editorActive h2.edit:hover {
	border-bottom:1px dotted #ddd;
}

/* Content */
main .text_image:nth-child(even) .columns .col:first-child {
	order:3;
	margin-left:2rem;
}
main .text_image:nth-child(even) .columns .col:nth-child(2) {
	order:-1;
	margin-left:0;
}
.text_pict.woImage .col:first-child {
	flex-basis:0;
}
.text_pict.woImage .col:nth-child(2) {
	margin-left:0;
}
.slbElement {
	position:relative;
	z-index:9000;
}