/*/
	Hans Wormser AG - Elements
	by digiskill GmbH (Justin Lochner)
/*/

/* #region Hero */
section.element-wormser-hero {
    min-height: 68vh;
    margin-bottom:4em;
}
@media (min-width: 768px) {
	section.element-wormser-hero {
		margin-bottom: 6em;
	}
}
@media (min-width: 992px) {
	section.element-wormser-hero {
		margin-bottom: 10em;
	}
}
@media (min-width: 1400px) {
	section.element-wormser-hero {
		margin-bottom: 12em;
	}
}
section.element-wormser-hero:not(.no-overlay):before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: 0;
    background-color: #00000066;
}
section.element-wormser-hero .row.headline {
	position: relative;
	z-index: 2;
}
section.element-wormser-hero.headline-top .row.headline {
    position: relative;
    top: 0%;
    transform: translatey(50%);
}
section.element-wormser-hero.headline-center .row.headline {
    position: relative;
    top: 50%;
    transform: translatey(-50%);
}
section.element-wormser-hero.headline-bottom .row.headline {
    position: relative;
    top: 50%;
    transform: translatey(0%);
}
section.element-wormser-hero.headline-above .row.headline {
    position: relative;
    top: 100%;
    transform: translatey(-100%);
}
section.element-wormser-hero.headline-between .row.headline {
    position: relative;
    top: 100%;
    transform: translatey(-50%);
}
section.element-wormser-hero.headline-below .row.headline {
    position: relative;
    top: 100%;
    transform: translatey(0%);
}
section.element-wormser-hero .row.headline .breadcrumbs {
	position: absolute;
	top: 0;
	transform: translatey(-100%);
}
section.element-wormser-hero .row.headline .breadcrumbs ol {
	margin: 0;
	padding-left: 0;
	list-style: none;
}
section.element-wormser-hero .row.headline .breadcrumbs ol li + li::before {
	display: inline-block;
	margin: 0 0.5em;
	transform: rotate(15deg);
	border-right: 0.1em solid var(--wormser-color-white);
	height: 0.8em;
	content: "";
}
section.element-wormser-hero .row.headline .breadcrumbs a {
	color: var(--wormser-color-white);
	text-decoration: none;
}
/* #endregion */

/* #region Text Mosaik */
section.element-text-mosaik {
	flex-direction: column;
	justify-content: center;
}
section.element-text-mosaik .container-fluid,
section.element-text-mosaik .custom-container {
	margin-top:3em;
}
section.element-text-mosaik .mosaik {
	display: flex;
	align-items:center;
	width: 125%;
}
section.element-text-mosaik .mosaik:before,
section.element-text-mosaik .mosaik:after {
	position: relative;
	display: block;
	content:'';
	width: 10%;
	height: 0;
	padding-bottom: 10%;
}
section.element-text-mosaik.mosaik-right .mosaik:before,
section.element-text-mosaik.mosaik-left .mosaik:after {
	margin-right: .5em;
	transform: translatey(calc(62.5% + 1rem));
	background-color: var(--wormser-color-blue);
}
section.element-text-mosaik.mosaik-left .mosaik:after {
	margin-right: 0;
	margin-left: .5em;
}
section.element-text-mosaik.mosaik-right .mosaik:after,
section.element-text-mosaik.mosaik-left .mosaik:before {
	margin-left: .5em;
	top:50%;
	transform: translatey(calc(-62.5% - 1rem));
	background-color: var(--wormser-color-blue-light);
}
section.element-text-mosaik.mosaik-left .mosaik:before {
	margin-left: 0;
	margin-right: .5em;
}
section.element-text-mosaik .mosaik .image {
	width: calc(40% - .75em);
}
section.element-text-mosaik .mosaik .image .image-inner {
	position: relative;
	padding-bottom: 100%;
	margin: .5em 0;
	overflow: hidden;
}
section.element-text-mosaik .mosaik .image .image-inner .actual-image {
	position: absolute;
	width: 141%;
	height: 141%;
	left: 50%;
	top: 50%;
}
section.element-text-mosaik .mosaik .image:first-of-type {
	margin-right: .5em;
}
section.element-text-mosaik .mosaik .image:first-of-type:before,
section.element-text-mosaik .mosaik .image:first-of-type:after {
	position: relative;
	display: block;
	content:'';
	width: 35.5%;
	height: 0;
	margin-left: auto;
	padding-bottom: 35.5%;
	background-color: var(--wormser-color-blue-light);
}
section.element-text-mosaik.mosaik-right .mosaik .image:first-of-type:after,
section.element-text-mosaik.mosaik-left .mosaik .image:first-of-type:before {
	width: 60%;
	padding-bottom: 60%;
	background-color: var(--wormser-color-blue);
}
section.element-text-mosaik .mosaik .image:last-of-type:before,
section.element-text-mosaik .mosaik .image:last-of-type:after {
	position: relative;
	display: block;
	content:'';
	width: 60%;
	height: 0;
	padding-bottom: 60%;
	background-color: var(--wormser-color-blue);
}
section.element-text-mosaik.mosaik-right .mosaik .image:last-of-type:after,
section.element-text-mosaik.mosaik-left .mosaik .image:last-of-type:before {
	width: 35.5%;
	padding-bottom: 35.5%;
	background-color: var(--wormser-color-blue-light);
}
section.element-text-mosaik.mosaik-right .mosaik {
	transform: rotate(-30deg);
}
section.element-text-mosaik.mosaik-right .mosaik .image .image-inner .actual-image {
	transform: translate(-50%, -50%) rotate(30deg);
}
section.element-text-mosaik.mosaik-left .mosaik {
	transform: translatex(-25%) rotate(30deg);
}
section.element-text-mosaik.mosaik-left .mosaik .image .image-inner .actual-image {
	transform: translate(-50%, -50%) rotate(-30deg);
}
section.element-text-mosaik .illustration {
	top: 0;
}
section.element-text-mosaik .illustration.direction-left {
	left: 0;
}
section.element-text-mosaik .illustration.direction-right {
	right: 0;
}
section.element-text-mosaik ul.list-default-style {
	padding-left: 3em;
}
section.element-text-mosaik ul.list-default-style li {
	position: relative;
}
section.element-text-mosaik .list-sign {
	height: fit-content;
    padding: .125em 0.5em;
    font-size: 1.5rem;
	background-color: var(--wormser-color-red);
	color: var(--wormser-color-white);
}
section.element-text-mosaik ul.list-default-style li:before {
	position: absolute;
	display: block;
	content: '';
	width: .5em;
	height: .5em;
	top: 50%;
	left: -2em;
	background-color: var(--wormser-color-blue);
	transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
	section.element-text-mosaik .container-fluid,
	section.element-text-mosaik .custom-container {
		margin:5em 0;
	}
	section.element-text-mosaik .custom-container {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	section.element-text-mosaik .mosaik .image {
		width: calc(40% - 1.125em);
	}
	section.element-text-mosaik.mosaik-right .mosaik:before,
	section.element-text-mosaik.mosaik-left .mosaik:after {
		margin-right: .75em;
		transform: translatey(calc(62.5% + 1.5rem));
	}
	section.element-text-mosaik.mosaik-left .mosaik:after {
		margin-right: 0;
		margin-left: .75em;
	}
	section.element-text-mosaik.mosaik-right .mosaik:after,
	section.element-text-mosaik.mosaik-left .mosaik:before {
		margin-left: .75em;
		transform: translatey(calc(-62.5% - 1.5rem));
	}
	section.element-text-mosaik.mosaik-left .mosaik:before {
		margin-left: 0;
		margin-right: .75em;
	}
	section.element-text-mosaik .mosaik .image .image-inner {
		margin: .75em 0;
	}
	section.element-text-mosaik .mosaik .image:first-of-type {
		margin-right: .75em;
	}
}
@media (min-width: 992px) {
	section.element-text-mosaik .custom-container {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -60%);
	}
	section.element-text-mosaik .mosaik .image {
		width: calc(40% - 1.5em);
	}
	section.element-text-mosaik.mosaik-right .mosaik:before,
	section.element-text-mosaik.mosaik-left .mosaik:after {
		margin-right: 1em;
		transform: translatey(calc(62.5% + 2rem));
	}
	section.element-text-mosaik.mosaik-left .mosaik:after {
		margin-right: 0;
		margin-left: 1em;
	}
	section.element-text-mosaik.mosaik-right .mosaik:after,
	section.element-text-mosaik.mosaik-left .mosaik:before {
		margin-left: 1em;
		transform: translatey(calc(-62.5% - 2rem));
	}
	section.element-text-mosaik.mosaik-left .mosaik:before {
		margin-left: 0;
		margin-right: 1em;
	}
	section.element-text-mosaik .mosaik .image .image-inner {
		margin: 1em 0;
	}
	section.element-text-mosaik .mosaik .image:first-of-type {
		margin-right: 1em;
	}
}
/* #endregion */

/* #region Text & Image w/ Slogan */
section.element-text-image .images {
	position: relative;
}
section.element-text-image .images .image-horizontal {
	padding-bottom:56.25%;
}
section.element-text-image .images .image-vertical {
	padding-bottom:50%;
}
section.element-text-image .col-12.col-lg-6p5.order-0.order-lg-1.position-relative.d-none.d-lg-block {
	height: fit-content;
}
section.element-text-image .illustration {
	transform: translatey(50%);
}
section.element-text-image .illustration.mirrored {
	transform: translatey(50%) scaleX(-1);
}
section.element-text-image .illustration.start-0.cropped {
	transform: translatey(50%) translatex(-40%);
}
section.element-text-image .illustration.start-0.mirrored.cropped {
	transform: translatey(50%) translatex(-40%) scaleX(-1);
}
section.element-text-image .illustration.end-0.cropped {
	transform: translatey(50%) translatex(40%);
}
section.element-text-image .illustration.end-0.mirrored.cropped {
	transform: translatey(50%) translatex(40%) scaleX(-1);
}
section.element-text-image .illustration.direction-left {
	left: 0;
}
section.element-text-image .illustration.direction-right {
	right: 0;
}
section.element-text-image ul.list-default-style {
	padding-left: 3em;
}
section.element-text-image ul.list-default-style li {
	position: relative;
}
section.element-text-image .list-sign {
	height: fit-content;
    padding: .125em 0.5em;
    font-size: 1.5rem;
	background-color: var(--wormser-color-red);
	color: var(--wormser-color-white);
}
section.element-text-image ul.list-default-style li:before {
	position: absolute;
	display: block;
	content: '';
	width: .5em;
	height: .5em;
	top: 50%;
	left: -2em;
	background-color: var(--wormser-color-blue);
	transform: translate(-50%, -50%);
}
@media (min-width: 992px) {
	section.element-text-image .custom-container {
		margin-bottom: 4em;
	}
	section.element-text-image .headline {
		position: absolute;
		width: 70%;
		left: 50%;
		top: 100%;
		padding: 1.5em;
		padding-right: 6em;
		background: var(--wormser-color-blue);
		clip-path: polygon(0 0, 0 100%, 65% 100%, 100% 0); /* ideal is 45% */
		transform: translatex(-50%) translatey(-50%);
	}
	section.element-text-image .headline h3 {
		font-size: 2em;
	}
	section.element-text-image .images {
		margin-bottom: 3em;
		padding-bottom: 6em;
	}
	section.element-text-image .images .image-small {
		position: absolute;
		width: 45%;
		bottom: 0;
		border: 1px solid var(--wormser-color-blue);
	}
	section.element-text-image .images .image-big {
		width: 60%;
		border: 1px solid var(--wormser-color-blue);
	}
}
@media (min-width: 1200px) {
	section.element-text-image .custom-container {
		margin-bottom: 6em;
	}
	section.element-text-image .headline {
		padding-right: 8em;
	}
	section.element-text-image .headline h3 {
		font-size: 2.5em;
	}
}
@media (min-width: 1400px) {
	section.element-text-image .headline {
		width: 60%;
	}
}
@media (min-width: 1600px) {
	section.element-text-image .custom-container {
		margin-bottom: 8em;
	}
	section.element-text-image .headline {
		padding-right: 8em;
	}
}
@media (min-width: 1800px) {
	section.element-text-image .headline h3 {
		font-size: 3em;
	}
}
section.element-text-image.text-image-default .wrap {
	aspect-ratio: 2/1;
}
@media (min-width: 992px) {
	section.element-text-image.text-image-default .wrap {
		aspect-ratio: 1/1.5;
	}
}
/* #endregion */

/* #region Career Banner */
section.element-career {
	position: relative;
	display: flex;
	flex-direction: column;
	z-index: 1;
}
section.element-career:before {
    position: absolute;
    display: block;
    content: '';
    right: 100%;
    top: 0;
    height: 100%;
    aspect-ratio: 1;
    background-color: var(--wormser-color-blue-light);
    transform: translatex(25%) rotate(45deg);
	z-index: -1;
	opacity: .25;
}
@media (min-width:992px) {
	section.element-career:before {
		opacity: 1;
	}
}
/* #endregion */

/* #region Headline w/ Text */
section.element-headline-text .illustration {
	top: 50%;
	transform: translatey(25%);
}
section.element-headline-text .illustration.direction-left {
	left: 0;
}
section.element-headline-text .illustration.direction-right {
	right: 0;
}
@media (min-width: 992px) {
	section.element-headline-text.mb-max {
		margin-bottom: 24em !important;
	}	
}
/* #endregion */

/* #region Notice w/ Button */
section.element-notice .notice {
	padding: 2em 3em;
	padding-right: 0;
	border-left: 2px solid var(--wormser-color-red);
}
/* #endregion */

/* #region Team */
section.element-team .image {
	width: 100%;
    aspect-ratio: 1 / 1.1;
}
section.element-team .illustration {
	transform: translatey(-100%);
}
section.element-team .illustration.mirrored {
	transform: translatey(-100%) scaleX(-1);
}
section.element-team .illustration.start-0.cropped {
	transform: translatey(-100%) translatex(-40%);
}
section.element-team .illustration.start-0.mirrored.cropped {
	transform: translatey(-100%) translatex(-40%) scaleX(-1);
}
section.element-team .illustration.end-0.cropped {
	transform: translatey(-100%) translatex(40%);
}
section.element-team .illustration.end-0.mirrored.cropped {
	transform: translatey(-100%) translatex(40%) scaleX(-1);
}
/* #endregion */

/* #region Departments */
section.element-departments .department {
	border: 6px solid var(--wormser-color-grey-alt);
}
section.element-departments .department .department-header {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 1em 2em;
}
section.element-departments .department .department-header .collapse-icon {
	position: relative;
	height: 3em;
	width: 3em;
}
section.element-departments .department .department-header .collapse-icon:before,
section.element-departments .department .department-header .collapse-icon:after {
	position: absolute;
	content: '';
	display: block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--wormser-color-grey-alt);
	transition: transform .3s ease;
}
section.element-departments .department .department-header .collapse-icon:before {
	width: 100%;
	height: 6px;
}
section.element-departments .department .department-header .collapse-icon:after {
	width: 6px;
	height: 100%;
}
section.element-departments .department .department-header:not(.collapsed) .collapse-icon:after {
	transform: translate(-50%, -50%) rotate(90deg);
}
section.element-departments .department .department-body {
	background-color: var(--wormser-color-grey-alt);
}
section.element-departments .department .department-body .department-image {
	aspect-ratio: 1/1;
}
/* #endregion */

/* #region Custom Form */
section.element-form p {
	margin-bottom: 0 !important;
}
section.element-form input:not([type="submit"]),
section.element-form textarea {
	width: 100%;
	padding: 1em 2em;
	border: none;
	outline: none;
	background-color: var(--wormser-color-blue-light-alt);
}
section.element-form input::placeholder,
section.element-form textarea::placeholder {
	color: #73899C;
}
section.element-form p:has(input[type="submit"]) {
	display: flex;
	flex-direction: row;
}
section.element-form input[type="submit"],
section.element-form button {
	position: relative;
	outline: none;
	border: none;
	appearance: none;
	background: transparent;
    color: inherit;
    text-align: inherit;
    text-transform: inherit;
    font: inherit;
    letter-spacing: inherit;
}
section.element-form .wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
}
section.element-form input.wpcf7-not-valid,
section.element-form textarea.wpcf7-not-valid {
	margin-bottom: 3rem !important;
}
section.element-form .wpcf7-not-valid-tip {
	position: absolute;
	bottom: 1.5rem;
	padding-left: 2em;
	transform: translatey(25%);
}
/* #endregion */
