.component_footer .full-width:nth-child(1) { background: #fff; }
.component_footer .full-width:nth-child(2) { background: #afd300; }
.component_footer .full-width:nth-child(2) .mobile { padding: 0 20px 40px; }
.component_footer .full-width:nth-child(2) .mobile a { color: inherit; }

.component_footer .social a { display: inline-block; width: 41px; height: 41px; border: 1px solid #d0d0d0; background: no-repeat center center; background-color: #fff;}

.component_footer .links > div .h3 { margin-top: 0; }
.component_footer .links > div:not(.contact) { padding: 20px; }
.component_footer .links > div:not(.contact) a { color: inherit; }
.component_footer .links .contact { position: relative; padding: 0 20px 0 0; }
.component_footer .links .contact > .visual { height: 100%; width: 100px; position: absolute; background: no-repeat -15px center; background-size: cover; }
.component_footer .links .contact > .content { padding: 20px 0 20px 120px; }
.component_footer .links .contact > .content p { display: none; }
.component_footer .links .contact .h2 { margin-top: 0; }
.component_footer .links .contact a { font-weight: bold; }
.component_footer .links .contact a[href^="tel"] { color: inherit; }

.component_footer .form { padding: 1px 20px 40px;}
.component_footer .form .h2 span,
.component_footer .form p { color: #fff; }
.component_footer .form label span { display: inline-block; color: #fff; margin: 0 0 5px 0; }
.component_footer .form input[type=text],
.component_footer .form textarea { background: #a7c900; border: 2px solid #8ba700; color: #fff; margin-bottom: 10px; }
.component_footer .form textarea { height: 78px; }
.component_footer .form input[type=text]::placeholder,
.component_footer .form textarea::placeholder { color: #fff; }
.component_footer .form input[type=submit] { float: right; }
.component_footer .form .radio + label::before { border: 2px #8ba700 solid; background: #a7c900; }
.component_footer .form .radio:checked + label::before { background:#fff; box-shadow: inset 0 0 0 3px #a7c900; }
.component_footer .form .salutation { color: #fff; height: 33px; }
.component_footer .form .radio:checked + label::before,
.component_footer .form .radio:not(:checked) + label::before { width: 15px; height: 15px; }
.component_footer .form-checked:not(.form-valid) { display: block; position: relative; }
.component_footer .form-checked:not(.form-valid) input,
.component_footer .form-checked:not(.form-valid) select { border-color: #fff; }
.component_footer .form-checked:not(.form-valid)::after { content: attr(data-error); line-height: 1em; pointer-events: none; display: block; box-sizing: border-box; font-weight: normal; font-size: 13px; padding: 10px; position: inherit; background: #fff; width: 100%; border-radius: 3px; box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.2); margin: -5px 0 10px 0; }
.component_footer .mandatory {color: #fff; }

.component_footer .consent { color: #006567; margin: 20px 0 0 0; }
.component_footer .consent a { color: #006567; font-weight: bold; }
.component_footer .checkbox { position: absolute; }
.component_footer .checkbox + label::before { border: 2px #8ba700 solid; background: #a7c900; }
.component_footer .checkbox:checked + label::before { background:#fff; box-shadow: inset 0 0 0 3px #a7c900; }
.component_footer .checkboxes { position: relative; }
.component_footer .checkboxes a { color: #006567; }
.component_footer .checkbox + label { display: block; font-weight: normal; padding: 0 0 0 35px; line-height: 24px; }
.component_footer .checkbox + label:before { position: absolute; top: 0; left: 0; }
.component_footer .form-checked:not(.form-valid)::after { margin-top: 10px; }

.component_footer .countries { color:#ffffff; }
.component_footer .countries > * { padding-right: 20px; }

.component_footer .social .lang { overflow: auto; }
.component_footer .social .lang a { border: 1px solid #ccc; border-left: 0; font: bold 14px/40px "Fira Sans"; display: inline-block; padding: 0 10px; color: #333; float: left; }
.component_footer .social .lang a:first-child { border-left: 1px solid #ccc; border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
.component_footer .social .lang a:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
.component_footer .social .lang a.active { color: #b0d400; }

@media (min-width: 980px) {
	.component_footer .countries { display: flex; }
	.component_footer .form { padding: 30px 0 0 0; width: 960px; margin-left: 240px; }
	.component_footer .form .cols { display: flex; }
	.component_footer .form .cols > div { margin: 10px 1% 0 0; }
	.component_footer .form .cols:after { display: block; content: ""; clear: left; }
	.component_footer .full-width > div { margin: 0 auto; width: 1440px; overflow: hidden; }
	.component_footer .links { position: relative; }
	.component_footer .links > div { display: block; position: absolute; top: 0; }
	.component_footer .links > div a { white-space: nowrap; }
	.component_footer .links > div .h3 { margin-top: 20px; }
	.component_footer .links > div:not(.contact) { padding: 0; }
	.component_footer .links > div:nth-child(2) { width: 240px; height: 256px; left: 720px; padding: 20px 0 0 40px; }
	.component_footer .links > div:nth-child(3) { width: 240px; height: 256px; left: 960px; padding: 20px 0 0 40px; }
	.component_footer .links > div:nth-child(4) { width: 240px; height: 256px; left: 1200px; padding: 20px 0 0 40px; }
	.component_footer .links .contact { left: 0px; height: 256px; width: 720px; border-right: 2px solid #eeeeee; }
	.component_footer .links .contact > .visual { height: 256px; width: 254px; float: left; position: static; background: no-repeat left 0; background-size: contain; }
	.component_footer .links .contact > .content { padding: 20px 0 0 294px; }
	.component_footer .links .contact > .content p { display: block; }
	.component_footer .social a { width: 31px; height: 31px; }
}