/*
This file is part of the TYPO3 CMS project.

It is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License, either version 2
of the License, or any later version.

For the full copyright and license information, please read the
LICENSE.txt file that was distributed with this source code.

The TYPO3 project - inspiring people to share!
*/
/*
    Created on : 28.10.2016, 15:50:35
    Author     : Kevin Ditscheid <ditscheid@engine-productions.de>
*/
.contactform{
	padding-top: 50px;
	padding-bottom: 50px;
}
.contactform-1 .buttons{
	text-align: right;
}
.contactform-1 .buttons.buttonsleft {
	text-align: left;
}
.contactform table{
	width: 100%;
}
.contactform table td{
	position: relative;
}
.commune table td:first-child{
    width: 30%;
}
.contactform td.align-top{
    vertical-align: top;
}
.contactform .forminput-sharp{
	width: calc(100% - 6px);
}
.contactform textarea.forminput{
    height: 6em;
    margin-top: 18px;
}
.contactform label,
.contactform .label {
	font-weight: 700;
}

.contactform label.error {
    color: red;
}

.contactform .forminput {
    font-size: clamp(1rem, 0.9375rem + 0.2vw, 1.125rem);
    line-height:1.6;
    font-weight:400;
    font-family: Roboto, sans-serif;
}

.required-mark{
	color: #f35c1a;
	position: absolute;
	right: 8px;
	font-style: normal;
	top: 18px;
}
.mandatory.requireMark {
    color: #f35c1a;
}

.contactform .formcheckboxLabel2 {
	font-style: italic;
	font-size: 16px;
	line-height: 20px;
}
.contactform .formcheckboxLabel {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.contactform .formcheckbox,
.contactform .formradio{
	opacity: 0;
    position: absolute;
}
.contactform .formcheckbox + label,
.contactform .formradio + label{
	font-weight: normal;
}
.contactform .formcheckbox + label::before, .contactform .formradio + label::before {
	content: '0';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url(../Images/Icons/checkbox.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -99999px;
	margin-right: 20px;
	color: #f35c1a;
	min-width: 18px;
}
.contactform .formcheckbox.f3-form-error + label:before,
.contactform .formradio.f3-form-error + label:before{
	background-image: url(../Images/Icons/checkbox_red.svg);
    height: 24px;
}
.contactform .formcheckbox:checked + label::before {
	content: '\2714';
	text-indent: 0px;
    line-height: 14px;
}
.contactform .formradio:checked + label:before{
	content: '\2714';
	background-image: url(../Images/Icons/checkbox-checked.svg);
}
.contactform .forminput-from label,
.contactform .forminput-to label{
	font-weight: normal;
}
.contactform .forminput-from .forminput,
.contactform .forminput-to .forminput{
	max-width: 200px;
}
.contactform .checkbox-single + label::before{
    margin: 0;
}
.validationErrors{
	margin: 0;
	padding: 10px;
	list-style: none;
	margin-bottom: 30px;
	border: 1px solid black;
	color: black;
	background-color: salmon;
	font-weight: bold;
}
.validationErrors ul{
	font-weight: normal;
}
.contactform .f3-form-error{
    border-color: salmon;
}

.contactform-2 .checkBox {
	display: flex;
	margin-left: 30px;
	margin-top: -27px;
}
.contactform-2 input[type="checkbox"],
.contactform-2 input[type="radio"] {
	opacity: 0;
	width: 20px;
	height: 20px;
}

.contactform-2 input[type="checkbox"] + label:before {
	content: '\2714';
	font-size: 0;
	color: #F46006;
}

.contactform-2 input[type="radio"] + label:before {
	content: '\2714';
	font-size: 0;
	color: #F46006;
}

.contactform-2 .checkBox:before {
	content: '\2022';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	border-radius: 16px;
	background: white;
	border: 3px solid rgba(0, 0, 0, 0.5);
	font-size: 44px;
	line-height: 16px;
	text-align: center;
	color: #fff;
	vertical-align: middle;
	margin-left: -28px;
	min-width: 16px;
}

.contactform-2 input[type="checkbox"]:checked + label:before {
	font-size: 28px;
}

.contactform-2 input[type="radio"]:checked + label:before {
	font-size: 28px;
}

.contentpage3 .contactform .ui-datepicker.ui-datepicker-multi {
	width: calc(100% - 0.4em) !important;
}

.contentpage3 .contactform table td {
	width: 50%;
}

.contentpage3 .contactform table.ui-datepicker-calendar td {
    width: auto;
}

.contentpage3 input#eventdateFrom, input#eventdateUntil {
	background-color: #eee;
	width: calc(100% - 32px);
}

input#eventdateUntil {
	width: calc(100% - 78px) !important;
    margin-left: 6px;
    border-radius: 0;
}
input#eventdateFrom {
	width: calc(100% - 78px) !important;
    border-radius: 0;
}

input#eventTimeEnd {
	width: calc(100% - 90px) !important;
    margin-left: 6px;
    border-radius: 0;
}
input#eventTimeBegin {
	width: calc(100% - 90px) !important;
    border-radius: 0;
}

.contentpage3 .required-mark.special {
	right: 40px;
}

.contentpage3 .timeFormat .required-mark.special {
	right: 54px;
}

.contentpage3 .deleteDates img {
	margin-left: 5px;
	vertical-align: -2px;
}

input[type=text]:read-only {
    background-color: #eee;
}

@media screen and (max-width: 991.98px){
	.contactform table td{
		display: block;
	}
	.required-mark{
		top: 0;
	}
	.contactform .forminput-from .forminput,
	.contactform .forminput-to .forminput{
		max-width: none;
	}
	.contactform .formcheckbox + label::after,
	.contactform .formradio + label::after {
		margin-left: 5px;
		margin-right: 15px;
	}

    .contentpage3 .contactform table.ui-datepicker-calendar td {
		display: table-cell;
	}

    .contentpage3 .contactform table td {
    	width: 80%;
    }

    .contentpage3 #eventdatepicker {
    	width: 100%;
    }
}

@media screen and (max-width: 767.98px){
    .contentpage3 #eventdatepicker,
    .contentpage3 .contactform table td {
    	width: 100%;
    }
}