@import url("https://use.typekit.net/qta5fsj.css");

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

[data-location="11"] {
    display: none !important;
}

.fa, .fas {
	display: none;
}

.btn-default, .btn-primary {
	width: auto!important;
}

.pull-right {
	float: left!important;
}

.pull-left {
	width: 100%;
}

#registrationFormSend {
	font-size: 1.4em;
	margin-top: 20px;
}

.public-registration-form-page .booking-type-item {
	min-width: 100%;
}

:root {
    --primary-color: #a80325;
    --primary-light: #fb325a;
    --primary-dark: #640216;
    --complementary-color: #B20000;
    --neutral-light: #e8e3e4;
    --neutral-dark: #000;
    --white: hsl(40, 100%, 97%);
    --bg-color: #ffffff;
    --color-font: var(--neutral-dark);
    --font-family: 'gotham', sans-serif;
    --link-color: #7d031b;
    --link-visited: #5a0c1c;
    --link-hover: var(--primary-light);
    --bt-color: var(--primary-color);
    --bt-color-hover: #ffffff;
    --bt-color-font: white;
    --bt-color-font-hover: var(--primary-color);
    --bt-border-radius: 3px;
    --bt-padding: 5px 14px;
    --bt-transition: all 0.3s;
    --bt-border: 1px solid var(--primary-color);
    --th-bg-color: #f6eff0;
    --th-color-font: var(--primary-dark);
    --tr-bg-color-odd: #fafafa;
    --tr-bg-color-even: #f4f1f1;
    --table-margin:20px 0 15px 0;
    --table-width: 90%;
	/*
    --alert-bg: var(--neutral-light);
    --alert-bo: var(--primary-light);*/
    --alert-border-radius: 5px;
    --mobile-card-margin: 5%;
    --mobile-card-shadow: 10px 10px 30px rgba(168, 3, 37, 0.1);
    --mobile-card-border-radius: 6px;
}

.course-events {
    display: none;
}

#lblPartnerBic::after, label[for="customerBic"]::after {
    content: " *" !important;
    color: transparent !important;
}

#lblPartnerBic::after, label[for="customerBic"]::after, label[for="partnerIban"]::after, label[for="partnerAccountOwner"]::after {
    display: none !important;
}

.course-key {
    display: none !important;
}

body {
    font-size: 16px;
    font-family: var(--font-family);
    background-color: var(--bg-color);
    color: var(--color-font);
}

h1, h2, h3, .h1, .h2, .h3 {
    margin-top: 0px;
    font-weight: 400;
    font-family: var(--font-family);
    color: var(--color-font);
}

table {
    margin: var(--table-margin);
    border-collapse: collapse;
    width: var(--table-width);
}

th {
    background: var(--th-bg-color);
}

tr {
    transition: 0.2s ease-in;
    cursor: pointer;
}

h1 {
    font-weight: 600;
    text-align: center;
    color: var(--color-font);
    padding: 10px 0px;
}

tr.odd td {
    background-color: var(--tr-bg-color-odd) !important;
}

tr.even td {
    background-color: var(--tr-bg-color-even) !important;
}

table > thead > tr > th, table > tbody > thead > tr > th, table > tfoot > tr > th, table  > tr > td, table > tbody > thead > tr > td, table > tfoot > tr > td {
	font-family: gotham-xnarrow, sans-serif!important;
	font-weight: 500;
	font-style: normal;
}

.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td {
	border-btop:1px solid #d9c0c4;
}

.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td {
	vertical-align: middle;
}

.btn-default, .btn-primary {
	font-weight: 700;
}

td.col-remarks, th.col-remarks, th.col-teacher, td.col-teacher, th.col-location, td.col-location {
    display: none !important;
}

td.event-block {
    display: none;
}		

.btn-default, .btn-primary {
    text-decoration: none;
    display: inline-block;
    padding: var(--bt-padding);
    background-color: var(--bt-color);
    color: var(--bt-color-font);
    transition: var(--bt-transition);
    border-radius: var(--bt-border-radius);
    border: 2px solid var(--primary-color);
    min-width: 120px;
    text-align: center;
	margin-top: 5px;
}

.btn-default:visited, .btn-primary:visited {
    text-decoration: none;
    display: inline-block;
    padding: var(--bt-padding);
    background-color: var(--bt-color);
    color: var(--bt-color-font);
    transition: var(--bt-transition);
}

.btn-default:hover, .btn-primary:hover {
    text-decoration: none;
    display: inline-block;
    padding: var(--bt-padding);
    color: var(--bt-color-font-hover);
    border: 2px solid var(--primary-color);
    background-color: var(--bt-color-hover);
}

.btn-default.disabled {
    background-color: var(--bt-color);
    color: var(--bt-color-font);
}

.alert-info {
    color: var(--primary-color);
}

#public-coupon-form, .coupon-step-container, .coupon-step-header {
    background: none !important;
}

a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s;
}

a:visited {
    color: var(--link-visited);
}

a:hover, a:focus {
    color: var(--link-hover);
    text-decoration: underline;
 }


.location-filter a[data-location="4"], a[data-location="3"], a[data-location="2"], a[data-location="1"], a[data-location="0"] {
	margin-top: 6px;
	display: inline-block;
    background-color: white;
    color: #000;
    border: 2px solid #ad0330;
    padding: var(--bt-padding);
    border-radius: 5px;
	font-family: gotham-xnarrow, sans-serif;
	font-weight: 500;
	font-style: normal;
    transition: var(--bt-transition);
}

.location-filter a[data-location="4"]:hover, a[data-location="3"]:hover, a[data-location="2"]:hover, a[data-location="1"]:hover, a[data-location="0"]:hover {
		margin-top: 6px;
	background-color: var(--complementary-color);
    color: white;
    padding: var(--bt-padding);
    border-radius: var(--bt-border-radius);
    text-decoration: none;
    font-weight: 500;
    border: 2px solid var(--complementary-color);
    transition: var(--bt-transition);
		
}

.location-filter a[data-location="4"].active, a[data-location="3"].active, a[data-location="2"].active, a[data-location="1"].active, a[data-location="0"].active {
	margin-top: 6px;
	background-color: var(--complementary-color);
    color: white;
    padding: var(--bt-padding);
    border-radius: var(--bt-border-radius);
    text-decoration: none;
    font-weight: 500;
    border: 2px solid var(--complementary-color);
    transition: var(--bt-transition);	
}

.alert-warning {
	background-color: #ffffff;
	border:0!important;
	color: #ad0330;
	padding: 0!important;
}

.types-intro h2 {
    color: var(--primary-dark);
    font-weight: 400;
    margin-bottom: 25px;
    text-align: center;
    padding: 15px 0px;
    border-bottom: 1px solid var(--neutral-light);
}

.type-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 0px auto;
    max-width: 1200px;
    padding: 0px 15px;
}

.type-item {
    background-color: rgb(255, 255, 255);
    border-radius: 6px;
    box-shadow: rgba(168, 3, 37, 0.08) 0px 3px 10px;
    margin-bottom: 25px;
    overflow: hidden;
    transition: 0.3s;
    width: 100%;
    max-width: 350px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(168, 3, 37, 0.05);
}

.type-item:hover {
    box-shadow: rgba(168, 3, 37, 0.15) 0px 5px 15px;
    transform: translateY(-3px);
}

.type-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background-color: var(--primary-color);
    position: relative;
}

.type-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.type-item:hover .type-image img {
    transform: scale(1.05);
}

.type-image::after {
    content: "Bild Typ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgba(255, 255, 255, 0.7);
    font-size: 26px;
    font-weight: 300;
    text-shadow: rgba(0, 0, 0, 0.3) 0px 1px 3px;
}

.type-wrapper {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.type-item-name {
    color: var(--primary-dark);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.type-item-teaser {
    color: var(--color-font);
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5;
    flex-grow: 1;
}

.empty-teaser {
    display: none;
}

.type-item-link, .type-item-group-link {
    margin-top: 10px;
}

.type-item-link a, .type-item-group-link a {
    display: inline-block;
    color: var(--link-color);
    text-decoration: none;
    font-weight: 500;
    padding: 5px 0px;
    position: relative;
    transition: 0.3s;
}

.type-item-link a::after, .type-item-group-link a::after {
    content: "→";
    margin-left: 5px;
    transition: transform 0.3s;
}

.type-item-link a:hover, .type-item-group-link a:hover {
    color: var(--primary-color);
}

.type-item-link a:hover::after, .type-item-group-link a:hover::after {
    transform: translateX(3px);
}

.type-no-image .type-image {
    display: none;
}

.type-no-image {
    max-width: 300px;
}

.type-header-name h2 {
    color: var(--primary-dark);
    font-weight: 400;
    text-align: center;
    padding: 15px 0px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--neutral-light);
}

.type-header-image {
    width: 100%;
    max-width: 800px;
    height: 250px;
    margin: 0px auto 30px;
    background-color: var(--primary-color);
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: rgba(168, 3, 37, 0.1) 0px 3px 10px;
}

.type-header-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.type-header-image:empty::after, .type-header-image:not(:has(img))::after {
    content: "Bild Typ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgba(255, 255, 255, 0.7);
    font-size: 32px;
    font-weight: 300;
    text-shadow: rgba(0, 0, 0, 0.3) 0px 1px 3px;
}

.level-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 0px auto;
    max-width: 1200px;
    padding: 0px 15px;
}

.level-item {
    background-color: rgb(255, 255, 255);
    border-radius: 6px;
    box-shadow: rgba(168, 3, 37, 0.08) 0px 3px 10px;
    margin-bottom: 20px;
    overflow: hidden;
    transition: 0.3s;
    width: 100%;
    max-width: 350px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(168, 3, 37, 0.05);
}

.level-item:hover {
    box-shadow: rgba(168, 3, 37, 0.15) 0px 5px 15px;
    transform: translateY(-3px);
}

.level-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background-color: var(--primary-light);
    position: relative;
}

.level-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.level-item:hover .level-image img {
    transform: scale(1.05);
}

.level-wrapper {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.level-item-name {
    color: var(--primary-dark);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.level-item-teaser {
    color: var(--color-font);
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5;
    flex-grow: 1;
}

.level-item-link {
    margin-top: 10px;
}

.level-item-link a {
    display: inline-block;
    padding: 8px 16px;
    background-color: var(--primary-color);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    transition: 0.3s;
    border: 1px solid transparent;
    box-shadow: rgba(168, 3, 37, 0.2) 0px 2px 4px;
}

.level-item-link a:hover {
    background-color: white;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    box-shadow: rgba(168, 3, 37, 0.2) 0px 4px 8px;
    transform: translateY(-1px);
}

.type-description {
    max-width: 800px;
    margin: 0px auto 30px;
    padding: 0px 20px;
    color: var(--color-font);
    line-height: 1.6;
    text-align: center;
}


.course-item span {
	float: left;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
	float: none!important;
}

.col-xs-offset-4 {
	margin-left: 0!important;
}

.col-xs-offset-4 .pull-right, .col-xs-6 .pull-right {
	float: left!important;
}

.alert-info {
	background-color: #ad0330!important;
	border: 0;
	color: #fff!important;
}

.public-registration-form-page .registration-name-text-prefix, .public-registration-form-page .course-displayName {
	font-size: 1.4em;
}

.alert-info {
	line-height: 2em;
}

.public-registration-form-page .booking-type-item.selected {
	border: 2px solid #ad0330;
	background-color: #ad0330;
	color: #fff;
	font-style: normal!important;
	text-align: left!important;
	padding: 12px;
}

.public-registration-form-page .booking-type-item {
	border: 2px solid #ad0330;
	color: #000;
	font-style: normal!important;
	text-align: left!important;
	padding: 12px;
	margin: 0 10px 10px 0!important;
}

.booking-type-name .booking-type-name-value {
	font-size: 1.4em;
}

.public-registration-form-page .booking-type-item {
	border-radius: 5px;
}

.info-label{
	font-weight: bold!important;
}

.agb-text a {
margin-left: 10px;
}

/*auskommentiert*/

.location-filter-name {
	display: none!important;
}


.btn .btn-xs .btn-primary {
	float: left!important;
}

@media screen and (max-width: 600px) {

	thead, #courses-table > tbody > tr:nth-child(2n + 1) > td.col-events, #courses-table > tbody > tr:nth-child(2n) > td.col-events {
        display: none;
    }

    table td [class * ="col-"], table th [class * ="col-"] {
        display: block;
    }
	tr.odd td, tr.even td {
		background-color: #ffffff!important;
	}
	
	.table>tbody>tr>td {
		padding: 15px 0!important;
	}

    #courses-table table, #courses-table tr, #courses-table tbody, #courses-table td, #courses-table th {
        display: block;
        border: medium;
    }

    #courses-table > tbody > tr:nth-child(2n + 1), #courses-table > tbody > tr:nth-child(2n) {
        background-color: #ffffff;
        color: var(--color-font);
        border: 1px solid #666;
        border-radius: 5px;
        margin: 10px 0 10px 0;
        box-shadow: none;
        padding: 12px;
        transition: 0.3s;
    }

    #courses-table > tbody > tr:hover {
		border:2px solid #ad0330;
        transform: translateY(-2px);
    }

    #courses-table tbody tr:nth-child(2n) td.col-coursename::before, #courses-table tbody tr:nth-child(2n + 1) td.col-coursename::before {
        content: "Kurs:";
    }

    #courses-table tbody tr:nth-child(2n) td.col-location::before, #courses-table tbody tr:nth-child(2n + 1) td.col-location::before {
        content: "Ort:";
    }

    #courses-table tbody tr:nth-child(2n) td.col-firstEvent::before, #courses-table tbody tr:nth-child(2n + 1) td.col-firstEvent::before {
        content: "Einstieg: ";
    }

    #courses-table tbody tr:nth-child(2n) td.col-events::before, #courses-table tbody tr:nth-child(2n + 1) td.col-events::before {
        content: "Terminanzahl: ";
    }

    #courses-table tbody tr:nth-child(2n) td.col-price::before, #courses-table tbody tr:nth-child(2n + 1) td.col-price::before {
        content: "Preis: ";
    }

    #courses-table tbody tr:nth-child(2n) td.col-remarks::before, #courses-table tbody tr:nth-child(2n + 1) td.col-remarks::before {
        content: "Anmerkungen: ";
    }

    td {
        text-align: right;
    }

    td::before {
        float: left;
        margin-right: 1rem;
        font-weight: bold;
    }

    #courses-table > tbody > tr:nth-child(2n + 1) > td.col-coursename, #courses-table > tbody > tr:nth-child(2n) > td.col-coursename {
        font-weight: normal;
    }

    .btn-default {
        width: auto;
        margin: 10px auto;
        display: inline-block;
    }

    .btn, .btn-primary {
		font-size: 16px;
        display: block;
        text-align: center;
        margin: 10px auto;
        padding: 0.4em 0.8em;
        width: auto;
        max-width: 80%;
    }

    .btn-default, .btn-primary, .btn-default:hover, .btn-primary:hover, .btn-default:visited, .btn-primary:visited {
        width: auto;
        margin: 30px 0 0 0;
        display: inline-block;
        text-align: center;
    }

    td:has(.btn-default), td:has(.btn-primary) {
        text-align: center;
    }

    .type-container, .level-container {
        flex-direction: column;
        align-items: center;
    }

    .type-item, .level-item {
        max-width: 90%;
    }

    .type-header-image {
        height: 180px;
    }
	
	.col-xs-6 {
		width: 100%;
	}
	.pull-right {
		float: left;
	}
	.btn-primary {
		margin: :0;
	}
	
	.col-xs-4 {
		float: inherit;
	}
}




div[data-template="F12 Entwicklertools"].coupon-template-item::before {
  /* CSS-Stile hier einfügen */
  content: "";
  background: url("https://static.nimbuscloud.at/3062/1749650598.a9305a1315cb67d522212a1b62dff01476199d7f1f0421f6c2694982a1cacdb7");
  max-width: 100%; /* width of the image */
  height: 300px; /* height of the image */
  overflow: hidden;
  display: block;
  background-size: cover;
  background-position: center; /* Zentriert das Bild */
  background-repeat: no-repeat;
}




