
:root {
    --higlight_color: #197ea6;
    --higlight_color_2: #1d90be;
}

/***********************************************************************************************************************
* Verwendete Schriften
***********************************************************************************************************************/

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v34-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v34-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v25-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat/montserrat-v25-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothaProMed';
    src: url('../fonts/GothaProMed/GothaProMed.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Pro Medium';
    src: url('../fonts/Gotham Pro Medium/Gotham Pro Medium.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Mobile */
@media (max-width: 600px) {
    .view-desktop { display: none; }
    .view-tablet  { display: none; }
    .view-mobile  { display: flex; }
    #itkanzlei_txt_copyright { margin-top: 9% !important; }
    .menu_group {
        position: fixed;
        top: 80px;
        flex-direction: column !important;
        z-index: 1000;
        background-color: white;
        padding: 4%;
        min-width: 220px;
    }
    .menu_group .my-menu-dropdown {
        padding-top: 4%;

    }
    .my-menu-dropdown a {
        margin-left: unset !important;
        margin-right: unset !important;
    }
    .my-linkedin {
        padding-top: 4%;
    }
    .my-menu img {
        padding-right: 50px !important;
    }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1024px) {
    .view-desktop { display: none; }
    .view-tablet  { display: flex; }
    .view-mobile  { display: none; }
    .my-menu img {
        padding-right: unset !important;
    }
    .my-layoutbox {
        padding-top: 9% !important;
        padding-bottom: unset !important;
    }
}

/* Desktop */
@media (min-width: 1025px) {
    .view-desktop { display: flex; }
    .view-tablet  { display: none; }
    .view-mobile  { display: none; }
}

/***********************************************************************************************************************
* Globale CSS Definitionen
***********************************************************************************************************************/
* {
    font-family: "Open Sans", sans-serif;
}

body {
    max-width: 1700px;
    min-width: 250px;
    margin: 0px;
    line-height: 1.5;
    color: #212529; /* Globale Schriftfarbe */
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.my-button {
    cursor: pointer;
    margin-right: 10%;
    margin-left: 10%;
    letter-spacing: 0.075em;
    background-color: var(--higlight_color_2);
    border: 2px solid var(--higlight_color);

    color: #FFFFFF;
    width: 300px;
    cursor: pointer;
    display: flex;
    padding: 12px 30px;
    z-index: 1;
    font-size: 20px;
    max-width: 300px;
    font-style: normal;
    text-align: center;
    word-break: break-word;
    align-items: center;
    font-family: GothaProMed,Montserrat;
    font-weight: bold;
    line-height: 1;
    border-radius: 30px;
    justify-content: center;
    text-decoration: none;
}

.my-button:hover {
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.4s ease 0s;
    -moz-box-shadow: 0px 8px 15px 0px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 8px 15px 0px rgba(0,0,0,0.25);
}

/***********************************************************************************************************************
* Eigene CSS Klassen Definitionen
***********************************************************************************************************************/

.footer_menu {
    display: flex;
    padding: unset;
    padding-bottom: 30px;
    padding-left: 7%;
    padding-top: 30px;
    max-width: 5000px;
}

.footer_menu_entry {
    padding-right: 20px;
    color: #595959 !important;
    font-size: 16px;
    font-style: normal;
    font-family: Gotham Pro Medium,Montserrat;
    font-weight: normal;
    line-height: 2;
    text-decoration: none;
}

/*Page Footer - Trennlinie zwischen Menü Einträgen und vorgegebner Impressumsstruktur */
hr.divider {
    display: none;
}

/******************************************************************************
* Links
*******************************************************************************/

a, a:hover {
    color: var(--higlight_color)
}

/******************************************************************************
* Aufzählungen
*******************************************************************************/

li {
    padding-bottom: 1%;
}

/******************************************************************************
* Button
*******************************************************************************/
.my-button > Button {
    margin-right: 10%;
    margin-left: 10%;
    letter-spacing: 0.075em;
}

/******************************************************************************
* Tabelle
*******************************************************************************/

/* Tabelle - Zeilenhöhe und Gitternetz entfernen */
.my-table
{
    line-height:1.5;
    border-spacing: 0px;
    font-family: "Open Sans";
    font-size: 16px;
    max-width: 1000px;
}

/* Tabellenkopf - Spalte Allgemein links ausrichten*/
.my-table thead tr th:nth-child(1)
{
    text-align:left;
    word-break: break-word;
    min-width: 125px;
    width: 125px;
    max-width: 125px;
}

/* Tabellenkopf - Spalte Public, Basic, Advanced zentrieren */
.my-table thead tr th
{
    padding:9px;
    text-align:center;
}

/* Tabellenkörper - Spalte Allgemein */
.my-table tbody tr td:nth-child(1)
{
    text-align:left;
    word-break: break-word;
    width: 125px;
    max-width: 125px;
}

/* Tabellenkörper - Spalte Public, Basic, Advanced zentrieren */
.my-table tbody tr td
{
    padding:4px;
    text-align:center;
}

/* Jede zweite Datenzeile grau hervorheben */
.my-table tbody tr:nth-child(odd)
{
    background-color: #f0f0f0;
}

/* Spalte Allgemein - Linksbündig und mit fester Breite */
.my-table colgroup:first-child col:first-child
{
    width: 525px;
    max-width: 525px;
}

/* Spalte Public, Basic, Advanced mit fester Breite */
.my-table colgroup col
{
    width: 150px;
    width: 150px;
    max-width: 150px;
}

/* Hervorgehobener Spaltenkopf */
.my-table thead tr th:nth-child(3)
{
    text-align:center; background-color: var(--higlight_color); color:white;
    border-left:1px solid; border-right:1px solid; border-color:var(--higlight_color);
}

/* Hervorgehobene Spalte */
.my-table tbody tr td:nth-child(3)
{
    border-left:1px solid; border-right:1px solid; border-color:var(--higlight_color);
}

/* Hervorgehobene Spalte - letzter Datensatz */
.my-table tbody tr:last-child td:nth-child(3)
{
    border-left:1px solid; border-right:1px solid; border-bottom:1px solid; border-color:var(--higlight_color);
}

/******************************************************************************
* Menü
*******************************************************************************/

/* Mobil Ansicht - Burger Icon hellbau einfärben */
.menu__icon:hover {
    filter: invert(45%) sepia(81%) saturate(2691%) hue-rotate(178deg) brightness(102%) contrast(104%);
    opacity: 1;
}

#menu_icon_close {
    display: none;
}

.menu_group {
    display: flex;
    flex-direction: row;
}

@media (max-width: 600px) {
    .menu_group {
        display: none;
    }
}

/******************************************************************************
* Aufzählungslisten
*******************************************************************************/

div.aufzaehlung  ul {
    list-style-type: "✅";
}

div.aufzaehlung  li {
    padding-bottom: 8px;
    padding-left: 8px;
}

/******************************************************************************
* Logo links oben im Menü
*******************************************************************************/

.cs-header-logo-link {
    margin-left: unset;
}

.cs-header-logo-link img {
    width: 250px !important;
    max-height: unset !important;
}

/******************************************************************************
* Eigene Banner mit H1 Tags statt divs
*******************************************************************************/
.my-banner {
    display: flex;
    align-items: center;
    min-height: 400px;
    padding-left: 7%;
    padding-right: 7%;
    font-family: Montserrat,sans-serif;
    background-color: var(--higlight_color);
    color: white;
    margin: 0 auto;
    position: relative;
    max-width: 5000px;
    word-break: break-word;
}

@media (max-width: 759px) {
    .my-banner {
        padding-right: 14.5%; /* Damit auf Seite MediaWiki Hosting caindle.cloud zusammengeschrieben bleibt */
    }
}

.my-banner .cs-text-wrapper {
    padding: 0px;
    display: flex;
    align-items: center;
}

.my-banner-text-block {
    /* padding-top: 20px;
     padding-bottom: 20px; */
    font-size: 16px;
    font-family: Montserrat Reg;
}

.my-banner h1 {
    font-size: 60px;
    font-family: GothaProMed, Montserrat, sans-serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1;

    max-width: 1000px;

    margin-top: 20px;
    margin-bottom: 20px;

    word-break: break-word;
}

.my-banner p {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    max-width: 600px;
}

.my-banner-contact {
    background-color: #8f8f8f;
}

.my-banner-contact {
    flex-direction: row;
    padding-left: 7%;
    padding-right: 7%;
    margin-bottom: 2%;
}

.my-banner-button {
    color: #ffffff;
    width: 325px;
    border: 2px solid var(--higlight_color);
    display: flex;
    padding: 2px;
    font-size: 15px;
    align-self: flex-start;
    background: var(--higlight_color_2);
    font-style: normal;
    min-height: 40px;
    text-align: center;
    word-break: break-word;
    align-items: center;
    font-family: GothaProMed,Montserrat;
    font-weight: bold;
    line-height: 1;
    border-radius: 8px;
    letter-spacing: 1px;
    justify-content: center;
    text-decoration: none;
    margin-top: 1%;
    margin-bottom: 1%;
    margin-right: 2%;
    /*box-sizing: border-box;*/
}

.my-banner-button a {
    color: white;
    cursor: pointer;
    font-family: GothaProMed,Montserrat;
    font-weight: bold;
    letter-spacing: 1px;
    text-decoration: none;
}

.my-banner-button a:hover {
    text-decoration: underline;
}

@media (max-width: 759px) {
    .my-banner h1 {
        font-size: 40px;
    }
}

.my-banner-sub-text {
    font-family: Montserrat, sans-serif;
    padding-bottom: 38px;
    max-width: 600px;
}

/******************************************************************************
* H2 Überschriften in Mobilsansicht mehr linksbündig ausrichten
*******************************************************************************/

h2 {
    all:unset;
    font-weight: bolder;
    font-family: GothamPro, Montserrat;
    font-size: 24px;
}

/******************************************************************************
* Farbe und Hintergunrdfarbe wenn ein Text im Browser markiert wird
*******************************************************************************/

::selection  {
    background: var(--higlight_color);
    color: white;
}

/******************************************************************************
* Navigationspfeile im Produktslider (mobil) über deckt das Menü (Tablet & Mobileansicht)
*******************************************************************************/
.elo-slider-arrow__with-zindex {
    z-index: 1 !important;
}

/******************************************************************************
* Menü
*******************************************************************************/

.my-menu {
    height: 91px;
    margin-left: 6%;
    display: flex;
    max-width: 1140px;
    background: #FFFFFF;
    align-items: center;
}

.my-menu img {
    padding-right: 150px;
    width: 250px !important;
    max-height: unset !important;
}

.my-menu-dropdown {
    position: relative;
}

.my-menu-dropdown .my-menu-trigger > .my-menu-label {
    color: #595959 !important;
    border: none;
    padding: 0;
    font-size: 18px;
    align-self: flex-start;
    background: none;
    font-style: normal;
    font-family: Gotham Pro Medium,Montserrat;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    margin-right: 10px;
    border-radius: 4px;
    transition: background 0.2s;
    background-color: white;
    cursor: pointer;
}

.my-menu-dropdown .my-menu-trigger .my-menu-label:hover,
.my-menu-dropdown .my-menu-trigger .my-menu-label:focus {
    color: var(--higlight_color) !important;
}

/* Untermenü */
.my-menu-dropdown-elements {
    display: none;
    position: absolute;
    top: 100%;
    min-width: 220px;
    background: #ffffff;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    z-index: 1000;
}

/* Untermenü sichtbar machen */
.my-menu-trigger {
    position: relative;
    display: inline-block;
}

.my-menu-dropdown-elements {
    display: none;
}

.my-menu-dropdown-elements.active {
    display: block;
}

.my-menu-dropdown-elements a {
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 20px;
    padding-right: 20px;
    text-decoration: none;
    white-space: nowrap;
    font-family: Gotham Pro Medium, Montserrat;
    font-weight: bold;
    line-height: 1.5;
    color: #595959 !important;
}

.my-menu-dropdown-elements .my-menu-trigger a:first-child {
    padding-top: 10px;
}
.my-menu-dropdown-elements .my-menu-trigger a:last-child {
    padding-bottom: 10px;
}

.my-menu-dropdown-elements .my-menu-trigger .my-menu-label:hover,
.my-menu-dropdown-elements .my-menu-trigger .my-menu-label:focus {
    color: var(--higlight_color) !important;
}

.my-linkedin-icon {
    color: #FFFFFF;
    min-width: 28px;
    max-width: 28px;
    border: none;
    height: 28px;
    margin: 0 5px;
    display: flex;
    background: #1E84D7;
    align-items: center;
    border-radius: 50%;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
}

.my-linkedin-icon:hover {
    color: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.7);
    text-decoration: none;
}

.my-layoutbox {
    width: 100%;
    max-width: 5000px;

    padding-left: 7%;
    padding-right: 7%;
    padding-top: 2%;
    padding-bottom: 4%;

    flex: 0 0 50%;      /* exakt 50% */
    min-width: 0;       /* wichtig für Textumbruch */
    box-sizing: border-box;
}

.my-layoutbox-duo {
    width: 100%;
    max-width: 5000px;
}

.my-layoutbox-duo > div {
    flex: 0 0 50%;      /* exakt 50% */
    min-width: 0;       /* wichtig für Textumbruch */
    box-sizing: border-box;
}

.my-layoutbox-duo > .my-contentbox-text:nth-child(1) {
    padding-left: 7%;
    padding-right: 4%;
    padding-top: 2%;
    padding-bottom: 2%;
}

.my-layoutbox-duo > .my-contentbox-pictures:nth-child(2) {
    padding-left: 9%;
    padding-right: 9%;
    padding-top: 2%;
    padding-bottom: 2%;
}

.my-layoutbox-duo > .my-contentbox-text:nth-child(2) {
    padding-left: 4%;
    padding-right: 7%;
    padding-top: 2%;
    padding-bottom: 2%;
}

.my-layoutbox-duo > .my-contentbox-pictures:nth-child(1) {
    padding-left: 9%;
    padding-right: 9%;
    padding-top: 2%;
    padding-bottom: 2%;
}

.my-layoutbox-duo > .my-button:nth-child(1) {
    margin-left: 7%;
    margin-right: 4%;
    margin-top: 2%;
    margin-bottom: 4%;
}

.my-layoutbox-duo > .my-button:nth-child(2) {
    margin-left: 7%;
    margin-right: 4%;
    margin-top: 2%;
    margin-bottom: 4%;
}

.my-contentbox-text {
    font-family: "Open Sans";
    display: flex;
    flex-direction: column;
    overflow-wrap: break-word;
}

.my-contentbox-text h2 {
    font-family: GothaProMed, Montserrat;
    font-size: 24px;
    font-weight: unset;
    padding-bottom: 10px;
}

.my-contentbox-text p {
    font-family: "Open Sans";
    font-size: 16px;
}

.my-contentbox-pictures {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.my-contentbox-pictures img {
    max-width: 90%;
    max-height: 90%;
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.PlainHTML {
    display: contents;
}

/******************************************************************************
* Kontaktformular
*******************************************************************************/
@media (max-width: 600px) {
    .label-group {
        padding-top: 3%;
    }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1024px) {
    .label-group {
        padding-top: 3%;
    }
}

.label-group {
    display: flex;
    flex-direction: row;
    padding-bottom: 1%;
}

.form-group{
    margin-bottom:20px;
    display: flex;
    flex-direction: column;
}

.form-group input,
.form-group textarea {
    max-width: 600px;
}

label{
    font-weight:bold;
}

.required{
    color:red;
    margin-left:4px;
    display: flex;
    flex-direction: row;
}

.error{
    color:red;
    font-size:0.9em;
    margin-top:4px;
}

input[type=submit]:disabled{
    opacity:0.5;
    cursor:not-allowed;
}

/************************************************************************************
* Custom - Bereich
************************************************************************************/

.costume-table {
    width: 100%;
    line-height:1.5;
    border-spacing: 0px;
    font-size: 16px;
    max-width: 1000px;
}

.costume-table-row {
    max-width: 250px;
    padding: 5%;
    vertical-align: middle;
}

.costume-table-image {
    max-width: 200px;
    width: 100%;
}

@media (max-width: 759px) {
    .mediawiki-table {
        padding-left: 1%;
        padding-right: 1%;
    }
}
