/* @group Buchungsformular */

/* @group Zusammenfassung */

.zusammenfassung_buchung
{
	margin-top: -2em;
	padding-top: 1em;
}

/* @end */

/* @group Termine */

#termintabellen
{	
	overflow-x: scroll;
	overflow-y: hidden;
}

/* @group Tabs */

#termintabellen .tabs_jahre
{	
	margin: 10px 0 -19px 0;
	width: calc(100% - 1px);
	
	text-align: center;
}

#termintabellen .tabs_jahre .tab
{
	display: inline-block;
	padding: 0 2px;
	
	cursor: pointer;
}

#termintabellen .tabs_jahre .tab a
{
	display: block;
	padding: 8px 15px 10px 15px;
	
	text-decoration: none;
	font-weight: bold;
	
	opacity: 0.3;
	border-radius: 5px 5px 0 0;
	
	color: white;
	background: #015498;
}

#termintabellen .tabs_jahre .tab a:hover,
#termintabellen .tabs_jahre .tab.active a
{
	opacity: 1;
}

/* @end */

/* @group Termintabelle */

#main .buchungsformular .gfield.termintabelle
{
	max-width: 100%;
	margin: 0;
}

#main .legende_rabatte
{
	position: relative;
	padding-left: 45px;
}

#main .legende_rabatte .fa
{
	position: absolute;
	left: 15px;
	top: 14px;
	
	color: #41ae28;	
	font-size: 24px;
}

#main .legende_rabatte p
{
	line-height: 1.2em;
}

#main .legende_rabatte p:last-of-type
{
	margin: 0;
}

#termintabellen table
{
	display: none;
	
	width: 100%;
	margin: 0;
	
	border: none;
}

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

#termintabellen table
{
	margin-top: 30px;
}

#termintabellen table::before
{
	content: "\f061";
	
	position: absolute;
	left: calc(100vw - 35px);
	margin-top: -40px;
	
	font-family: "Font Awesome 6 Pro";
	font-size: 30px;
	font-weight: normal;
}
}

#termintabellen table.active
{
	display: table;
}

#termintabellen table tr th
{	
	font-weight: normal;	
	border-top: 1px solid #00528c;
	border-right: 1px solid white;
}

#termintabellen table tr th *
{	
	font-size: inherit;
	line-height: inherit;
}

#termintabellen table tr th del:before
{	
	opacity: 1;
	width: 45px;
	height: 22px;
	
	background-size: 100%;
}

#termintabellen table tr th:last-child
{
	border-right-color: #dddddd;
}

#termintabellen table tr th,
#termintabellen table tr td
{	
	min-width: 100px;
	text-align: center;	
	line-height: 1.2em;
}

#termintabellen table tr th.no_1,
#termintabellen table tr td.no_1
{
	text-align: left;
}

#termintabellen table tr td
{
	border: 1px solid #ddd;
}

#termintabellen table tr td button
{
	position: relative;
	display: block;
	
	min-block-size: auto;
	margin: 4px auto 6px auto;
	padding: 6px 12px;	
	
	white-space: nowrap;
	letter-spacing: 0;
}

#termintabellen table tr td button.active:focus-visible
{
	outline-offset: 2px;
}

#termintabellen table tr .preis
{
	white-space: nowrap;
}

/* @end */

/* @group kleine Schriftgrößen */

body:not(.buchung_kurzurlaub) #termintabellen table.small tr th.no_1
{
	
}

body:not(.buchung_kurzurlaub) #termintabellen table.small tr th,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr td
{
	padding: 2px 4px;
}

body:not(.buchung_kurzurlaub) #termintabellen table.small tr th,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr td,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr th strong,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr td strong,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr td button,
body:not(.buchung_kurzurlaub) #termintabellen table.small tr td .preis
{	
	font-size: 12px;
	line-height: 130%;
}

body:not(.buchung_kurzurlaub) #termintabellen table.small tr td button
{
	padding: 2px 4px !important;
}

/* @end */

/* @group Buchungsvariante Kurzurlaub */

.buchung_kurzurlaub #termintabellen table
{
	margin-top: 0;
}

.buchung_kurzurlaub #termintabellen table::before
{
	display: none;
}

.buchung_kurzurlaub #termintabellen table th
{
	display: none !important;
}

.buchung_kurzurlaub #termintabellen table td
{
	padding: 0;
	
	text-align: left;
	
	background: transparent;
	border: none;
}

.buchung_kurzurlaub #termintabellen table tr td button
{
	width: calc(13.1%);
	display: inline-block;
	margin-right: 8px;
}

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

.buchung_kurzurlaub #termintabellen table tr td button
{
	width: calc(33% - 12px);
}

}

.buchung_kurzurlaub #termintabellen table tr td button strong
{
	font-weight: bold;
	font-size: 16px;
	line-height: 1.4em;
}

/* @end */

/* @group Popover Flugtermin */

.popover.flugtermin
{
	width: 300px;
	max-width: none;
	
	box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 10px 0px;
}

.flugtermin .popover-header
{
	overflow: hidden;
	margin-top: 0;
	padding: 8px 14px;
	
	font-family: "Source Sans 3";
	font-size: 16px;
	line-height: 1.4em;
	border-bottom: 1px solid lightgrey;
}

.flugtermin .popover-header span
{
	clear: both;
	float: left;
}

.flugtermin .popover-header em
{
	float: right;
	font-style: normal;
}

.flugtermin .popover-body
{
	overflow: hidden;
	padding: 8px 14px 0 14px;
	
	font-family: "Source Sans 3";
	font-size: 16px;
	line-height: 1.4em;
}

.flugtermin .popover-body em
{
	float: right;
	font-style: normal;
}

.flugtermin .popover-body strong
{
	display: block;
	margin-top: 4px;
	padding-top: 2px;
	
	border-top: 1px solid #777777;
}

.flugtermin .popover-body .buttons
{
	margin-top: 14px;
	margin-bottom: 10px;
}

.flugtermin .popover-body .buttons button
{
	margin-bottom: 5px;
	padding: 6px 12px;
}

.flugtermin .popover-body .buttons button.weiter
{
	float: right;
}


/* @end */

/* @group Fußnote */

.termintabelle_fussnote
{
	margin-top: 10px;
}

.termintabelle_fussnote *
{
	font-size: 12px;
	line-height: 130%;
}

.termintabelle_fussnote p:last-child
{
	margin-bottom: 0;
}

/* @end */

/* @group Footer */

.buchungsformular .gf_page_1 .gform_page_footer
{
	height: 0;
	margin: 0;
	overflow: hidden;
}

/* @end */

/* @end */

/* @group Hinweis Namen exakt wie im Personalausweis bzw. Reisepass */

.buchung_kurzurlaub .buchungsformular .gfield.hinweis_namen
{
	display: none !important;
}

/* @end */

/* @group Zusatzleistungen Text */

.buchungsformular .gfield.text_zusatzleistungen p:last-of-type
{
	margin-bottom: 0;
}

/* @end */

/* @group Zusatzleistungen */

.buchungsformular .gfield.zusatzleistungen .gchoice
{
	padding: 20px 15px 15px 15px !important;
	border: 1px solid #c8c8c8;
	border-radius: 10px;
	
	background: #f9f9f9;
}

.buchungsformular .gfield.zusatzleistungen .gchoice input
{
	top: 1px !important;
}

.buchungsformular .gfield.zusatzleistungen .gchoice label h3
{
	margin-bottom: 0.3em;
}

.buchungsformular .gfield.zusatzleistungen .gchoice label img
{
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
	
	width: 100px;
	height: auto;
}

.buchungsformular .gfield.zusatzleistungen .gchoice label p:last-of-type
{
	margin-bottom: 0;
}

.buchungsformular .gfield.zusatzleistungen .gchoice label .alert
{
	margin-bottom: 0;
}

.buchungsformular .gfield.zusatzleistungen .gfield_description:not(.gfield_validation_message)
{
	overflow: hidden;
	height: 0;
	margin: 0 !important;
	padding: 0;
}

/* @group Popup */


.modal.empfehlung_zusatzpakete .modal-body .alert
{	
	margin-top: 0;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice
{	
	padding: 15px 15px 15px 15px !important;
	
	border: 1px solid #c8c8c8;
	border-radius: 10px;
	background: #f9f9f9;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice:not(:last-child)
{
	margin-bottom: 20px;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice img,
.modal.empfehlung_zusatzpakete .modal-body .gchoice .alert
{
	display: none;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice input
{
	position: absolute;
	margin-top: 5px;
	margin-right: 15px;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice label
{
	position: relative;
	z-index: 1;
	
	width: 100%;
	padding-left: 25px;
	cursor: pointer;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice label h3
{
	margin-top: 0;
}

.modal.empfehlung_zusatzpakete .modal-body .gchoice label p:last-of-type
{
	margin-bottom: 0;
}

.modal.empfehlung_zusatzpakete .modal-footer
{
	justify-content: end;
}

.modal.empfehlung_zusatzpakete .modal-footer .btn-primary
{
	display: none;
}

/* @end */


/* @end */

/* @group Reiseschutz */

.buchungsformular .gfield.reiseschutz label h4
{
	display: flex;
	justify-content: flex-start;
	gap: 10px;
}

.buchungsformular .gfield.reiseschutz label h4 .alert
{
	margin-top: -5px;
}

.buchungsformular .gfield.reiseschutz .gfield_description:not(.gfield_validation_message)
{
	overflow: hidden;
	height: 0;
	margin: 0 !important;
	padding: 0;
}

#overlay_empfehlung_reiseschutz .modal-body .alert
{	
	margin-top: 0;
}

/* @end */

/* @group Kreditkartenanbieter */

.gfield.kreditkarte.anbieter:after
{
	content: "";
	
	display: block;
	margin-top: 10px;
	
	width: 100px;
	height: 30px;
	
	background-image: url(/wp-content/themes/rsd-portal/images/icon-visa-mastercard.png);
	background-size: 100% 100%;
}

/* @end */

/* @group Kreditkarten Control Panel */

.gfield.cc_control_panel
{
	
}

.gfield.cc_control_panel.active
{
	min-height: 690px;
	
	background-image: url(/wp-content/themes/rsd-portal/images/spinners/6-dots-rotate.svg);
	background-size: 60px;
	background-repeat: no-repeat;
	background-position: center 100px;
}

.gfield.cc_control_panel button
{
	
}

.gfield.cc_control_panel button#reset_cc_data
{
	position: relative;
	display: none;
	margin-right: 40px !important;
}

.gfield.cc_control_panel button#reset_cc_data .fa-spin
{
	display: none;
	position: absolute;
	right: -40px;
	
	font-size: 20px;
	opacity: 0.8;
}

.gfield.cc_control_panel button#reset_cc_data.waiting .fa-spin
{
	display: block;
}

.gfield.cc_control_panel .alert
{
	display: none;
	margin-bottom: 20px;
}

.gfield.cc_control_panel #cc_payment_iframe
{		
	display: block;
	width: 100% !important;
	height: 800px !important;
	
	border: 1px solid #d3d3d3;	
	border-radius: 3px;
}

/* @end */

/* @group Kreditkartendaten */

.gfield.kreditkarte.daten
{
	margin: 0 !important;
}

.gfield.kreditkarte.daten label,
.gfield.kreditkarte.daten .ginput_container
{
	display: none !important;
}

.gfield.kreditkarte.daten .validation_message
{
	margin-top: 0 !important;
}

/* @end */

/* @group Buchungsübersicht */

.gfield.buchungsuebersicht table
{
	margin-bottom: 30px;
}

/* @end */

/* @group Buchungsbestätigung */

#page_content .unterschrift table
{	
	margin-top: 30px;
	margin-bottom: 5px !important;
}

#page_content .unterschrift table td
{
	vertical-align: bottom !important;
	padding: 0;
	background: transparent;
}

#page_content .unterschrift table td:first-child
{
	width: 56px;
}

#page_content .unterschrift table td:first-child img
{
	width: 50px !important;
	height: auto;
}

#page_content .unterschrift table td:last-child
{
	padding-left: 10px;
}

#page_content .unterschrift table td p
{
	margin: 0;
}

#page_content .unterschrift table td img.alignnone
{
	width: auto;
	height: auto;
	margin: 3px;
}

#page_content .unterschrift table td img
{
	border:  none;
	box-shadow: none;
}

/* @end */

/* @group Footer */

.buchungsformular .gform_page_footer
{
	margin-top: 10px !important;
}

.buchungsformular .gform_page_footer input.hide
{
	position: absolute;
	top: -1000em;
}

/* @end */

/* @group Fußnote */

.buchungsformular_fussnote
{
	margin-top: 20px;
}

.buchung_step_1 .buchungsformular_fussnote
{
	margin-top: 10px;
}

.buchungsformular_fussnote *
{
	font-size: 12px;
	line-height: 130%;
}

.buchungsformular_fussnote p:last-child
{
	margin-bottom: 0;
}

/* @end */

/* @end */