/* General
--------------------------------------------------------- */
body {
	font-size: 1.4rem;
}
#content {
	padding: 0;
}


/* Typo
--------------------------------------------------------- */
.h1, .h2, .h3, .h4, .h5, .h6, .elementor-widget-heading h1.elementor-heading-title, .entry-content h1, h1, .elementor-widget-heading h2.elementor-heading-title, .entry-content h2, h2, .elementor-widget-heading h3.elementor-heading-title, .entry-content h3, h3, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5, .elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	font-weight: 700;
	text-transform: uppercase;
	position: relative;
}
.h1, .elementor-widget-heading.h1 h2.elementor-heading-title, .entry-content h2.h1, h2.h1, .elementor-widget-heading.h1 h3.elementor-heading-title, .entry-content h3.h1, h3.h1, .elementor-widget-heading.h1 h4.elementor-heading-title, .entry-content h4.h1, h4.h1, .elementor-widget-heading.h1 h5.elementor-heading-title, .entry-content h5.h1, h5.h1, .elementor-widget-heading.h1 h6.elementor-heading-title, .entry-content h6.h1, h6.h1, .elementor-widget-heading.h1 h1.elementor-heading-title, .entry-content h1, h1 {
	font-size: 2.4rem;
	padding-left: 17px;
}
.h2, .elementor-widget-heading.h2 h1.elementor-heading-title, .entry-content h1.h2, h1.h2, .elementor-widget-heading.h2 h3.elementor-heading-title, .entry-content h3.h2, h3.h2, .elementor-widget-heading.h2 h4.elementor-heading-title, .entry-content h4.h2, h4.h2, .elementor-widget-heading.h2 h5.elementor-heading-title, .entry-content h5.h2, h5.h2, .elementor-widget-heading.h2 h6.elementor-heading-title, .entry-content h6.h2, h6.h2, .elementor-widget-heading.h2 h2.elementor-heading-title, .entry-content h2, h2 {
	font-size: 2.0rem;
	padding-left: 17px;
}
.h3, .elementor-widget-heading.h3 h1.elementor-heading-title, .entry-content h1.h3, h1.h3, .elementor-widget-heading.h3 h2.elementor-heading-title, .entry-content h2.h3, h2.h3, .elementor-widget-heading.h3 h4.elementor-heading-title, .entry-content h4.h3, h4.h3, .elementor-widget-heading.h3 h5.elementor-heading-title, .entry-content h5.h3, h5.h3, .elementor-widget-heading.h3 h6.elementor-heading-title, .entry-content h6.h3, h6.h3, .elementor-widget-heading.h3 h3.elementor-heading-title, .entry-content h3, h3 {
	font-size: 1.8rem;
}
.h4, .elementor-widget-heading.h4 h1.elementor-heading-title, .entry-content h1.h4, h1.h4, .elementor-widget-heading.h4 h2.elementor-heading-title, .entry-content h2.h4, h2.h4, .elementor-widget-heading.h4 h3.elementor-heading-title, .entry-content h3.h4, h3.h4, .elementor-widget-heading.h4 h5.elementor-heading-title, .entry-content h5.h4, h5.h4, .elementor-widget-heading.h4 h6.elementor-heading-title, .entry-content h6.h4, h6.h4, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4,
.h5, .elementor-widget-heading.h5 h1.elementor-heading-title, .entry-content h1.h5, h1.h5, .elementor-widget-heading.h5 h2.elementor-heading-title, .entry-content h2.h5, h2.h5, .elementor-widget-heading.h5 h3.elementor-heading-title, .entry-content h3.h5, h3.h5, .elementor-widget-heading.h5 h4.elementor-heading-title, .entry-content h4.h5, h4.h5, .elementor-widget-heading.h5 h6.elementor-heading-title, .entry-content h6.h5, h6.h5, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5 {
	font-size: 1.6rem;
}
h1::after, .h1::after,
h2::after, .h2::after {
	content:"";
	height: 5px;
	position: absolute;
	left: 2px;
	top: 1.6rem;
	background-color: var(--c-primary);
	width: 13px;
	transform: skew(-10deg, -10deg) rotate(10deg);
}
h2::after, .h2::after {
	top: 1.3rem;
}
.wysiwyg ul li::before, .elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
	top: 0.72rem;
}


/* Header
--------------------------------------------------------- */
header#main-header {
	padding-bottom:0;
}
#mobile-main-menu {
	margin-top: 120px;
}
#hm-col-1 {
	width: auto;
}
#logo {
	margin-bottom: var(--gap-half);
}
/* main menu */
#main-menu li a {
	font-weight: 400;
	text-transform: uppercase;
	transition: all 0s linear 0s;
	font-size: var(--fs-s);
/* }
#main-menu > li > a { */
	position: relative;
	padding-right: 0;
	padding-left: 1rem;
	margin: 0 var(--gap-default);
}
#main-menu li a::before {
/* #main-menu > li > a::before { */
	content:"_";
	position: absolute;
	left:0;
	height: 1px;
}
#main-menu > li > a::after {
	content:"";
	position: absolute;
	left:0;
	bottom: 0;
	height: 4px;
	background-color: #96d6db;
	width: 100%;
	opacity:0;
}
#main-menu li.current-page-ancestor > a::after, #main-menu li.current-menu-ancestor > a::after, #main-menu li.current-menu-item > a::after, #main-menu li:hover a::after {
	opacity: 1;
}
#main-menu > li:hover > a {
	color: var(--c-primary);
}
#main-menu li.current-page-ancestor > a::after, #main-menu li.current-menu-ancestor > a::after, #main-menu li.current-menu-item > a::after {
	background-color: var(--c-primary);
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	display: none;
}
#main-menu > li > .sub-menu {
	background-color: var(--c-primary);
}
#main-menu .sub-menu li a {
	color: #ffffff;
	font-size: 1.4rem;
}
#main-menu .sub-menu li.current-page-ancestor > a, #main-menu .sub-menu li.current-menu-ancestor > a, #main-menu .sub-menu li.current-menu-item > a, #main-menu .sub-menu li a:hover {
	color: #000000;
}


/* Widget: Jobs
--------------------------------------------------------- */
.nosun-jobs {
	margin-top: var(--space-s);
	border: 4px solid red;
	padding: var(--space-s);
}
.job {
	border-bottom: 1px solid var(--c-light-gray);
	margin-bottom: 20px;
}
.job:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}


/* Widget: Banner
--------------------------------------------------------- */
.nosun-banner {
	width: 100%;
	min-height: 300px;
	aspect-ratio: 1920 / 624;
	overflow: hidden;
}
.banner-image-container {
	height: 100%;
}
#content .banner-image-container img {
	width: 100%;
	height: 100%;
	object-fit:cover;
}
.banner-image-container.left-top img { object-position: left top; }
.banner-image-container.left-center img { object-position: left center; }
.banner-image-container.left-bottom img { object-position: left bottom; }
.banner-image-container.center-top img { object-position: center top; }
.banner-image-container.center-center img { object-position: center center; }
.banner-image-container.center-bottom img { object-position: center bottom; }
.banner-image-container.right-top img { object-position: right top; }
.banner-image-container.right-center img { object-position: right center; }
.banner-image-container.right-bottom img { object-position: right bottom; }


/* Widget: Hotspots
--------------------------------------------------------- */
.floating-column.hotspot {
	width: calc(100% / 3);
}
.hotspot {
	display: inline-block;
	aspect-ratio: 1 / 1;
	padding: 14px;
	background-image: url("../images/udy-designmark.svg");
	background-position: center;
	background-size: contain;
	background-repeat:no-repeat;
}
.hotspot:hover {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
	opacity: 0.9;
}
.hotspot a {
	display: inline-flex;
	width: 100%;
	height: 100%;
	align-items:center;
	justify-content: center;
	text-align: center;
}
.hs-title {
	display: inline-block;
	padding: 2px 5px;
	background-color: var(--c-primary);
	color: #ffffff;
}
.hs-content {
	padding: 15px 0 0;
	color: var(--c-text);
}
@media (min-width: 768px) {
	.floating-column.hotspot {
		margin: var(--space-s);
		max-width: 215px;
		width: 100%;
	}
}
@media (max-width: 767px) {
	.nosun-hotspots {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
	.hotspot {
		font-size: var(--fs-xs);
	}
}

/* sidebar hotspots */
#content-col {
	padding-right: 10px;
}
#sidebar-col {
	position: relative;
	padding-left: 5px;
}
#sidebar-col::after {
	content:"";
	position: absolute;
	left: -15px;
	top: 0;
	bottom: 0;
	margin: auto;
	height: calc(100% - 6rem);
	background-color: #E6E6E6;
	width: 3px;
}
.hotspot-wrap {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	grid-gap: 10px;
	justify-content: center;
}
#sidebar-col .hotspot {
	width: 147px;
}
.hs-1 { background-image: url("../images/udy-designmark-r.svg");}
.hs-3 { background-image: url("../images/udy-designmark-t.svg");}
.hs-4 { background-image: url("../images/udy-designmark-l.svg");}
@media (min-width:1025px) {
	.hotspot-wrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 10px;
	}
}
@media (max-width:1024px) {
	#content > .container > .grid {
		grid-template-columns: repeat(1, 1fr);
	}
	#content-col {
		padding-right: 0;
	}
	#sidebar-col {
		padding-left: 0;
	}
	#sidebar-col::after {
		left: 0;
		top: -15px;
		bottom: auto;
		margin: auto;
		height: 3px;
		width: 100%;
	}
}
@media (min-width:767px) and (max-width:1024px) {
	.hotspot-wrap {
		display:flex;
		align-items: center;
		justify-content: center;
		grid-gap: 10px;
	}
}


/* Shortcode: team
--------------------------------------------------------- */
.teammitglied {
	margin-bottom: var(--gap-default);
}
.teammitglied .tm-name {
	margin-bottom: 5px;
}
.tm-info-row {
	display: flex;
	align-items:center;
	grid-gap: 5px;
	margin-bottom: 5px;
}
.tm-info-row svg {
	width: 18px;
	height: 18px;
}
@media (max-width:767px) {
	.grid.team-container {
		grid-template-columns: repeat(2, 1fr);
	}
	.grid.team-container .column.teammitglied {
		grid-column: span 2;
	}
}


.pagelist-lv-0 a:hover {
	text-decoration:underline;
}

/* Widget: Galerie mit Text
--------------------------------------------------------- */
.nosun-galerie-mit-text .grid {
	grid-gap: 2px;
}
.nosun-galerie-mit-text .btn-wrapper {
	text-align:right;
}
.nosun-galerie-mit-text .button {
	width: 33px;
	height: 33px;
	display: inline-block;
	background: url("../images/readMore-Arrow.png") no-repeat 0px 0px;
	background-size: 33px auto;
	padding: 0;
	border: none;
	margin-bottom: 0;
	/* text-indent: -50000em;
	font-size: 0em;
	font-family: 'Open sans'; */
}
.nosun-galerie-mit-text .button:hover {
	background-color: transparent;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
	opacity: 0.9;
}
.gmt-image {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: 100%;
}
.gmt-text-col {
	padding: 20px 10px;
	background-color: var(--c-lightest-gray);
}
.gmt-text-col .bt-headline {
	margin-bottom: 10px !important;
}
.gmt-text-col .wysiwyg {
	padding-left: 17px;
}
.gmt-text-col .wysiwyg p {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.nosun-galerie-mit-text.spalten-mobil-six .grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.nosun-galerie-mit-text.spalten-mobil-four .grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.nosun-galerie-mit-text.spalten-mobil-three .grid {
		grid-template-columns: repeat(4, 1fr);
	}
}


/* Widget: Linkliste
--------------------------------------------------------- */
.ll-title {
	margin-bottom: var(--gap-half);
}
.eintrag-linkliste .linkliste-link {
	padding: 1.2rem var(--gap-default);
	display: inline-block;
	text-align:left;
	position: relative;
}
.eintrag-linkliste .linkliste-link::before {
	content: "";
	height: 5px;
	position: absolute;
	left: 2px;
	top: 2.7rem;
	background-color: var(--c-primary);
	width: 13px;
	transform: skew(-10deg, -10deg) rotate(10deg);
}
.eintrag-linkliste .linkliste-link::after {
	content: "weiter \21e2";
	padding-left: var(--gap-half);
	color: #fff;
	text-transform: lowercase;
	float: right;
	font-size: 1.4rem;
}
.eintrag-linkliste .linkliste-link:hover {
	background-color: var(--c-primary);
	color:#fff;
}


/* Footer
--------------------------------------------------------- */
.extra-fusszeile {
	background-color: var(--c-lightest-gray);
}
.extra-fusszeile .column.three {
	padding-left: 12px;
}
footer#main-footer {
	background-color: var(--c-primary);
	color: #fff;
	padding-bottom: var(--gap-half);
}
footer#main-footer a {
	color: #fff;
}
footer#main-footer a:hover {
	opacity: .7;
}
.footer-middle {
	background-color: transparent;
}
.footer-bottom {
	background-color: var(--c-primary-alt);
	padding: 0;
	text-align:left;
	font-size: 1.2rem;
}
#footer-menu {
	text-align: right;
}
#footer-menu li {
	width: auto;
	display: inline;
	margin-left: 20px;
	position: relative;
}
#footer-menu li::after {
	content:"";
	width: 1px;
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: -10px;
	top:0;
	bottom: 0;
	margin: auto;
}
#footer-menu li:first-child {
	margin-left: 0;
}
#footer-menu li:first-child::after {
	display: none;
}
#footer-menu li a {
	font-size: 1.2rem;
}
#copyright {
	text-align:left;
}
@media (min-width: 1025px) {
	#fm-col-1 {
		padding-right: var(--space-xs);
	}
	#fm-col-2 {
		padding-right: var(--space-xs);
		padding-left: var(--space-xs);
		border-width: 0 1px 0 1px;
		border-style: solid;
		border-color: #fff;
	}
	#fm-col-3 {
		padding-left: var(--space-xs);
	}
}
.only-mobile {
	display: none;
}
@media (max-width: 767px){
	.footer-bottom > .container > .flex-row {
		text-align: center;
		flex-direction: column;
		grid-gap: 20px;
		padding: 20px 0 70px;
	}
	.only-mobile {
		display: block;
	}
	#footer-menu,
	#copyright {
		text-align:center;
	}
	#fm-col-1 .flex-row.v-end {
		align-items: flex-start;
	}
	#fm-col-2,
	#fm-col-3 {
		display: none;
	}
	#fm-col-1 .flex-row > .flex-column:first-child {
		width: 70%;
	}
	/* #fm-col-1 .flex-row {
		grid-gap: 20px;
	}
	#fm-col-2,
	#fm-col-3 {
		padding-left: calc(50% + 10px);
	} */
	.footer-middle > .container > .grid::after {
		content:"";
		position: absolute;
		left: 33%;
		width: 1px;
		height: 100%;
		background-color: #fff;
		margin: auto;
	}
}
