/*
Theme name: Teachers Direct
Theme URI: https://letmaier.com
Author: Christoph Letmaier
Author URI: https://letmaier.com
Description: Custom Wordpress theme for teachersdirect.at
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: clear, simple, fast, responsive
*/


/* borders for all elements for testing */
/* * { border: 0.2px solid #888; } */
/* * { outline: 0px solid black; } */

/* * { border: 0.5px solid grey; } */


:root {
    /* general */
    --opacity-scrollbar: visible;

    /* colors */
    --blue-color: #005ba9;
    --global-padding: 6vw;

}

/* percentage values for buttons */

@property --value1 {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 50%;
}

@property --value2 {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 100%;
}

@property --value3 {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 100%;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

html, body {
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 0;
}

/* poppins-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Poppins'; font-style: normal; font-weight: 400;
    src: url('webfonts/poppins-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Poppins'; font-style: italic; font-weight: 400;
    src: url('webfonts/poppins-v21-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Poppins'; font-style: normal; font-weight: 700;
    src: url('webfonts/poppins-v21-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Poppins'; font-style: italic; font-weight: 700;
    src: url('webfonts/poppins-v21-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


p { margin-bottom: 1rem; }
a { display: inline-block; color: var(--blue-color); text-decoration: none; }
@media( hover: hover ) {
    a:hover {
        text-decoration: none;
    }
}

@font-face {
    font-family:Font Awesome\ 5 Solid;
    font-style:normal;
    font-weight:200;
    src:url(webfonts/fa-light-300.eot);
    src:url(webfonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(webfonts/fa-light-300.woff2) format("woff2"),url(webfonts/fa-light-300.woff) format("woff"),url(webfonts/fa-light-300.ttf) format("truetype"),url(webfonts/fa-light-300.svg#fontawesome) format("svg");
}

body {
    position: relative;
    left: 0;
    /* background: url(images/background-image.jpg) no-repeat; */
    background-size: contain;
    font-family: Poppins, Arial, Helvetica, sans-serif;
    width: 100vw;
    /* border: 2px solid red; */
}

body.td-frontpage { background-position: left 0; }
body.td-subpage { background-position: left 0; }

/* * { border: 0.5px solid grey } */
header {
    margin-top: 0;
    padding: 2rem var(--global-padding) 0 var(--global-padding);
    box-sizing: border-box;
    background-image: linear-gradient(180deg, #c5e5ff, #fff);
}
header.td-subpage-header {
    width: 100%; height: 22rem; padding-top: 2rem;
}

main { position: relative; margin-top: 8rem; }
main.td-main-subpage { position: relative; margin-top: 1rem; }
main.td-main-subpage h1 { color: black; }
main.td-main-subpage h2:after { height: 0; }

header.td-header-subpage #td-headerlogo img {
    width: 60px;
}

h1 {
    color: var(--blue-color);
    font-family: "din-2014", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 2.7rem;
}
h1:after {
    display: block;
    content: '';
    width: 200px;
    height: 5px;
    background: #a3c8eb;
    margin-top: 10px;
}

h2 {
    position: relative;
    color: var(--blue-color); font-size: 1.8rem;
    font-family: "din-2014", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 1rem !important;
    text-transform: uppercase
}
h2:after {
    display: block;
    content: '';
    width: 200px;
    height: 5px;
    background: #a3c8eb;
    margin-top: 10px;
}
h2.td-mixed-fontsize {
    width: 50%;
    text-transform: unset;
}
h2.td-center-headline {
    margin-bottom: 0 !important;
}
h2.td-center-headline:after {
    margin-left: auto;
    margin-right: auto;
    align-self: center;
}

h3 {
    color: var(--blue-color); font-size: 1.5rem;
    font-family: "din-2014", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-style: normal;
    margin: 2rem 0 1rem 0;
}
h3 a {
    color: var(--blue-color);
}

.td-global-padding { padding-left: var(--global-padding); padding-right: var(--global-padding); box-sizing: border-box; }
.td-no-padding { padding: 0 !important; }

/* tab navigation: link on focus styling */

a:focus-visible {
    outline: 2px solid black;
    outline-offset: 4px;
    border-radius: 5px;
}
.td-outline-inset1:focus-visible {
    outline: 2px solid black;
    outline-offset: -8px;
    border-radius: 15px;
}
.td-outline-inset2:focus-visible {
    outline: 2px solid black;
    outline-offset: 4px;
    border-radius: 20px;
}

video:focus-visible {
    outline: 2px solid black;
    outline-offset: 3px;
    border-radius: 20px;
}

@supports (position:sticky) {
    .wp-block-video [poster] {
        object-fit: contain;
    }
}


.td-center-image {
    text-align: center;
    margin-top: 8rem;
}

.td-hide-column-mobile {
    border: 0 !important;
}



/* tab navigation: tab links */
#dc-content-link-container {
    display: flex;
    align-items: center;
    flex-direction: column;
    position: fixed;
    z-index: 10000;
    width: 100%;
}
.dc-content-link {
    position: absolute;
    display: flex; align-self: center; top: -500px;
    padding: 0.8rem 1.2rem;
    background: var(--blue-color); color: white; font-size: 1.3rem;
    outline: 0 !important; box-shadow: 0 2px 12px 3px rgb(0 0 0 / 30%);
    margin: 0 auto;
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 500;
}
.dc-content-link:focus { top: 20px; }
@media( hover: hover ) {
    .dc-content-link:hover {
        color: white !important;
        text-decoration: none;
    }
}

.dc-strong-subtitle {
    color: black;
    text-transform: uppercase;
}
.dc-three-columns {	column-count: 3; margin-top: 0; }

.wp-block-columns {
    gap: 3rem;
}






#td-maintitle {
    color: black;
    font-size: 3rem;
    font-family: "din-2014", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 3rem;
    margin-top: 2rem;
    width: 50%;
}

#td-maintitle sup {
    top: -0.2em;
}

#td-mainslogan {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 2rem;
    width: 50%;
}

#td-copyright sup {
    top: -0.3em;
}

.td-subtitle { font-size: 1.3rem; font-weight: 700; }
a { font-weight: 700; var(--blue-color); text-decoration: none; }
@media( hover: hover ) {
    a:hover {
        color: var(--blue-color);
        text-decoration: underline;
    }
}
nav { margin-top: 1rem; }
.container { max-width: 1300px; }
.flex-container { display: flex; }
.flex-justify { justify-content: flex-start; }
.flex-justify-around { justify-content: space-around; }
.flex-direction { flex-direction: row; }
.flex-row { flex-direction: row; }
.flex-column { flex-direction: column; }
.flex-items-center { align-items: center; }
.flex-grow2 { flex-grow: 2; }
.flex-align-stretch { align-items: stretch; }
.flex-align-self-baseline { align-self: flex-end; }
.text-right { text-align: right; }
.text-right-mobile { text-align: right; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.position-relative { position: relative; }
.standard-margin-bottom { margin-bottom: 2rem; }



#td-headerlogo { display: block; margin: 10px 0; }
#td-headerlogo a { display: inline-block; }
#td-headerlogo img { display: block; width: 160px; height: auto; }
#td-searchfield { display: none; }
#td-searchfield img { width: 27px; height: auto; }
#td-topmenu {
    position: relative; z-index: 1000; display: flex; width: 100%; justify-content: flex-end; align-items: flex-start;
    /* transition: transform 0.5s ease-out, box-shadow 0.5s ease-out; */
    box-shadow: 0 6px 15px rgba( 0, 0, 0, 0 );
}
#td-topmenu ul { display: flex; width: 100%; justify-content: flex-end; }
#td-topmenu ul li:not(:last-child) { margin-right: 2rem; }
#td-topmenu ul li { line-height: 1.5rem; }
.td-mainslogan {
    font-size: 4.5rem; margin-top: 0; line-height: 4rem; padding: 10px 40px 1rem 40px !important;
    background-image: linear-gradient( 0deg, rgba(37,61,99,1), rgb(98, 150, 239));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
#td-topmenu ul li a:after { display: block; content: ''; width: 0; height: 2px; background: var(--blue-color); transition: width 0.3s; }
@media( hover: hover ) {
    #td-topmenu ul li a:hover {
        text-decoration: none;
    }
}
@media( hover: hover ) {
    #td-topmenu ul li a:hover:after { width: 100%; }
}


.td-footerslogan { font-size: 2.6rem; line-height: 2.8rem; }
#td-mainstatement { font-weight: 700; font-size: 1.2rem; }
.td-headerleft { position: relative; z-index: 3000; width: 33%; min-width: 320px; }
.td-headerright { width: 66%; }
.td-color-darkred { color: #a31553; }
.td-color-darkgreen { color: #3c736c; }

#td-mainimage {
    position: absolute;
    right: 0;
    width: 50%;
}

#td-mainimage img {
    display: block;
    float: right;
    width: 100%;
    height: auto;
    margin-top: 5rem;
}

#td-slogan-button {
    position: absolute;
    z-index: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 6rem;
    right: 2rem;
    background: var(--blue-color);
    border-radius: 50%;
    color: white;
    font-size: 1.5rem;
    font-family: "din-2014", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.7rem;
    text-align: center;
    text-transform: uppercase;
    width: 150px;
    height: 150px;
    transform: rotate(-5deg);
}

#td-slogan-button p {
    margin-top: 0.7rem;
}

.td-standard-img img { display: block; width: 100%; height: auto; }

.td-image-text-box-1 { margin: 5rem 0 15rem 0; }
.td-image-text-image img { width: 70%; height: auto; margin-top: 110px; }
.td-special-row { background: url(images/background-image.jpg) no-repeat; background-size: 100%; background-position: left bottom; }
.td-special-row .img-special-subtitle {
    display: inline-block;
    background-color: #3c736c; color: white; font-weight: 700;
    padding: 0.5rem 1rem; text-transform: uppercase;
}

.img-special-image-column { position: relative; }
.img-special-image-column figure {
    position: absolute;
    top: -100px; right: 20px;
    width: 600px; height: 500px;
    text-align: right;
}



.td-invisible { opacity: 0; }

@keyframes td-fadeInImg { from { opacity: 0; } to { opacity: 1; } }
.td-fadeInImg { -webkit-animation-name: td-fadeInImg; animation-name: td-fadeInImg; animation-delay: 0s; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-timing-function: cubic-bezier(0,.76,.2,1); animation-fill-mode: both; }
@keyframes td-fadeInImgSlow { from { opacity: 0; } to { opacity: 1; } }
.td-fadeInImgSlow { -webkit-animation-name: td-fadeInImgSlow; animation-name: td-fadeInImgSlow; animation-delay: 0s; -webkit-animation-duration: 3s; animation-duration: 3s; -webkit-animation-fill-mode: both; animation-timing-function: ease; animation-fill-mode: both; }
@keyframes td-fadeOutImg { from { opacity: 1; } to { opacity: 0; } }
.td-fadeOutImg { -webkit-animation-name: td-fadeOutImg; animation-name: td-fadeOutImg; animation-delay: 0s; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-timing-function: ease; animation-fill-mode: both; }
@keyframes td-fadeOutImgSlow { from { opacity: 1; } to { opacity: 0; } }
.td-fadeOutImgSlow { -webkit-animation-name: td-fadeOutImgSlow; animation-name: td-fadeOutImgSlow; animation-delay: 0s; -webkit-animation-duration: 3s; animation-duration: 3s; -webkit-animation-fill-mode: both; animation-timing-function: ease; animation-fill-mode: both; }

@keyframes zoomIn{ 0%{opacity:1;transform:scale3d(.8,.8,.8)}50%{opacity:1} }
.zoomIn{ animation-name: zoomIn; animation-delay: 0s; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-timing-function: cubic-bezier(0,.76,.2,1); animation-fill-mode: both; }

@keyframes td-fadeMainImg{ 0%{ opacity: 0; transform: scale(0.97, 0.97); transform-origin: -20% 50%; } 100%{ opacity: 1; transform: scale(1, 1); transform-origin: -20% 50%; } }
.td-fadeMainImg { -webkit-animation-name: td-fadeMainImg; animation-name: td-fadeMainImg; animation-delay: 0s; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-fill-mode: both; animation-timing-function: ease-out; animation-fill-mode: both; }

@-webkit-keyframes td-fadeInUp5 { from { opacity: 0; -webkit-transform: translate3d(0, 15%, 0); transform: translate3d(0, 15%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
.td-fadeInUp5 { -webkit-animation-name: td-fadeInUp5; animation-name: td-fadeInUp5; animation-delay: 0s; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }


.wp-block-group.td-contact-box { position: relative; background-color: #baebe4; padding: 2rem; box-sizing: border-box; }
.wp-block-group.td-contact-box p { margin-bottom: 0.5rem; }
.wp-block-group.td-contact-box:before { content: ""; position: absolute; width: 100%; height: 70px; top: -46px; left: 10px; background: url(images/grafik_kontakt.svg) no-repeat; background-size: contain; background-position: left center; }

.td-hightlight-box-green {
    background-color: #baebe4; padding: 2rem 2rem 2.3rem 2rem; box-sizing: border-box;
    font-weight: 700; font-size: 1.3rem;
}

.td-standard-ul { margin: 0 0 3rem 2rem; }
.td-content-container > .td-standard-ul { margin-bottom: 3rem; padding-left: 4rem !important; }
.td-content-container-subpage > * { max-width: 1300px; margin: 0 auto; }
.td-content-container-subpage h2 { margin-top: 3rem; color: black; padding: 0; box-sizing: border-box; }
.td-content-container-subpage h3 { margin-top: 3rem; }
.td-content-container-subpage p { margin-bottom: 1rem; }
.td-standard-ul li { margin-bottom: 1rem; font-weight: 700; }
.td-standard-ul li:before { content: ""; position: absolute; margin-left: -2rem; width: 25px; height: 25px; background: url(images/symbol_bullet_red.svg) no-repeat; background-size: contain; background-position: center center; }

.wp-block-columns {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}
.wp-block-column:not(:first-child) {
    margin-left: 3%;
}
.wp-block-column { }
.wp-block-column p { margin-bottom: 1.5rem; }

.wp-block-button .wp-block-button__link {
    color: #fff;
    border-radius: 7px;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125em;
    padding: 0.5rem 1.5rem;
    text-align: center;
    text-decoration: none;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

.wp-block-button.td-download .wp-block-button__link {
    position: relative;
    color: #fff;
    background-color: var(--blue-color);
    border-radius: 7px;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125em;
    padding: 0.5rem 1.5rem 0.5rem 2.8rem;
    text-align: center;
    text-decoration: none;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

.td-button-link a {
    display: inline-block;
    background: var(--blue-color);
    background: linear-gradient(-135deg, #005BA9 var(--value1), #005BA9 var(--value2), #0075DB var(--value3));
    padding: 0.3rem 1.8rem;
    color: white;
    font-weight: bold;
    font-size: 1.6rem;
    text-decoration: none;
    margin-top: 2rem;
    transition: --value1 0.3s, --value2 0.3s, --value3 0.3s ease-out, color 0.3s ease-out;
    border-radius: 20px;
}
@media( hover: hover ) {
    .td-button-link a:hover {
        --value1: 0%;
        --value2: 0%;
        --value3: 0%;
        color: white;
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    }
}


.wp-block-button.td-warning  { width: 100%; }
.wp-block-button.td-warning .wp-block-button__link {
    position: relative;
    color: #fff;
    background-color: var(--blue-color);
    border-radius: 7px;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125em;
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    text-align: center;
    text-decoration: none;
    overflow-wrap: break-word;
    box-sizing: border-box;
	margin-top: 0 !important;
}
@media( hover: hover ) {
    .wp-block-button.td-warning .wp-block-button__link:hover { background-color: var(--blue-color); }
}


.wp-block-button.td-download .wp-block-button__link:before {
    content: ""; position: absolute; width: 17px; height: 23px; margin-top: 1px; margin-left: -24px; background: url(images/symbol_pdf-download.svg) no-repeat; background-size: contain; background-position: center center;
}


.wp-block-button.td-download.td-fullwidth { width: 100%; }
.wp-block-button.td-download.td-fullwidth .wp-block-button__link { display: block; }

.wp-block-button.td-leseprobe .wp-block-button__link {
    position: relative;
    color: #fff;
    background-color: #3c736c;
    border-radius: 7px;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125em;
    padding: 0.5rem 1.5rem 0.5rem 3rem;
    text-align: center;
    text-decoration: none;
    overflow-wrap: break-word;
    box-sizing: border-box;
    margin-left: 1.5rem;
}

@media( hover: hover ) {
    .wp-block-button .wp-block-button__link:hover {
        background-color: #0075DB;
    }

    .wp-block-button.td-download .wp-block-button__link:hover {
        background-color: var(--blue-color);
    }
}

/* Footer classes */
footer { width: 100%; padding: 0 0 3rem 0; margin-top: 7rem; color: white; }
footer .four.columns a { color: white; text-decoration: none; }
@media( hover: hover ) {
    footer .four.columns a:hover {
        color: rgba(255, 255, 255, 0.7);
        text-decoration: none;
    }
}
#td-bodyoverlay {
    display: none; position: fixed; z-index: 10000;
    width: 100vw; height: 100vh; top: 0; left: 0;
    background-image: linear-gradient( 0deg, rgba(60,150,108,1), rgba(60,150,108,0) ); opacity: 0;
    transition: all 1s;
    justify-content: center; align-items: center;
}
@keyframes td-bodyoverlayfadeIn { 0%{ opacity: 0; } 100% { opacity: 1; } }
#td-bodyoverlay.td-bodyoverlayfadeIn { display: flex; -webkit-animation-name: td-bodyoverlayfadeIn; animation-name: td-bodyoverlayfadeIn; animation-delay: 0s; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: both; animation-timing-function: ease-out; animation-fill-mode: both; }
#td-bodyoverlay-close { position: absolute; top: 30px; right: 30px; width: 30px; height: 30px; cursor: pointer; transition: transform 0.1s; }
@media( hover: hover ) {
    #td-bodyoverlay-close:hover {
        transform: scale(1.2);
    }
}

@keyframes td-image-scaleUp { 0%{ transform: scale(0.5); box-shadow: 0 6px 8px rgba( 0, 0, 0, 0.3 ); } 100% { transform: scale(1); box-shadow: 0 6px 28px rgba( 0, 0, 0, 0.3 ); } }
.td-image-scaleUp { max-width: 70vw; -webkit-animation-name: td-image-scaleUp; animation-name: td-image-scaleUp; animation-delay: 0s; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: both; animation-timing-function: ease-out; animation-fill-mode: both; }

#td-footermask {
    width: 100%; background: url( images/footermask.svg );
    background-position: center top; background-size: cover;
    background-repeat: no-repeat; height: 18rem;
}

#td-footerlogo img { width: 100px; height: auto; margin: 0 0 10px 0; opacity: 0.7; }

#td-footermenu .menu { list-style: none; padding: 0; float: right; }
#td-footermenu .menu li { margin: 0 0 0 1rem; height: auto; float: left; }
#td-footermenu .menu li:not(:last-child):after { display: inline-block; content: "|"; margin-left: 1rem; }
#td-footermenu .menu li a { font-weight: 400; }
#td-footerperson { position: absolute; top: -335px; left: 0; }
#td-footerperson img { width: 300px; height: auto; }

/* .td-footerbackground { background-image: radial-gradient(farthest-corner at 300px 0px, #0090cf 0%, #0090cf 20%, #003353 100%); } */
.td-footerbackground {
    background: url( images/footer-background-image.jpg) no-repeat; background-size: cover; background-position: top center;
    /* background-attachment: fixed; */
}
#td-toparrow { position: fixed; z-index: 5000; width: 80px; height: 80px; bottom: 90px; right: 50px; transition: opacity 0.5s; opacity: 0; cursor: pointer; }
#td-toparrow:focus-visible { border-radius: 50% !important; }
#td-toparrow img { width: 100%; height: auto; }
.td-toparrow-fadeIn { opacity: 1 !important; }

.wp-block-buttons { margin-top: 2rem; margin-bottom: 2rem;  }
.wp-block-buttons .wp-block-button:not(:last-child) { margin-right: 0.5rem; }


/* setup element widths of Gutenberg block-editor-elements */
.wp-block-group { max-width: 1300px; margin: 0 auto; box-sizing: border-box; }
.wp-block-group.alignfull { max-width: unset; width: 100%; }
.wp-block-group.alignfull > .wp-block-group__inner-container { max-width: 1300px; margin: 0 auto; padding: 0 0; box-sizing: border-box; }

/*
.td-content-container > * { max-width: 1300px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
.td-content-container > p, .td-content-container > h2, .td-content-container > h3, .td-content-container > h4 { margin-bottom: 1.5rem; }
.td-content-container > .wp-block-columns { max-width: 1300px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
*/


.td-footer-legende { font-size: 0.8rem; }
.td-footer-legende .td-delevoper { color: #888; }
.td-footer-legende .td-delevoper a { color: #888; }
@media( hover: hover ) {
    .td-footer-legende .td-delevoper a:hover {
        color: #888;
        text-decoration: none;
    }
}



#td-columns-funktionen-group {
    background-image: linear-gradient( 0deg, #d6e6ff, aliceblue, aliceblue );
    padding-top: 3rem;
}

#td-columns-funktionen-group .wp-block-columns {
    margin-top: 1rem !important;
    padding-bottom: 2rem;
    margin-bottom: 0 !important;
}

#td-columns-funktionen-group .wp-block-column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#td-columns-verwaltung-group {
    background-image: linear-gradient( 0deg, #d6e6ff, aliceblue, aliceblue );
    padding-top: 2rem;
    padding-bottom: 2rem;
}
#td-columns-verwaltung-group .wp-block-column {
    position: relative;
    display: flex;
    align-items: center;
}


#td-columns-prozesse-group {
    background-image: linear-gradient( 60deg, #003c73, #005BA9, #005BA9, #005BA9 );
    padding-top: 2rem;
    padding-bottom: 2rem;
}
#td-columns-prozesse-group .wp-block-column {
    position: relative;
    display: flex;
    align-items: center;
    color: white !important;
}
#td-columns-prozesse-group .wp-block-heading {
    color: white !important;
}


#td-columns-bedienung-group {
    padding-top: 2rem;
}
#td-columns-bedienung-group .wp-block-column {
    position: relative;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
}
#td-columns-bedienung-group figure {
    margin: 0;
    height: 200px;
    margin-bottom: 2rem;
}
#td-columns-bedienung-group figure img {
    width: auto;
    height: 100%;
}
#td-columns-bedienung-group h2.td-center-headline {
    margin-bottom: 2rem !important;
}


#td-columns-zusammenfassung-group {
    background-image: linear-gradient( 0deg, #d6e6ff, aliceblue, aliceblue );
    padding-top: 2rem;
    padding-bottom: 2rem;
}
#td-columns-zusammenfassung-group .wp-block-column {
    position: relative;
    display: flex;
    align-items: center;
}

.td-designer, .td-designer a {
    color: white !important;
    opacity: 0.8;
}

#menu-footer-menue li a {
    color: white;
    opacity: 0.8;
    text-decoration: unset;
}
@media( hover: hover ) {
    #menu-footer-menue li a:hover {
        color: white;
        opacity: 1;
    }
}

.td-bullets-list {
    list-style: none;
    margin-left: 30px;
}

.td-bullets-list li {
    position: relative;
    margin-top: 15px;
}

.td-bullets-list li:before {
    display: inline-block;
    position: absolute;
    top: 3px;
    width: 20px;
    height: 20px;
    margin-left: -30px;
    margin-right: 10px;
    content: '';
    background: url('images/symbol_checkmark.svg') no-repeat;
    background-size: contain;
    background-position: center center;
}

#menu-topmenue-unterseite-de li a {
    font-weight: normal;
}
@media( hover: hover ) {
    #menu-topmenue-unterseite-de li a:hover {
        text-decoration: none;
    }
}


#td-mobilemenu-switch-open { position: absolute; top: 25px; right: 0; z-index: 3000; display: none; width: 45px; background: unset; border: unset; cursor: pointer; padding: 0.2rem; box-sizing: border-box; margin-bottom: 0; }
#td-mobilemenu-switch-open img { width: 100%; height: auto; }
#td-mobilemenu-switch-close { position: absolute; top: 58px; right: 25px; z-index: 3000; display: none; width: 45px; background: unset; border: unset; cursor: pointer; padding: 0.2rem; box-sizing: border-box; margin-bottom: 0; }
#td-mobilemenu-switch-close img { width: 100%; height: auto; }

#td-page {
    position: relative;
    /*
    top: 0; left: 0; width: 100%; height: 100vh;
    */
    transition: transform 0.7s cubic-bezier(.03,.59,.2,1);
}

#td-topmenu.td-mobile-menu-open {
    /*transform: translateX(90vw); will-change: auto;*/
    box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.3 );
}
#td-page.td-mobile-menu-open {
    transform: translateX(90vw);
}
#td-page.dc-mobile-menu-close {
    transform: translateX(0vw);
}

.dc-move-sandwich-menu { right: -300px; }
.dc-position-fixed { overflow: hidden !important; position: fixed !important; }


/* animation */

@-webkit-keyframes td-move-page-right { from { transform: translate3d(0,0,0); } to { transform: translate3d(90vw,0,0); } }
.td-move-page-right { -webkit-animation-name: td-move-page-right; animation-name: td-move-page-right; animation-delay: 0s; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: none; animation-fill-mode: both; }


@-webkit-keyframes td-move-page-left { from { transform: translateX(90vw); } to { transform: translateX(0vw); } }
.td-move-page-left { -webkit-animation-name: td-move-page-left; animation-name: td-move-page-left; animation-delay: 0s; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: none; animation-fill-mode: both; }






.td-applications-container { width: 100%; }
.td-applications-container .td-application-item {
    width: 100%; display: flex; justify-content: space-between; align-items: center;
    /* border-width: 1px 1px 0 1px; border-style: solid; border-color: lightgrey; */
    padding: 0.5rem 1rem; box-sizing: border-box;
    background: #e8f1ff;
    border-radius: 6px;
    margin-bottom: 0.4rem;
}
.td-applications-container .td-application-item.td-application-item-disabled { background: #ececec; }

.td-applications-container .td-application-item:last-child { border-width: 1px 1px 1px 1px; }
.td-applications-container .td-application-item .td-application-item-left { width: 80%; margin-right: 2rem; }
.td-applications-container .td-application-item .td-application-item-center { width: 100px; text-align: center; margin-right: 2rem; }
.td-applications-container .td-application-item .td-application-item-center a { width: 150px; text-align: center; }
.td-applications-container .td-application-item .td-application-item-right { width: 35%; text-align: right; }
.td-applications-container .td-application-item .td-application-item-right .td-planned { position: relative; display: inline-block; color: red; padding: 0.3rem 0; }
.td-applications-container .td-application-item .td-application-item-right .td-active { position: relative; display: inline-block; width: 10px; height: 10px; padding: 0.3rem 1rem 0.3rem 0rem; color: var(--blue-color); }
.td-applications-container .td-application-item .td-application-item-right .td-active:before {
    position: absolute; top: 3px; left: 0px; display: block;
    content: ''; width: 20px; height: 20px; border-radius: 50%;
    border: 1px solid var(--blue-color); background: url(images/symbol_checkmark_blue.svg) no-repeat; background-position: center center; background-size: 60%; }
.td-applications-container .wp-block-buttons { margin: 0 !important; }
.td-applications-container .wp-block-buttons a { margin: 0 !important; padding: 0.3rem 1.5rem; font-weight: normal; font-size: 1.2rem; text-transform: uppercase; }
.td-applications-container .wp-block-buttons a.td-link-disabled { background: lightgrey; pointer-events: none; }
@media( hover: hover ) {
    .td-applications-container .wp-block-buttons a.td-link-disabled:hover {
        box-shadow: unset;
    }
}



#td-title-container {
    max-width: unset;
    background: var(--blue-color);
    padding: 3rem var(--global-padding) 3rem var(--global-padding);
}

#td-title-container h1 {
    color: white;
    margin-bottom: 0 !important;
    font-weight: 400 !important;
}

#td-title-container h1:after {
    display: none;
}





/* Video-Anleitung */
.td-video-columns h2 { font-size: 1.8rem; text-align: center; margin-top: 0; }
.td-video-columns .wp-block-column { border: 1px solid var(--blue-color); border-radius: 20px; padding: 2rem 0; }
.td-video-box { border-radius: 20px; overflow: hidden; }


.td-sitemap-block { list-style: none; }
.td-sitemap-block li a { display: inline-block; font-weight: normal; margin-bottom: 1rem; }








@media (max-width: 2500px) {
    body.td-frontpage { background-size: 100%; background-position: left 0; }
    body.td-subpage { background-position: left 0; }
}

@media (max-width: 2100px) {
    body.td-frontpage { background-size: 100%; background-position: left 0; }
    body.td-subpage { background-position: left 0; }
}

@media (max-width: 1980px) {
    body.td-frontpage { background-size: 100%; background-position: left 0; }
    body.td-subpage { background-position: left 0; }
    header.td-frontpage-header { height: 25rem; }
    .td-mainslogan { margin-top: 0; padding: 10px 40px 1rem 40px; }
    #td-footermask { height: 13rem; }
    #td-footerperson { top: -295px; }
}

@media (max-width: 1500px) {
    body.td-frontpage { background-size: 100%; background-position: left 0; }
    body.td-subpage { background-position: left 0; }
}

@media (max-width: 1200px) {
    body.td-frontpage { background-size: 125%; background-position: left 0; }
    body.td-subpage { background-position: left 0; }
    #td-footerperson { top: calc( -357px + 100vw * 0.05 ); }
}

@media (max-width: 1000px) {
    body.td-frontpage { background-size: 125%; background-position: left 0; }
    body.td-subpage { background-position: left -173px; }
    .td-slidercontainer svg { width: 100%; }
    .td-slidercontainer-subpage svg { width: 90%; }
    main { margin-top: 3rem; }
    h2.td-mixed-fontsize { width: 100%; }
}

@media (max-width: 820px) {
    .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }
    #td-columns-bedienung-group figure {
        margin: 0;
        margin-bottom: 3rem;
    }
    #td-columns-bedienung-group figure {
        margin: 0;
        height: 200px;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    #td-maintitle { margin-top: 9rem; }

    .td-hide-column-mobile {
        display: none;
    }
}


@media (max-width: 768px) {
    /* body.td-frontpage { background-size: 125%; background-position: left 269px; } */
    body.td-frontpage { background-size: 250%; background-position: left 0; }
    body.td-subpage { background-size: 250%; background-position: left 0; }
    header { padding-top: 2rem; }
    header.td-frontpage-header { height: unset; padding-top: 1rem; background-position: center -335px }
    header.td-subpage-header {
        height: unset; padding-top: 1rem;
        background: url(images/headermask.svg) no-repeat; background-size: cover; background-position: center -335px;
    }
    main { margin-top: 3rem; }
    .td-content-container > .td-color-spot-container .wp-block-group__inner-container { padding: 0 25px !important; box-sizing: border-box; }

	/* setup element widths of Gutenberg block-editor-elements */
	.wp-block-group.alignfull > .wp-block-group__inner-container { padding: 0 25px; }
	.td-content-container > * { padding: 0 25px; }
	.td-content-container > .wp-block-columns { padding: 0 25px; }

    .flex-justify { justify-content: space-around; }
    .flex-row { flex-direction: column; }
    .text-right-mobile { text-align: left; }
    #td-headerlogo { flex-grow: 2; }
    #td-headerlogo img { display: inline-block; width: 120px; }
    .td-headerleft { background-color: unset; width: 90%; }
    .td-headerright { height: 16rem; }
    #td-mobilemenu-switch-open { display: block; }
    .td-slidercontainer, .td-slidercontainer-subpage {
        position: relative;
        z-index: 1000; width: 100vw; height: auto;
        top: 0; left: -18vw; cursor: pointer;
        text-align: center;

    }
    .td-slidercontainer-subpage { margin-bottom: 0; }
    .td-slidercontainer svg { width: 100vw; height: auto; margin-top: -30px; }
    .td-slidercontainer-subpage svg { width: 100vw; height: auto; margin-top: -2rem; margin-left: 0; }
    .td-mainslogan { margin-top: calc( -299px + 89vw ); font-size: 8vw; padding: 10px 25px 1rem 25px !important }
    .td-footerslogan { margin: 1rem 0; }
    #td-footerperson { top: calc( -225px + 100vw * 0.05 ); }
    #td-footerperson img { width: 200px; }
    #td-footermenu .wp-block-group { padding: 0 !important; }
    #td-footermenu .menu { float: left; }
    #td-footermenu .menu li { margin: 0 1rem 0 0; }
    #td-toparrow { width: 60px; height: 60px; bottom: 30px; right: 20px; transition: all 0.5s; opacity: 0; cursor: pointer; }
    #td-footermask { height: 7rem; }
    h2.td-mixed-fontsize { width: 100%; }
    #td-mainimage img { width: 100%; margin-top: 4rem; }
    #td-slogan-button { top: 11rem; }

    #td-topmenu {
        position: absolute;
        display: block;
        z-index: 1000;
        top: -2rem;
        left: calc(var(--global-padding) *-1);
        transform: translateX(-90vw);
        background: white;
        width: 90vw;
        height: 100vh;
        padding-top: 8rem;
        padding-right: 2rem;
        padding-left: 2rem;
        box-sizing: border-box;
        justify-content: center;
        text-align: left;
    }
    #td-topmenu ul { flex-direction: column; justify-content: flex-start; }
    #td-topmenu ul li { text-align: left; margin-bottom: 1.5rem; font-size: 1.5rem; }

    .td-applications-container .td-application-item { flex-direction: column; }

    .td-applications-container .td-application-item { padding: 1rem; }

    .td-applications-container .td-application-item .td-application-item-left { width: 100%; margin-right: 0; margin-bottom: 0; }
    .td-applications-container .td-application-item .td-application-item-center { width: 100%; margin-right: 0; margin-bottom: 0; text-align: left; }
    .td-applications-container .td-application-item .td-application-item-center .wp-block-buttons { margin: 0.5rem 0 0 0 !important; }
    .td-applications-container .td-application-item .td-application-item-right { width: 100%; text-align: right; margin-bottom: 0; }
    .td-applications-container .td-application-item .td-application-item-right .td-active { margin: 0.5rem 0 0 0 !important;  }
    .td-applications-container .td-application-item .td-application-item-right .td-planned { margin: 0.5rem 0 0 0 !important;  }
}

@media (max-width: 550px) {
    .td-mainslogan { font-size: 14vw; line-height: 3.5rem; }
     #td-mainslogan { width: 100%; }
     #td-maintitle { width: 100%; margin-top: 15rem; }
    .td-image-scaleUp { max-width: 100vw; }
    .wp-block-columns { margin-bottom: 3rem; }
    .wp-block-column { margin-bottom: 3rem; }
    .wp-block-column:not(:first-child) { margin-left: 0; }
    .td-image-text-box-1 { margin: -5rem 0; }
    .td-image-text-box-1 .wp-block-column { margin-bottom: 1rem; }
    main { margin-top: 2rem; }
    header { padding-top: 2rem; }
    #td-headerlogo img { display: inline-block; width: 80px; }
    header.td-frontpage-header { height: auto; }
    .img-special-image-column figure {  position: relative; top: 0; left: -179px; width: 500px; height: auto; }
    .td-special-row {
        background: url(images/background-image.jpg) no-repeat;
        background-size: 200%;
        background-position: left top;
    }
    .td-special-row .wp-block-column { margin-bottom: 1rem; }
    .wp-block-group.alignfull > .wp-block-group__inner-container { padding: 0; }
    .topmargin10 { margin-top: 7rem !important; }
    .td-mainslogan { margin-top: 0; }
    .td-headerright { height: 17rem; }
    #td-slogan-button {
        top: 8rem;
        right: 2rem;
        font-size: 1.2rem;
        line-height: 1.3rem;
        width: 120px;
        height: 120px;
    }
    h2.td-mixed-fontsize { width: 100%; }
    #td-mainimage { width: 70%; }
    #td-mainimage img { width: 100%; margin-top: 2rem; }
    .td-prozess-grafik {
        margin-bottom: 3rem;
    }
    .wp-block-buttons { flex-direction: column; margin-bottom: 4rem !important; }
    .wp-block-buttons .wp-block-button { width: 100%; }
    .wp-block-buttons .wp-block-button:not(:last-child) { margin-right: 0; }
    .wp-block-buttons .wp-block-button a { margin-top: 0.3rem; }

    .td-button-link a {
        display: inline-block;
        background: var(--blue-color);
        background-image: unset;
    }

}