/**
 * Theme Name:     HPC AG
 * Author:         HPC Team
 * Template:       Divi
 * Text Domain:	   hpc-ag
 * Description:    Anpassungen des Divi-Themes für die HPC AG
 * Version:        1.0
 */

/* #region Font Setup */
/* poppins-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	src: url('fonts/poppins-v23-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-regular - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/poppins-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-500 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	src: url('fonts/poppins-v23-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-500italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 500;
	src: url('fonts/poppins-v23-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-600 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	src: url('fonts/poppins-v23-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-700 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/poppins-v23-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	/* src: url('fonts/poppins-v23-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
body {
	font-family: 'Poppins', greycliff-cf, Greycliff, Helvetica, Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', greycliff-cf, Greycliff, Helvetica, Arial, sans-serif;
}
/* #endregion Font Setup */

/* #region Accessibility */
/* Add Accessibility feature to social links in Header */
.nav-headline .flex-icons a span {
	text-indent: -9999px;
	overflow: hidden;
	display: inline-block;
	width: 1px;
	height: 1px;
}

/* Accessibility Links (with icon after link) */
.et_pb_module.a11y-links a {
    display: inline-block;
    position: relative;
}
.et_pb_module.a11y-links a::after {
    content: "\f35d";
    font-family: 'Font Awesome 5 Pro';
    margin-left: 10px;
    font-size: 75%;
    line-height: 100%;
    position: relative;
    top: -0.1em;
} 

/* #region Highlight focused links */
a:focus {
	outline: 3px dotted #000;
	outline-offset: 3px;
}
/* #endregion Highlight focused links */

/* Language menu accessibility */
.toggle-lang:focus {
	outline: 3px dotted #000;
	outline-offset: 2px;
}

/* Focused language menu items */
ul[data-id="sprache"] li.focus {
	background-color: rgba(0, 109, 120, 0.1);
}

ul[data-id="sprache"] li a:focus {
	outline: 3px dotted #006d78;
	outline-offset: 3px;
}

/* Floating navigation toggle accessibility */
.toggle-floating:focus {
	outline: 3px dotted #000;
	outline-offset: 3px;
}

/* Menu dropdown arrow (span) accessibility */
ul.list_container.style--navigation li.menu_parent_item > a > span:focus {
	outline: 3px dotted #006d78;
	outline-offset: 5px;
}

/* For submenu navigation */
.sub-list_container li a:focus {
	outline: 3px dotted #006d78;
	outline-offset: 2px;
}

/* Toggle elements accessibility */
.toggle_title:focus,
.toggle_title.keyboard-focus {
	outline: 3px dotted #000;
	outline-offset: 3px;
}

/* For screen readers */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
/* #endregion Accessibility */

/* #region Header Improvements */
.logo-container a {
	display: inline-block;
}
/* Search Container Styling */
.et_pb_section.search__container {
    overflow: auto;
    display: none; /* Hidden by default */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
label[for="search-input"] {
	display: inline-block;
	margin-bottom: 5px;
}
/* Active Search Container */
.et_pb_section.search__container.active {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Body class when search is active */
body.search-active {
    overflow: hidden; /* Prevent background scrolling */
}

/* Search toggle focus styles for keyboard navigation */
.search_toggle:focus {
	outline: 3px dotted #000;
    outline-offset: 2px;
}

/* Ensure the search input is properly styled when focused */
#search-input:focus {
    outline: 3px dotted #006d78;
    outline-offset: 2px;
}
/* #endregion Header Improvements */

/* #region Button-Zeile Dienstleistungen */
.feature-row .et_pb_module {
	overflow: visible !important;
	cursor: pointer;
}
.feature-row .et_pb_column {
	align-items: flex-start;
	display: flex;
	flex-flow: row wrap;
	gap: 30px 20px;
	justify-content: space-between;
	margin: 0;
}
.feature-row .et_pb_column .et_pb_module {
	margin-bottom: 0 !important;
}
.feature-row .et_pb_column .et_pb_module:last-child {
	justify-self: center;
    margin-left: auto !important;
    margin-right: auto !important;
}
.feature-row .et_pb_column .et_pb_module h2 {
	color: #fff;
	font-size: inherit!important;
	font-weight: bold;
	line-height: inherit;
	margin: 0;
	padding: 0;
}
.feature-row .et_pb_column .button-icon {
	position: absolute;
	left: -85px;
	max-width: 70px;
	top: 50%;
	transition: .25s all ease-in-out;
	transform: translateY(-50%);
}
.feature-row .et_pb_column .et_pb_module:hover .button-icon {
	transform: scale(1.1) translateY(-50%);
}
@media all and (max-width: 980px) {
	.feature-row .et_pb_column {
		flex-flow: column nowrap;
	}
	.feature-row .et_pb_column .et_pb_module:last-child {
		margin-left: 0px !important;
	}
	.feature-row .et_pb_column .et_pb_module:nth-child(n) {
		min-width: 295px;
	}
}
/* #endregion Button-Zeile Dienstleistungen */

/* #region Responsive Design */
@media all and (max-width: 560px) {
	.hide560 {
		display: none !important;
	}
}
/* #endregion Responsive Design */