﻿/* BVDS CUSTOM START */

/*
 WICHTIG: Es gibt für jeden Event Type ein eigenes CSS, welches eine höhere Priorität hat als dieses.
 Im Moment ist alles dupliziert, so dass alle dort definierten Regeln die hier angepassten überschreiben.
*/

/* General design */
/* round edges for all form fiels and main content div; border around content div */
div.CenteredContainer {
    outline: 1px solid #dddddd;
    border-radius: 5px;
}
/* nice arrow for links */
.eventOnlineLink::after {
    content: "\25B8";
}
/* adjust p spacing */
.Content p {
    margin-block-start: 0rem;
    margin-block-end: 0.6rem;
}

/* General form elements */
/* rounded input fields */
.eventOnlineTextfield, .eventOnlineCombobox, .eventOnlineTextarea {
    border-radius: 5px;
}
/* disabled Status deutlicher hervorheben */
input:disabled,
select:disabled {
    background-color: #f0f0f0;
    color: #888;
    cursor: not-allowed;
}
/* Pflicht-Checkboxen; roter Rand links, analog zu Form Fields; Via IDs -> muss fuer jedes Element angelegt werden */
td:has(input#QUESTIONNAIREPAGE_CHECKBOX_ZUSTIMMUNG_DATENSCHUTZ:not(:checked)),
td:has(input#QUESTIONNAIREPAGE_CHECKBOX_ZUSTIMMUNG_ARBEITSKREIS:not(:checked)) {
    box-shadow: inset 1px 0 0 0 red;
}

/* Start */
/* Ausblenden der Termine */
div.Content #STARTPAGE_NOTES2 ~ div.SubtitleAppointmentStartPage,
div.Content #STARTPAGE_NOTES2 ~ table.Appointments {
    display: none;
}
/* more space on bottom of event info table */
table.EventTable {
    margin-bottom: 16px;
}
/* button style */
a#STARTPAGE_REGISTER_LINK, a#STARTPAGE_DETAILS_LINK {
    background-color: #053787;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 14px;
    cursor: pointer;
    text-decoration: none;
}
a#STARTPAGE_REGISTER_LINK:hover, a#STARTPAGE_DETAILS_LINK:hover {
  color: white;
}
/* do not display header after page 1 */
div.gwt-TabLayoutPanelContentContainer div:nth-child(n+3) div.Header {
    display: none;
}

/* Kontaktdaten */
/* Hinweis alternative Rechnungsadresse nicht fett */
#REGISTERPAGE_TEXTINFORM_HINWEIS_DIFBILLINGADR,
#CONTACTPAGE_TEXTINFORM_HINWEIS_DIFBILLINGADR {
    font-weight: normal;
}

/* Termine: */
/* kein Abstand von Zeitangaben */
.Appointments .Appointment .Time,
.Appointments .AppointmentGroupAppointment .Time {
    padding-left: 0px;
}
/* Ausrichtung und Abständer harmonisieren */
.RegisterPage .AppointmentGroupTitle {
    padding-left: 0px;
}
.eventOnlineCheckBox,
.AppointmentGroupTitle .Title .TitleText .eventOnlineCheckBox {
    margin-left: 5px;
    margin-right: 6px;
}
.RegisterPage .Appointment .Title, .RegisterPage .AppointmentGroupAppointment .Title {
    display: inline-block;
    padding-left: 0px;
}
.Appointments .Date {
    padding-left: 24px;
}
.AppointmentGroup .Separator {
    top: -9px; 
}
.AppointmentGroup td {
    padding-top: 8px;
}
.Appointments td:not(:has(input)) div.Date {
    padding-left: 0px;
}
@media (max-width: 1024px) {
    div.QuestionnairePage input.eventOnlineCheckBox {
        margin-right: 10px;
    }  
}
/* Anderer Hinweistext bzgl. Terminen / Optionen */
.RegisterPage .Appointments::before {
    content: "Bitte wählen Sie alle Terminoptionen aus, an denen Sie teilnehmen wollen:";
    margin-bottom: 10px;
    display: inline-block;
    font-weight: bold;
}
.RegisterPage .Appointments .SubtitleAppointmentText {
  display: none;
}

/* Confirm Page: margins; smaller font also for events  */
.ConfirmPage .SubtitleAppointment {
    margin-bottom: 5px;
}
.ConfirmPage .Appointment,
.ConfirmPage .AppointmentGroup,
.ConfirmPage .AppointmentGroupAppointment,
.ConfirmPage .AppointmentGroupAppointmentFirst,
.ConfirmPage .AppointmentGroupAppointmentLast {
    font-size: 9pt;
}

/*
 BVDS CUSTOM END
 HEREAFTER:
 - VPC STUFF, partly altered to fit above changes
 - All rules which do not change standard styles have been deleted (redundant)
*/

@media (max-width: 1024px) {
	Content.InvitationDatas tr td input,
	Content.InvitationDatas tr td textarea,
	Content.InvitationDatas tr td select {
	  font-size: 16px;
	}
	
	.CustomHeaderWrapper.WithMarkdownSyntax, #RegisterOthers_CHW img, #Confirm_CHW img, #Questionnaire_CHW img, #SuccessfulRegisterToEvent_CHW img{
		width: 100%;
	}
	.Content colgroup > col:nth-child(1){
		width: 100%;
	}
	.Content colgroup > col{
		width: 0;
	}
	.Content.InvitationDatas tr tbody{
		display:flex;
	}
	
	.Content.InvitationDatas tr td{
		display: flex;
	}

    .InvitationDatas td, .MandatoryLabel {
        padding-right: 0px;
    }
	
	.Content.InvitationDatas tr td *:not(input[type="checkbox"]){
		width: 100%;
		font-size: 16px!important;
	}
	
	.Content.InvitationDatas tr{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		/*gap:5px;  does not produce consistent spacing*/
        margin-top: 5px;
	}
	
	.Content.InvitationDatas td label{
		padding-left: 0px;
		margin:0;
	}
	
	.dialogMiddleCenter > div > div > div:nth-child(3){
		height:32px!important;
	}

    .eventOnlineComboboxTD {
        padding-right: 0px !important;
    }
}

@media (min-width: 1025px) {
    table.InvitationDatas tbody tr td:has(input),
    table.InvitationDatas tbody tr td:has(div.comboboxWrapper) {
        padding-top:3px;
        padding-bottom: 3px;
    }
}

body
{
	background-color:#f1f1f1;
    font-family: "Segoe UI", "Lucida Sans", Arial, sans-serif;
}

.CenteredContainer
{
	background-color: white;
    max-width: 600px;
}

.Header
{
    padding: 15px 20px 20px;
	margin-left: 0px;
    margin-bottom: 0px;
}

.Header .AddressLetter
{
    font-size: 12pt;
}

.Info
{
    font-size: 10pt;
}

.MainTitle
{
    font-size: 12pt;
    color: #000000;
    font-weight: normal;
}

.BottomWrapper
{
	border: none;
}

.Bottom
{
    width: 100%;
}

.Subtitle
{
    font-weight: normal;
}

.SubtitleAppointment, .SubtitleAppointmentStartPage
{
    color: #000000;
    font-weight: normal;
}

.SubtitleAppointmentStartPage
{
    margin-top: 26px;
}

.SubtitleAppointmentText
{
    color: #000000;
}

.ContentWrapper
{
	border: none;
    padding: 20px;
}

/* This spaces the form to a fixed height, makes no sense, use spacing between <tr> instead */
.RegisterOthersContent
{
    height: unset; /* original 450px; */
}

.RegistrationDatasSecondColumn
{
    float: right;
    margin-top: 3px;
}

.Appointments
{
    padding-left: 0px;
    padding-right: 0px;
}

.Appointment
{
    background-color: #FFFFFF;
}

.Appointment .Title
{
    color: #000000;
}

.Appointment .Time
{
    text-align: right;
    padding-right: 15px;
}

.AppointmentGroup
{
    color: #000000;
    font-weight: normal;
}

.AppointmentGroup .TitleText
{
	color: #000000;
}

.Appointments .Date, .Appointments .Time
{
    width: 10%;
    vertical-align: top;
    white-space: nowrap;
}

.Appointments .Title
{
    width: 100%;
}

.AppointmentGroupAppointmentLast td
{
    padding-bottom: 0px;
}

.AppointmentGroupAppointment .Time
{
    text-align: right;
    padding-right: 15px;
}

.AppointmentGroupAppointment .eventOnlineRadioButton {
    margin: 2px 6px 0 22px;
}

.eventOnlineLink
{
    color: #548DD4;
    text-align: right;
	font-weight: bold;
}

.EventOnlineButtonsWrapper {
    display: flex;
    gap: 5px; /* Abstand zwischen den Buttons */
}

.eventOnlineButton {
    background-color: #053787;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 14px;
    cursor: pointer;
}

.eventOnlineButton:disabled {
    background-color: #bbbbbb; /* Grauer Hintergrund für deaktivierte Buttons */
    cursor: not-allowed; /* Kein Zeiger für deaktivierte Buttons */
}

.NotesArea
{
    width: 100%;
}

.MandatoryHint
{
    color: Gray;
}

.TitleSeparator
{
    margin-bottom: 10px;
}

.Companions > td > div > span
{
    float: left;
}

.SuggestionPage
{
    padding: 0px !important;
}

.SuggestionPage .ContentWrapper
{
    border: none;
    padding: 0px !important;
}

.SuggestionPage .BottomWrapper
{
    border: none;
    padding: 0 !important;
}

.SuggestionForm
{
    width: 90%;
    margin-top: -15px;
}

.SuggestionFormFirstColumn
{
    float: right;
    /*font-family: sans-serif;*/
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
    padding-right: 15px !important;
}

.SuggestionFormSecondColumn
{
    width: 85% !important;
}

.suggestionTextarea
{
    /*font-family: Verdana;*/
    font-size: 11px;
    padding: 2px;
    resize: none;
}

.suggestionCheckbox
{
    margin-bottom: 15px;
    margin-top: 15px;
}

.SuggestionLink
{
    display: block;
    float: right;
    margin-top: 11px;
    color: black;
    cursor: pointer;
}

.SuggestionLinkPicture
{
    width: 32px;
    height: 20px;
    background: url(../Images/envelope_small.png) no-repeat 0px 0px;
    margin-bottom: 5px;
    margin-left: 13px;
}

.SuggestionLinkLabel, .SuggestionLinkLabel:visited
{
    color: #666;
    /*font-family: Verdana;*/
    font-size: 10px;
    font-weight: lighter;
}


#SUGGESTIONPAGE_TEXTFIELD_TO
{
    color: #666;
    height: 50px !important;
}

#SUGGESTIONPAGE_TEXTFIELD_MESSAGE
{
    height: 70px !important;
}

#SUGGESTIONPAGE_CHECKBOXLABEL_EMAIL
{
    margin-left: -2px !important;
}

.FormDatas
{
    font-size: 9pt;
}

#Start_CHW > a > img{
	width: 100%;
}