/*
form.invalid {
	background: transparent;
	color: #000;
	animation: none;
}
*/

input.invalid:not([type=radio]), textarea.invalid, select.invalid, label[for="file"].invalid {
	background-color: #d44747 !important;
	animation: shake .5s linear;
	color: #FFF;
}

label.invalid span.checkbox {
	background-color: #d44747 !important;
	animation: shake .5s linear;
}

.contact-content-container .success:not(button), .contact-content-container .fail:not(button), .formular .success:not(button), .formular .fail:not(button) {
	position: relative;
	transition: 500ms;
	opacity: 0;
	visibility: hidden;
	height: 0;
	margin: 0 !important;
}

input.invalid::placeholder, textarea.invalid::placeholder, select.invalid {
	color: #FFF !important;
}

.success div.success {
	height: auto;
	opacity: 1;
	visibility: visible;
}

.fail div.fail {
	height: auto;
	opacity: 1;
	visibility: visible;
}

.fail.success div.fail{
	height: 0;
	opacity: 0;
	visibility: visible;
}

.contact-content-container input[type="checkbox"], .formular input[type="checkbox"] {
	opacity: 0;
	width: auto;
	height: auto;
}

.contact-content-container label.checkbox__container, .formular label.checkbox__container {
	position: relative;
	padding-left: 15px;
}

.contact-content-container label.checkbox__container:hover, .formular label.checkbox__container:hover {
	cursor: pointer;
}

.contact-content-container label span.checkbox, .formular label span.checkbox {
    position: absolute;
    border: 1px solid #000;
    width: 1rem;
    height: 1rem;
    left: 0;
    line-height: 0;
    top: 0;
    background-color: rgba(255,255,255,0);
}

.contact-content-container label.checkbox__container:hover input ~ span.checkbox, .formular label.checkbox__container:hover input ~ span.checkbox {
	background-color: rgba(255,255,255,.1);
}


.contact-content-container label.checkbox__container span.checkbox:after, .formular label.checkbox__container span.checkbox:after {
	display: block;
	content: "";
	opacity: 0;
	width: 20px;
	height: 20px;
	position: relative;
	bottom: 5px;
}

.contact-content-container label.checkbox__container input:checked ~ span.checkbox:after, .formular label.checkbox__container input:checked ~ span.checkbox:after {
	background-image: url("../images/checked.svg");
	background-size: cover;
	opacity: 1;
}

.contact-content-container label.checkbox__container input[type="checkbox"], .formular label.checkbox__container input[type="checkbox"] {
	width: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -20px;
	width: 20% !important;
	height: 160%;
}

.contact-content-container label.checkbox__container .terms, .formular label.checkbox__container .terms {
	margin-left: 10px;
}

.contact-content-container label.checkbox__container .terms a, .formular label.checkbox__container .terms a {
	text-decoration: underline;
}

.contact-content-container.success button[type="submit"], .formular.success button[type="submit"] {
	background-color: #7fb628;
	background: #7fb628;
	color: #FFF;
}

.contact-content-container form select.invalid option, .contact-content-container form select.invalid:focus option {
	color: #FFF;
}


@keyframes shake {
		8%, 41% {
			-webkit-transform: translateX(-10px);
		}
		25%, 58% {
			-webkit-transform: translateX(10px);
		}
		75% {
			-webkit-transform: translateX(-5px);
		}
		92% {
			-webkit-transform: translateX(5px);
		}
		0%, 100% {
			-webkit-transform: translateX(0);
		}
	}