/*
 Theme Name:   Knowledge Hub Template Child
 Description:  Child Theme for Knowledge Hub Template
 Author:       Teejit
 Author URI:   httpw://www.teejit.de
 Template:     knowledge-hub-template
 Version:      1.0.1
 Text Domain:  wp_tj_knowhub_template-child
*/


@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    src: local('Source_Sans_3'), url('/wp-content/themes/knowledge-hub-template-child/src/fonts/Source_Sans_3/Source_Sans_3.ttf') format('TrueType');
}
body {
    font-family: 'Source Sans 3', 'Roboto', sans-serif;
	line-height: 1.5;
}

a {
    text-decoration: none;
    color: #006fb9 !important;
}
/* fall back if not defined in src/style.css */
.t-login-form-loading {
    background-color: rgba(255, 255, 255, 0.9);
    display: none !important;
    height: calc(100% - var(--teejit-padding-xl) * 2);
    position: absolute;
    width: calc(100% - var(--teejit-padding-xl) * 2);
    justify-content: center;
    align-items: center;
}

/* teejit loading logo  */
.lds-dual-ring,
.lds-dual-ring:after {
    box-sizing: border-box;
}
.lds-dual-ring {
    display: block !important;
    width: 50px;
    height: 50px;
}
.rotating-group {
    animation: teejit-loading 4s linear infinite;
    transform-origin: 218.4px 213.38px; /* Mittelpunkt des viewBox */
    fill: var(--primary-background);
}
.teejit-loading-2 {
    animation: teejit-loading-2 4s linear infinite;
}
.t-loading {
    fill: var(--primary-background);
}
@keyframes teejit-loading {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes teejit-loading-2 {
    from { transform: rotate(360deg); }
    to { transform: rotate(-360deg); }
}
@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.center-login-button {
    flex-direction: column;
}
.center-login-button p {
    text-align: center;
}
.center-login-button a {
    justify-content: center;
    display: flex;
}
.website-link-btn:has(img) {
    background: none;
    border: unset;
    height:60px;
    padding: 0px;
}
.website-link-btn:has(img):hover {
    background: none;
    border: unset;
}


.btn, .btn-secondary, .btn-primary {
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    margin: 2px;
    padding: .75rem 1.25rem;
    border-radius: 999px;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
}
.btn-primary {
    color: var(--primary-color);
    background: var(--primary-background);
    border:none;
}
.btn-secondary {
    color: var(--secondary-color);
    background: var(--secondary-background);
    border:none;
}

    .btn-secondary:focus,.btn-secondary:hover {
        color: #1d1f24;
        background: #fff;
        border-color: #9099b2
    }

    .btn-secondary:active {
        color: #000;
        border-color: #2b2e35
    }

    .btn-secondary[disabled],.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover {
        color: #9099b2;
        background: #fff;
        border-color: #dee0e8
    }

.t-btn-dir-info-subtitle {
    color:#333;
}
hr {
    margin:10px 0;
}
ul, ol {
    list-style-type: disc;
    padding-left: 20px;
}
details .t-content-element-wrap h1 { margin-bottom: 1.5rem;}
details .t-content-element-wrap h2 { margin-bottom: 1.5rem;}
details .t-content-element-wrap h3 { margin-bottom: 1.5rem;}
details .t-content-element-wrap h4 { margin-bottom: 1.5rem;}
details .t-content-element-wrap h5 { margin-bottom: 1.5rem;}
details .t-content-element-wrap h6 { margin-bottom: 1.5rem;}
/* root */
:root {
    --gap-small: 8px;
    --gap-medium: 12px;
    --gap-large: 24px;
    --sidebar-nav-width: 250px;
    --text-color: #333;
    --teejit--accent--gray: #e8e8e8;
    --primary-background: #629b14; /*#e10019;*/
    --primary-color:#fff;
    --primary-background-hover: #4f7e0e; /* if not set --primary-color */
    --primary-color-hover: #fff; /* if not set --primary-background */
    --primary-padding:8px 16px;
    --secondary-background:#fff;
    --secondary-color: #2b2e35;
    --secondary-background-hover:#fff; /* if not set --secondary-color */
    --secondary-color-hover: #fff; /* if not set --secondary-background */

    --accordion-background:#f4f4f4; /* if not set --secondary-background */
    --accordion-color: #333; /* if not set --secondary-color */
    --overlay-white-07:rgba(255, 255, 255, 0.7);
    --overlay-white-02:rgba(255, 255, 255, 0.2);
    --header-nav-bar-background: #ffffff;
    --teejit-success: #629b14;
    --teejit-error: #B80010;
    --process-background-done: #4f7e0e;
    --process-background-undone: #e1eac3;

    --tag-label-background: #f4f4f4;
    --tag-label-color: #333;
    --tag-label-border-color: #333;
    --tag-categroy-background: #fff;
    --tag-categroy-color: #629b14;
    --tag-categroy-border-color: #629b14;
    --tag-audience-background: #fff;
    --tag-audience-color: #333;
    --tag-audience-border-color: #f4f4f4;
    --teejit-tag-border-radius: 3px; /*könnte das gleich sein wie --teejit-btn-border-radius-small*/
    --teejit-box-shadow-1: 0px 1px 4px 0px rgba(0,0,0,0.2),
    0px 1px 4px 0px rgba(0,0,0,0.14),
    0px 2px 1px -1px rgba(0,0,0,0.12);
    --teejit-box-shadow-1-hover: 0px 0px 7px 0.8px rgba(0,0,0,0.6);
    --teejit-box-shadow-2:0 0 2px 0 rgba(0,0,0,.2); /*use for messages like login error*/
    --teejit-btn-inner-element-padding:16px 16px 0;
    --teejit-btn-inner-element-padding-bottom:16px;
    --teejit-padding-xxl:24px;
    --teejit-padding-xl:20px;
    --teejit-padding-l:16px;
    --teejit-padding-m:12px;
    --teejit-padding-s:8px;
    --teejit-padding-xs:4px;
    --font-size-p: 16px;
    --font-size-p-small:14px;
    --font-size-p-xsmall:12px;
    --font-size-h1: 24px;
    --font-weight-h1: ;
    --font-size-h2: 20px;
    --font-weight-h2: bold;
    --font-size-h3: 20px;
    --font-weight-h3: ;
    --teejit-btn-h1:16px;
    --teejit-btn-p:14px;
    --teejit-btn-span-medium: 12px;
    --teejit-btn-span-small: 10px;
    --teejit-btn-border-radius-medium: 3px;
    --teejit-btn-border-radius-small: 3px;
    --teejit-form-border: #e9e9e9;
    --teejit-input-border: #e9e9e9;
}
.btn-primary:hover, .t-btn-primary:hover {
    border: unset;
}

#t-kh-home-search {
    order:1;
}
.t-kh-home-flag-navigation {
    order: 2;
}
.t-kh-home-row {
    order: 3;
}
.no-underline {
    text-decoration: none;
}
.relative {
    position: relative;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.bg-grey-200, .bg-grey-300 {
    --bg-opacity: 1;
    background-color: #e8e8e8;
    background-color: rgba(232, 232, 232, var(--bg-opacity));
}
.c-icon {
    display: inline;
    vertical-align: unset;
}
.c-icon {
    position: relative;
    top: .125em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 1em;
    width: 1em;
    fill: currentColor;
}
.text-grey-700, .text-grey-800 {
    --text-opacity: 1;
    color: #555 !important;
    color: rgba(85, 85, 85, var(--text-opacity));
}
.c-button {
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    border: 1px solid #4f7e0e;
    margin: 2px;
    padding: .75rem 1.25rem;
    color: #fff;
    background-color: #629b14;
    border-radius: 999px;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
}
.c-button--ghost, .btn-secondary {
    border: 1px solid #cbcbcb;
    color: #006fb9;
    background-color: transparent;
}

.c-site-footer {
    background-color: #f4f4f4
}
.c-site-footer h5 {
    margin-bottom:0;
}
.invisible {
    visibility: hidden;
}

.c-site-footer .c-icon--facebook {
    color: #4269b5
}

.c-site-footer .c-icon--twitter {
    color: #27a4f5
}

.c-site-footer .c-icon--youtube {
    color: red
}

.c-site-footer ul {
    list-style-type: none;
    padding-left: 0
}

.c-site-footer__container {
    max-width: 71rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10rem
}

@media (min-width: 768px) {
    .c-site-footer__container {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        margin-bottom: 0
    }
}

.c-site-footer__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media (min-width: 1024px) {
    .c-site-footer__wrapper {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.c-site-footer__contact-section {
    padding-top: 2rem!important;
    padding-bottom: 0!important;
    padding-left: 1rem!important
}

@media (min-width: 640px) {
    .c-site-footer__contact-section {
        padding-left:2rem!important
    }
}

@media (min-width: 1024px) {
    .c-site-footer__contact-section {
        padding-bottom:2rem!important;
        padding-left: 0!important
    }
}

.c-site-footer__navigation-section {
    padding-top: 0!important;
    padding-bottom: 2rem!important;
    padding-left: 1rem!important
}

@media (min-width: 640px) {
    .c-site-footer__navigation-section {
        padding-left:2rem!important
    }
}

@media (min-width: 1024px) {
    .c-site-footer__navigation-section {
        padding-top:2rem!important;
        padding-left: 3rem!important
    }
}

.c-site-footer__social-section {
    padding-top: 2rem!important;
    padding-bottom: 3rem!important;
    padding-left: 1rem!important
}

@media (min-width: 640px) {
    .c-site-footer__social-section {
        padding-left:2rem!important
    }
}

@media (min-width: 1024px) {
    .c-site-footer__social-section {
        padding-left:3rem!important
    }
}

.c-site-footer__partnerlogo {
    height: 7rem;
    margin-bottom: 1rem
}

@media (min-width: 768px) {
    .c-site-footer__partnerlogo {
        margin-bottom:0;
        margin-right: 2rem
    }
}

.c-site-footer__footerlogo {
    height: 6rem;
    position: absolute;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    bottom: 2rem;
    right: 50%
}

@media (min-width: 768px) {
    .c-site-footer__footerlogo {
        right:1rem;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@media (min-width: 1024px) {
    .c-site-footer__footerlogo {
        right:0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

.c-footer-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.c-icon--footernavigation {
    color: #006fb9;
    top: 0
}

@media (min-width: 1024px) {
    .c-footer-navigation__icon {
        -webkit-transition:all .3s ease;
        transition: all .3s ease;
        position: relative
    }

    .c-footer-navigation__icon:before {
        position: absolute;
        -webkit-transform: translate(80%,-125%);
        transform: translate(80%,-125%);
        content: "";
        width: 0;
        height: 1px;
        background: #006fb9;
        top: 50%;
        right: 99%;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-footer-navigation__icon:hover:before {
        width: .75rem
    }

    .c-footer-navigation {
        -webkit-transform: translateX(-.5rem);
        transform: translateX(-.5rem)
    }

    .c-footer-navigation,.c-footer-navigation:hover {
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-footer-navigation:hover {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .c-footer-navigation:hover .c-footer-navigation__icon:before {
        width: .75rem
    }
}
.c-footer-navigation {
	align-items: center;
}
.c-footer-navigation__icon {
	height: 26px;
}
.c-footer-navigation__icon svg {
    fill: #006fb9 !important;
}
@media (min-width: 1024px) {
    .lg\:w-1\/3 {
        width: 33.333333%;
    }
}
.mt-4 {
    margin-top: 1rem;
}
.text-lg {
    font-size: 18px;
}
.mr-6 {
    margin-right: 1.5rem;
}
.mt-0 {
    margin-top: 0;
}
.c-site-footer .c-icon--facebook {
    color: #4269b5;
}
.w-8 {
    width: 2rem;
}
.h-8 {
    height: 2rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mt-4 {
    margin-top: 1rem;
}


/*** Teaser Slider ***/
.front-page-slider div, .front-page-slider {
    display:block !important;
}
.slider-container.front-page-slider, .video-slider.front-page-slider {
    width:80%;
    margin:10px auto;
	max-width: 1130px;
}
.slick-list {
    /*height: 300px;*/
}
.slick-prev, .slick-next {
    height:50px;
    width: 50px;
	z-index: 999;
}

@media all and (max-width: 750px) {}
	.slick-prev {
    left: -50px;
}
	.slick-next {
    right: -50px;
}

.slick-prev:before, .slick-next:before {
    color: var(--primary-background);
    font-size: 40px;
}
.gallery-item {
	width: 200px;	
}
.gallery-item img,.gallery-item video, .video-player {
    max-width: 100%;
    aspect-ratio: 9/16; /* Hochkant Format */
    object-fit: cover;
    max-height: 356px;
}
.gallery-item a {
	width: 100%;
}
.gallery-item .btn {
	text-align: center;
}
.video-player {
    cursor: pointer;
}
.slick-track {
	margin-left:0;
	margin-right:0
}
/* Zentrierung des Videos im Vollbildmodus */
video:fullscreen {
    width: 100vw;
    height: 100vh;
    object-fit: contain; /* Behält Seitenverhältnis bei */
    object-position: center;
}

/* Für Webkit-basierte Browser */
video:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    object-fit: contain;
    object-position: center;
}

/* Alternative: Flexbox für Zentrierung */
video:fullscreen {
    display: flex;
    align-items: center;
    justify-content: center;
}