/* Basis */

/* Schriften */
/* pt-sans-narrow-regular - latin */
@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-sans-narrow-v12-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-narrow-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-narrow-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-narrow-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-narrow-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-narrow-v12-latin-regular.svg#PTSansNarrow') format('svg'); /* Legacy iOS */
}

/* pt-sans-narrow-700 - latin */
@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-sans-narrow-v12-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/pt-sans-narrow-v12-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-narrow-v12-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-narrow-v12-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-narrow-v12-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-narrow-v12-latin-700.svg#PTSansNarrow') format('svg'); /* Legacy iOS */
}

/* Farben */
:root {
	--bs-white: #ffffff;
    --kibuga-green-light: #94b946;
	--kibuga-green-lightest: #ecf4b8;
	--kibuga-links: #213333;
	--kibuga-links-hover: #f29561;
	--kibuga-grey-medium: #666666;
	--kibuga-grey-lightest: #eeeeee;
	--kibuga-orange-medium: #f8985d;
	--kibuga-orange-lightest: #ffe293;
	--kibuga-red-dark: #9a3b79;	
	--kibuga-blue-light: #d9efff;
	--kibuga-blue-lightest: #defcff;
	--kibuga-blue-dark: #153847;
	--bs-font-sans-serif: "PT Sans Narrow", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-body-font-family: var(--bs-font-sans-serif);
	--bs-body-font-size: 16px;
	--bs-body-font-weight: 400;
	--bs-body-line-height: 1.625;
	--bs-body-color: #212529;
}

/* Layout */

body { background-color: var(--kibuga-green-light); }

@media (max-width:300px) {
body { background-color: var(--bs-white); }
}

#wrapper {
	background-color: var(--bs-white);
    font-size: clamp(1rem, 0.5vw + 1rem, 1.5rem);
	padding-top: 2rem;
	margin-bottom: 4rem;
}

@media (min-width: 576px) {
.container-sm, .container { max-width: 96%; }
}
@media (min-width: 768px) {
.container-md, .container-sm, .container { max-width: 96%; }
}
@media (min-width: 992px) {
.container-lg, .container-md, .container-sm, .container { max-width: 96%; }
}
@media (min-width: 1200px) {
.container-xl, .container-lg, .container-md, .container-sm, .container { max-width: 1140px; }
}
@media (min-width: 1400px) {
.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { max-width: 1320px; }
}

/* Typografie */

.flexbox .ce_text {
    width: 100%;
}

@media (min-width:472px) {
.flexbox .ce_text {
    margin-right: 3%;
    width: 47%;
}
.flexbox .ce_text:last-of-type { margin-right: 0; }
}

@media (min-width:1000px) {
.ce_text, .ce_headline {
	max-width: 850px;
}

.flexbox .ce_text {
    margin-right: 3%;
    width: 31%;
}

.flexbox .ce_text:last-of-type { margin-right: 0; }
}

h1, h2, h3, h4, h5, h6 { margin-bottom: 1.5rem; }

.iso_confirm {
	background-color: var(--kibuga-green-lightest);
	font-weight: 700;
	padding: 5px 10px;
}

.ce_divider {
	margin-top: 2rem;
    margin-bottom: 2rem;
}

.ce_divider hr {
    border-top: 1px solid var(--kibuga-green-light);
    border-color: var(--kibuga-green-light);
    border-top-color: var(--kibuga-green-light);
}

/* Bilder */

/* Allgemeine Regeln für Bilder */

.image_container img {
	height: auto;
	margin: 0 auto;
	max-width: 100%;
    object-fit: cover;
}

/* News-Bilder */

.layout_latest .image_container {
    max-height: 200px;
    overflow-y: hidden;
}

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

/* Aufmacherbilder unter Header */

#header-image figure { margin-bottom: 2rem; }

@media (max-width:991px) {
#header-image .container {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	max-width: 100%;
	width: 100%;
}

#header-image .row {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

#header-image .row > * {
	padding-left: 0;
	padding-right: 0;
}
}

/* Galerien */

.ce_gallery ul { 
    display: flex;
    column-gap: 1.5%;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0;
}

.ce_gallery li {
    list-style-type: none;
    width: 23.87%;
}

/* Colorbox */

#cboxOverlay { background: rgba(255,255,255,0.99); }
#cboxCurrent {
    color: #222;
    position: absolute;
    top: -27px;
    font-size: 1.125rem;
}
#cboxTitle {
    color: #222;
    position: absolute;
    top: -27px;
    left: 0;
    font-size: 1.125rem;
}
#cboxLoadedContent { border: 1px solid #fff; }
/*#cboxPrevious { left: 1px; background: url(controls.png) no-repeat top right;}
#cboxNext { right: 1px; background: url(controls.png) no-repeat top right;}
#cboxClose { top: 1px; }*/

#cboxPrevious {
  position: absolute;
  top: 50%;
  left: 1px;
  margin-top: -32px;
  background: url(controls.png) no-repeat top left;
  width: 30px;
  height: 65px;
  text-indent: -9999px;
}

#cboxNext {
  position: absolute;
  top: 50%;
  right: 1px;
  margin-top: -32px;
  background: url(controls.png) no-repeat top right;
  width: 30px;
  height: 65px;
  text-indent: -9999px;
}

#cboxClose {
  position: absolute;
  top: 1px;
  right: 5px;
  display: block;
  background: url(controls.png) no-repeat top center;
  width: 38px;
  height: 19px;
  text-indent: -9999px;
}

/* Video */
.ce_youtube {
    text-align: center;
}
.video_container {
    position: relative;
	padding-bottom: 56%;
	padding-top: 60px;
	height: 0;
    margin-left: -2%;
	overflow: hidden;
}
.video_container iframe {
	position: absolute;
	top: 0;
	left: 2%;
    right: 2%;
	width: 96%;
	height: 96%;
}

/* Video Vorschaubild */
/*.opt-in-fallback {
    background-image: url("https://www.convergent-training.com/files/convergent-inhalt/Video-Startseite-Vorschaubild.jpg");
    background-size: contain;
    aspect-ratio: 16 / 9;
    color: #fff;
    position: relative;
}
.opt-in-fallback p:last-of-type {
    position: absolute;
    bottom: 0;
}
.opt-in-fallback a { color: #fff !important; }*/

/* Logoleiste im Footer */

@media (min-width:768px) {
.footer-logos-left {
    display: -webkit-box;
	    display: -ms-flexbox;
		    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
	-webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.footer-logos-right {
    display: -webkit-box;
	    display: -ms-flexbox;
		    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
	-webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

/* Events */

.mod_eventlist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* ACHTUNG: Folgende Styles nur zur Präsentation! Anders lösen (Template) */

.mod_eventlist h2:first-of-type, .mod_eventlist .header {
    display: none;
}
.event h2:first-of-type {display: block}

/* Ende Ausnahme */

.flex-container-on { display: none; }
}

@media (max-width:767px) {
.flex-container-off { display: none; }

.flex-container-on {
	display: block;
	margin-bottom: 2rem;
}

.footer-logos-left {
	margin-bottom: 2rem;
	text-align: center;
}

.footer-logos-left .image_container img  { height: 75px; }

.footer-logos-right { text-align: center }

.flex-container { display: inline-block; }
}

@media (max-width:767px) {
.footer-logos-left .image_container img  { height: auto; }
}

.footer-logos-right figure {
	float: left;
	margin-right: 1rem;
}

.footer-logos-right img { height: 75px; }

@media (max-width:420px) {
.footer-logos-right img { height: 60px; }
}

@media (max-width:355px) {
.footer-logos-right figure {
	float: none;
	margin-right: 0;
}

.footer-logos-right img {
	height: auto;
	margin-bottom: 2rem;
	max-height: none;
	width: 100%;
	max-width: 200px
}
}

/* Header */

#header { margin-bottom: 2rem; }

#header .container-fluid {
	max-width: 1450px;
	padding-left: 2rem;
	padding-right: 2rem;
}

@media (max-width: 767px) {
header .logo-container { text-align: center; }
}

img.logo {max-width: 250px;}

@media (max-width: 575px) {
header .logo-container { text-align: left; }

img.logo {max-width: 175px;}
}

/* Formulare */

.widget { margin-bottom: 2rem; }

.widget label {
	display: block;
	font-style: italic;
    font-size: 1rem;
}

input, select, textarea { width: 100%; }

input.show-pwd {
    margin-right: 0.5rem;
    width: auto;
}

button, input.submit {
    color: #ffffff;
    background-color: var(--kibuga-blue-dark);
    font-size: 1.25rem;
    padding: 5px 25px;
    border-color: var(--kibuga-blue-dark);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	border-style: outset;
    border-width: 1px;
	text-transform: uppercase;
	width: auto;
}

button:hover, input.submit:hover {
    background-color: var(--kibuga-orange-medium);
    font-size: 1.25rem;
    padding: 5px 25px;
    border-color: var(--kibuga-orange-medium);
}

/* Footer */

#footer .container-fluid { max-width: 1450px; }

.footer-top {
	border-top: 1px var(--kibuga-green-light) solid;
	margin-top: 3rem;
	margin-bottom: 3rem;
	padding-top: 4rem;
}

.footer-bar {
	background-color: var(--kibuga-green-light);
	padding-top: 2rem;
	padding-bottom: 4rem;
}

/* Links */

a, a:link { color: var(--kibuga-links); }
a:visited { color: var(--kibuga-grey-medium); }
a:hover { color: var(--kibuga-links-hover); }
a:active { color: var(--kibuga-links); }



/* Navigationen */

.mod_navigation ul, .mod_customnav ul {
	list-style-image: none;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.mod_navigation ul a, .mod_customnav ul a {
	color: var(--kibuga-links);
	display: block;
}

.mod_navigation a, .mod_navigation a:visited, .mod_navigation ul a, .mod_navigation ul a:visited, .mod_customnav a, .mod_customnav a:visited, .mod_customnav ul a, .mod_customnav ul a:visited {
	color: var(--kibuga-links);
	text-decoration: none;
}

.mod_navigation a:hover, .mod_navigation a:active, .mod_navigation ul a:hover, .mod_navigation ul a:active, .mod_customnav a:hover, .mod_customnav a:active, .mod_customnav ul a:hover, .mod_customnav ul a:active { 
	color: var(--kibuga-links-hover);
	text-decoration: none;
}

/* Navigationen Hauptnavigation im Header */

.main-nav-container { position: relative; }

.main-nav {
	bottom: 50%;
	right: 0;
	position: absolute;
}

.login-nav {
    position: absolute;
    right: 0;
    bottom: 20%;
}

.main-nav ul, .login-nav ul {
	margin: 0;
	padding: 0;
	width: auto;
}

.main-nav li, .login-nav li {
	float: left;
	padding: 0;
	margin: 0;
}

.mod_navigation ul span.active, .mod_navigation .trail, .mod_customnav ul span.active, .mod_customnav .trail{ font-weight: 700; }

.main-nav li a, .main-nav li strong,
.login-nav li a, .login-nav li strong{
	display: inline-block;
	float: right;
	padding: 0;
}

.main-nav li a.last, .main-nav li strong.last,
.login-nav li a.last, .login-nav li strong.last{ padding-right: 0; }

.main-nav li:before, .login-nav li:before {
	content: " | ";
	padding: 0 1rem;
}

.main-nav li.trail:before, .login-nav li.trail:before { font-weight: 400; }

.main-nav li.first:before, .login-nav li.first:before { content: " "; }

.main-nav li.active a, .main-nav li.active span,
.login-nav li.active a, .login-nav li.active span {
	font-family: var(--bs-font-sans-serif);
	font-weight: 700;
}

/* Einstellungen für mobile Navigation inkl. toggle */

.main-nav, .subnav { display: block; }

@media (max-width: 767px) {

.main-nav, .login-nav, .subnav { display: none; }
.mod_mobile_menu { display: block; }

.mobile_menu .mod_navigation ul span.active, .mobile_menu.mod_navigation .trail, .mobile_menu .mod_customnav ul span.active, .mobile_menu .mod_customnav .trail { font-weight: 400; }

.mod_mobile_menu {
	position: absolute;
	top: 30px;
	right: var(--bs-gutter-x, 0.75rem);
	z-index: 10000;
}

.mobile_menu {
	cursor: pointer;
	display: block;
	z-index: 5000;
}

.mobile_menu .inner {
	height: 100%;
	overflow-y: auto;
}

.mobile_menu_trigger { cursor: pointer; }

.mobile_menu_trigger .nav-icon {
	cursor: pointer;
	height: 33px;
	position: relative;
	width: 34px;
}

.mobile_menu_trigger .nav-icon span {
	background: var(--kibuga-blue-dark);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	height: 4px;
	left: 0;
	opacity: 1;
	position: absolute;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
	width: 34px;
}

.mobile_menu_trigger .nav-icon span:nth-child(1) {
	background: var(--kibuga-blue-dark);
	top: 0px;
}

.mobile_menu_trigger .nav-icon span:nth-child(2) {
	background: var(--kibuga-blue-dark);
	top: 8px;
}

.mobile_menu_trigger .nav-icon span:nth-child(3) {
	background: var(--kibuga-blue-dark);
	top: 16px;
}

.mobile_menu_trigger.active .nav-icon span:nth-child(1) {
	background: var(--kibuga-blue-dark);
	top: 10px;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.mobile_menu_trigger.active .nav-icon span:nth-child(2) { display: none; }

.mobile_menu_trigger.active .nav-icon span:nth-child(3) {
	background: var(--kibuga-blue-dark);
	top: 10px;
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
}

.mobile_menu_overlay {
	background: var(--bs-white);
    color: var(--kibuga-blue-dark) !important;
}

.mobile_menu .inner {
    background-color: var(--bs-white);
    height: 100%;
    padding-top: 32px;
    padding-top: 2rem;
    overflow-y: auto;
}

.mobile_menu nav {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.5;
}

.mobile_menu ul { text-align: left; }

.mobile_menu .level_2 li { border-bottom: 0; }

.mobile_menu .level_2 li { border-bottom: 0; }

.mobile_menu li {
	border-bottom: 1px dotted var(--kibuga-blue-dark);
	float: none;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.mobile_menu .mobile-nav-start li.first { border-top: 1px dotted var(--kibuga-blue-dark); }

.mobile_menu a, .mobile_menu a:visited, .mobile_menu a:hover, .mobile_menu a:active {
	display: block;
	text-decoration: none;
}

.mobile_menu li.active a, .mobile_menu li.active span { display: block; }

.mobile_menu li.active span { font-weight: 400; }

.mobile_menu li strong {
	background: var(--kibuga-blue-light);
	color: var(--kibuga-blue-dark);
	font-family: var(--bs-font-sans-serif);
	font-weight: 700;
	padding-right: 1rem;
}

.mobile_menu a, .mobile_menu a:link, .mobile_menu a:visited { color: var(--kibuga-blue-dark); }

.mobile_menu a:hover { color: var(--kibuga-orange-medium); }

.mobile_menu a:active, .mobile_menu a:focus { color: var(--kibuga-red-dark); }

/* Einrückungen mobile menu */

.mobile_menu .level_1 a, .mobile_menu .level_1 strong { padding-left: 30px; }

.mobile_menu .level_2 a, .mobile_menu .level_2 strong { padding-left: 50px; }

.mobile_menu .level_3 a, .mobile_menu .level_3 strong { padding-left: 40px; }

.mobile_menu .level_4 a, .mobile_menu .level_4 strong { padding-left: 40px; }
}

/* Navigationen: Social Media Navigation */

.socialmediaicons {
	margin-top:1rem;
	margin-bottom: 1rem;
	text-align: center;
}

.socialmediaicons img { max-width: 40px; }

/* Navigation in Footer-Bar */

.footer-bar a, .footer-bar a:link, .footer-bar a:visited, .footer-bar a:hover, .footer-bar a:active { color: var(--bs-white) !important; }

.footer-bar a:hover { text-decoration: underline !important; }

.footer-bar li {
	float: right;
	padding: 0;
	margin: 0;
}

.footer-bar li a, .footer-bar li span {
	display: inline-block;
	padding: 0;
}

.footer-bar li a.first, .footer-bar li span.first { padding-left: 0; }

.footer-bar li:after {
	content: " | ";
	color: var(--bs-white);
	padding: 0 1rem;
}

.footer-bar li.trail:after { font-weight: 400; }

.footer-bar li.first:after { content: " "; }

.footer-bar li.active a, .footer-bar li.active strong {
	color: var(--bs-white);
	font-weight: 700;
}

/* News */

/* News-Boxen */

.card { margin-bottom: 1rem; }

.card figure.image_container img, .card img { width: 100% !important; }

.card h1, .card h2, .card h3, .card h4, .card h5, .card h6, p.info, p.more, .card .ce_text {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.card h1, .card h2, .card h3, .card h4, .card h5, .card h6 { font-size: 1.5rem; }

p.info { font-size: 0.875rem; }

.mod_newsarchive {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-left: 0;
	margin-right: 0;
}

.mod_newsarchive > * {
	padding-right: 0;
	padding-left: 0;
}

@media (min-width: 576px) and (max-width: 767px) {
.card { margin-bottom: 2rem; }
.mod_newsarchive .layout_latest {
	margin-right: 4%;
	width: 48%;
}
.mod_newsarchive .layout_latest:nth-child(even) { margin-right: 0%; }
}

@media (min-width: 768px) {
.mod_newsarchive .layout_latest {
	margin-right: 2%;
	width: 32%;
}

.mod_newsarchive .layout_latest:nth-child(3),
.mod_newsarchive .layout_latest:nth-child(6),
.mod_newsarchive .layout_latest:nth-child(9),
.mod_newsarchive .layout_latest:nth-child(12),
.mod_newsarchive .layout_latest:nth-child(15),
.mod_newsarchive .layout_latest:nth-child(18) { margin-right: 0%; }
}

.mod_newsarchive p::after {
    content: "…";
}

.mod_newsarchive p.more::after {
    content: "";
}

/* Hilfsklassen */

.block:before,
.block:after {
	content: "";
	display: table;
}

.block:after { clear: both; }

.invisible { display: none; }

.invisible {
	border: 0 none;
	clip: rect(0px, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
