@font-face{font-family:'TUITypeWebFont';font-display:fallback;src:local('☺'),url(MeinSchiffSansPro_W_Rg.woff2) format('woff2'),url(MeinSchiffSansPro_W_Rg.woff) format('woff'),url(MeinSchiffSansPro_Rg.ttf) format('truetype');font-weight:400;font-style:normal}

sub,sup{vertical-align:super}
sub{vertical-align:sub}
 

/* Allgemeine Stile */
body {
    font-family: 'TUITypeWebFont','Helvetica', Arial, sans-serif;
    color: #333; /* Neutraler Text */
    background-color: #f5f9fc; /* Heller Hintergrund */
    margin: 0;
    padding: 0;
    text-align: center;
}

h1 {
    color: #273e6b;
    font-size: 2.em;
    font-weight:bold;
    font-family: 'TUITypeWebFont';
    
}

h2 {
    font-size: 1.8em;
    color: #1a4e85; /* CI-Blau */
    font-family: 'TUITypeWebFont';
}

.space {
    margin-top:30px;

}

/* Einheitlicher Rahmenstil für alle Seiten */
.container {
    max-width: 1044px;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: 5px; /* Abgerundete Ecken */
    border: 4px solid #1a4e85; /* CI-Blau-Rahmen */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Leichter Schatten */
    text-align: center; /* Zentrierte Inhalte */
    padding-bottom: 20px;
}

.container h1, .container h2 {
    color: #1a4e85; /* CI-Blau für Überschriften */
    margin-bottom: 20px;
}

.container p {
    font-size: 1.1em;
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
}


/* Header mit Logo */
header {
    margin: 0 auto;
    max-width:1044px;
    padding:0px;
}


header .tuilogo {
    /* Logo-Größe */
   background-color: #85cee4;
   content: "";
    clear: both;
    display: table;
    padding:0px;
    margin:0 auto;
    max-width:1044px;
    width:100%;
}

.columnHeader {
    float: left;
    width: 50%;
    height:70px;
}

header .mslogo {
    /* Logo-Größe */
   height:70px; 

}

header .tuicruises {
    left: 0px; 
    height:70px; 
}


header h1 {
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px;
    margin: 0;
}

/* Hero-Bereich */
.hero {
    text-align: center;
    margin: 0 auto;
    max-width:1044px;
}

.hero .slider {
    position: relative;
    height: auto;
    overflow: hidden;
    border-radius: 5px; /* Optional: Rundung */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Optional: Schatten */
    
}

.hero .slider img {
    width: 100%;
    height: auto;
    display: block;
}

.hero .thumbnails {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
    max-width: 1044px;
    flex-wrap: wrap;
}

.hero .thumbnails img {
    width: 80px;
    height: 50px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border 0.3s;
}

.hero .thumbnails img:hover, .hero .thumbnails img:focus {
    border: 2px solid #ffd200; /* CI-Gelb */
}

/* Gewinnabschnitt */
.gewinn-section {
    max-width: 1044px;
    margin: 40px auto;
    text-align: center;
}

.gewinn-section .hl  {
    padding: 20px ;
}

.gewinn-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    background-color: #f5f9fc;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
/* Abschnitt: Reise-Details */
.reise-details {
    background-color: #ffffff; /* Weißer Hintergrund für Abgrenzung */
    padding: 20px;
    border-radius: 5px; /* Abgerundete Ecken */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Leichter Schatten */
    margin-top: 20px;
    margin-bottom: 40px; /* Mehr Abstand nach unten */
    text-align: left; /* Linksbündiger Text */
}

/* Bestehender Container für Reiseinformationen */
.gewinn-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    background-color: #f5f9fc;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 40px; /* Zusätzlicher Abstand */
}
/* Titel für die Highlights */
.reise-details h3 {
    color: #1a4e85; /* CI-Blau */
    font-size: 1.5em;
    margin-bottom: 15px;
}

/* Liste der Highlights */
.reise-highlights {
    list-style: none; /* Entfernt Standard-Listenpunkte */
    padding: 0;
    margin: 0;
    font-size: 1.1em;
    line-height: 1.6; /* Erhöht Zeilenabstand für Lesbarkeit */
}

.reise-highlights li {
    margin-bottom: 15px;
}

.reise-highlights li strong {
    color: #1a4e85; /* CI-Blau für Hervorhebungen */
}

.reise-highlights li::before {
    content: ""; /* Symbole (Emojis bleiben, wenn sie gewünscht sind) */
    color: #ffd200; /* CI-Gelb */
    margin-right: 10px;
    font-size: 1.2em;
    vertical-align: middle;
}
/* Linke Spalte (Karte und Bilder) */
.gewinn-map {
    flex: 1;
    max-width: 45%;
}

.gewinn-map img {
    width: 100%;
    border-radius: 5px;
    margin-bottom: 10px;
}
.gewinn-map .thumbnails {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
    max-width: 100%;
    flex-wrap: wrap;
}

.gewinn-map .thumbnails img {
    width: 60px;
    height: 40px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border 0.3s;
}

.gewinn-map .thumbnails img:hover, .gewinn-map .thumbnails img:focus {
    border: 2px solid #1a4e85; /* CI-Gelb */
}
/*
.thumbnails {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.thumbnails img {
    width: 60px;
    height: 40px;
    border-radius: 4px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border 0.3s;
}

.thumbnails img:hover {
    border: 2px solid #1a4e85; 
}*/

/* Rechte Spalte (Reiseinformationen) */
.gewinn-info {
    flex: 2;
    max-width: 55%;
    text-align: left;
}

.gewinn-info h3 {
    font-size: 1.5em;
    color: #1a4e85; /* CI-Blau */
    margin-bottom: 10px;
}

.gewinn-info ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}

.gewinn-info ul li {
    font-size: 1em;
    margin-bottom: 5px;
}

.gewinn-info p {
    font-size: 1.1em;
    margin-bottom: 15px;
    line-height: 1.5;
}

.gewinn-info p strong {
    color: #1a4e85; /* CI-Blau */
    font-size: 1.2em;
}

/* Formulare */
form {
    max-width: 600px;
    margin: 0 auto;

    text-align: left;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 2px solid #1a4e85; /* CI-Blau-Rahmen */
}

label {
    font-weight: bold;
    color: #1a4e85; /* CI-Blau */
    display: block;
    margin-bottom: 5px;
}

input[type="text"], input[type="email"] {
    width: 100%;
    padding: 10px; /* Padding für gleichmäßige Abstände */
    margin-bottom: 15px;
    border: 1px solid #ccc;
    color:#1a4e85;
    border-radius: 5px;
    font-size: 1em;
    box-sizing: border-box; /* Korrekte Berechnung von Breite und Padding */
}

input[type="radio"], input[type="checkbox"] {
    margin-right: 5px;
}

input[type="checkbox"] + label {
    margin-left: 5px;
}

/* Buttons */
button, .button {
    background-color: #1a4e85; /* Etwas dunkleres Gelb */
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    font-size: 1em;
    transition: background-color 0.3s, transform 0.3s;
    display: inline-block;
    text-align: center;
}

button:hover, .button:hover {
    background-color: #ffd200; /* CI-Gelb */
    color: #1a4e85; /* CI-Blau */
}

/* Formularfelder */
form label {
    font-weight: bold;
    color: #1a4e85; /* CI-Blau */
    display: block;
    margin-bottom: 5px;
}

form input[type="text"], form input[type="email"], form input[type="date"] {
    width: 100%;
    padding: 10px; /* Padding für gleichmäßige Abstände */
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
    box-sizing: border-box; /* Korrekte Berechnung von Breite und Padding */
}


/* Flexbox für Straße und Hausnummer */
.row {
    display: flex;
    gap: 10px; /* Schließt die Lücke zwischen den Feldern */
    margin-bottom: 15px;
    flex-wrap: wrap; /* Passt sich an kleinere Bildschirme an */
}

.column {
    flex: 1; /* Gleiche Breite für Felder */
    /* min-width: 150px; Mindestbreite für kleinere Bildschirme */
}

.column-small {
    flex: 0.4; /* Kleinere Breite für Hausnummer und PLZ */
    /*min-width: 100px;  Mindestbreite */
}

/* Formularfelder */
form label {
    font-weight: bold;
    color: #1a4e85; /* CI-Blau */
    display: block;
    margin-bottom: 5px;
}

form input[type="text"], form input[type="email"], form input[type="date"] {
    width: 100%; /* Alle Felder gleich breit */
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
    box-sizing: border-box;
}

form select.select-box {
    padding: 10px;
    width: 30%;
    font-size: 1em;
    background-color: white;
    color: #1a4e85;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px; /* Padding für gleichmäßige Abstände */
    margin-bottom: 15px;
    font-size: 1em;
    box-sizing: border-box; /* Korrekte Berechnung von Breite und Padding */
    /*appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;*/
} 


.label-sal{
    width: 100%;
}


/* Checkbox und Text nebeneinander */
.checkbox-container {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    text-align: left;
}

.checkbox-container input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 4px;
}

.checkbox-container label {
    color: #333;
    font-size: 0.9em;
    line-height: 1.4;
}

/* Links in der Checkbox */
.checkbox-container label a {
    color: red; /* CI-Blau */
    text-decoration: underline;
}

.checkbox-container label a:hover {
    text-decoration: underline;
}


/* Responsive Anpassung */
@media (max-width: 768px) {
    .row {
        flex-direction: column; 
    }

    .gewinn-container {
        flex-direction: column;
    }

    .gewinn-map,
    .gewinn-info {
        max-width: 100%;
    }

    header img {
        height: 40px; /* Kleineres Logo */
    }

    header h1 {
        font-size: 1.5em;
    }

    .container {
        /*padding: 10px;*/
    }

    form {
        max-width: 90%;
    }
}

/* Container für Checkbox und Beschriftung */
.checkbox-container {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    text-align: left;
}

.checkbox-container input[type="checkbox"] {
    margin-right: 10px; /* Abstand zwischen Checkbox und Text */
    margin-top: 4px; /* Vertikale Ausrichtung der Checkbox */
}

.checkbox-container label {
    color: #333;
    font-size: 0.9em;
    line-height: 1.4;
}

.checkbox-container label a {
    color:#333;
    text-decoration: underline;
}

@media (max-width: 500px) {
    
    .columnHeader {
        height:50px;
    }

    header .mslogo {
        /* Logo-Größe */
        height:50px; 
    }

    header .tuicruises {
        /* Logo-Größe */
        height:50px; 
    }

    form select.select-box {
        min-width: 200px;
    }

    .gewinn-map.thumbnails img {
        width: 50px;
        height: 35px;
        border-radius: 4px;
        border: 2px solid transparent;
        cursor: pointer;
        transition: border 0.3s;
    }

    .column {
        flex: 1; /* Gleiche Breite für Felder */
        min-width: 250px;
    }
    
    .column-small {
        flex: 1; 
        min-width: 250px; /* Mindestbreite */
    }
  

}

/* Footer */
.footer {
    max-width: 1044px;
    margin:auto;
    background-color: #85cee4; /* CI-Blau */
    color: #1a4e85; /* Weißer Text */
    padding: 10px;
    text-align: center;
    /* border-top: 4px solid #ffd200; CI-Gelb */
    font-size: 0.9em;
}

.footer a {
    color: #1a4e85; /* CI-Gelb */
    margin: 0 10px;
}
