/*
Theme Name: Impreza Child
Template: Impreza
Version: 2.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

html, body {
	height: unset !important;
}

/* START: Navigation */
nav.type_desktop {
	margin-top: 0 !important;
}
nav.type_desktop .menu-item.level_1 {
	border-bottom: solid 1px #d6ae33;
}
nav.type_desktop .menu-item.level_1:first-child {
	border-top: solid 1px #d6ae33;
}
nav.type_desktop .w-nav-anchor.level_1 {
	padding-left: 0;
	padding-right: 0;
}
nav.type_desktop .w-nav-anchor.level_1:before {
	font-family: "fontawesome";
	color: #444444;
	display: block;
	font-size: 32px;
	line-height: 32px;
	margin: 0 0 6px 0;
	font-weight: lighter;
}
nav.type_desktop li.menu-item:hover .w-nav-anchor.level_1:before {
	color: #fccf00;
}
nav.type_desktop li.icon.raume .w-nav-anchor.level_1:before {
	content: "\f52b";
}
nav.type_desktop li.icon.kulinarik .w-nav-anchor.level_1:before {
	content: "\f2e6";
}
nav.type_desktop li.icon.technik .w-nav-anchor.level_1:before {
	content: "";
	background-image: url(/wp-content/themes/Impreza-child/img/icons/technik_menu_icon_dark.svg);
	display: block;
	height: 32px;
	width: 50px;
	background-repeat: no-repeat;
	background-size: contain;
	margin: 0 auto;
}
nav.type_desktop li.icon.aktivitaeten .w-nav-anchor.level_1:before {
	content: "\f0c0";
}
nav.type_desktop li.icon.stadionevents .w-nav-anchor.level_1:before {
	content: "\f073";
}
nav.type_desktop li.icon.ueber-uns .w-nav-anchor.level_1:before {
	content: "\f129";
}
nav.type_desktop li.icon.kontakt .w-nav-anchor.level_1:before {
	content: "\f0e0";
}
nav.type_desktop li.icon.home .w-nav-anchor.level_1:before {
	content: "\f80b";
}
nav.type_desktop li.icon.profil .w-nav-anchor.level_1:before {
	content: "\f007";
}
nav.type_desktop li.icon.skyclub .w-nav-anchor.level_1:before {
	content: "\f79e";
}
nav.type_desktop li.icon.member .w-nav-anchor.level_1:before {
	content: "\f500";
}
nav.type_desktop li.icon.anmeldeliste .w-nav-anchor.level_1:before {
	content: "\f03a";
}
nav.type_desktop li.icon.galerie .w-nav-anchor.level_1:before {
	content: "\f302";
}

nav.type_desktop li.icon.technik:hover .w-nav-anchor.level_1:before {
	background-image: url(/wp-content/themes/Impreza-child/img/icons/technik_menu_icon_yellow.svg);
}
/* END: Navigation */


/* START: Subnavigation */
#subnavigation-wrapper {
	border-bottom: solid 1px #d5d5d5;
}
#ncs_subnavigation .menu {
	margin: 0;
}
#ncs_subnavigation .menu-item {
	border-left: solid 1px #d5d5d5;
}
#ncs_subnavigation .menu-item:last-child {
	border-right: solid 1px #d5d5d5;
}
#ncs_subnavigation .menu-item > a {
	color: #292929;
	font-size: 14px;
	opacity: 1;
}
#ncs_subnavigation .menu-item:hover > a {
	color: #ffffff;
	background: #000;
}
#ncs_subnavigation .menu-item.active > a {
	color: #292929;
	background: #fccf00;
}
/* END: Subnavigation */


/* START: Testimonials */
.owl-prev::before {
	font-weight: lighter;
}
.owl-next::before {
	font-weight: lighter;
}
.owl-carousel.navstyle_circle .owl-nav div {
	border: 2px solid #fccf00;
	height: 2rem;
	width: 2rem;
}
.owl-carousel.navstyle_circle .owl-nav div:hover {
	background-color: #fccf00;
}
/* START: Testimonials */


/* START: Raum Grid */
.gridraum a {
	font-weight: 600;
}
.w-vwrapper.usg_vwrapper_1.align_left.valign_top.gridraum {
	border: 1px solid;
	border-bottom: 0px;
}
.w-hwrapper.usg_hwrapper_1.align_center.valign_middle.gridraum {
	border: 1px solid;
}

.gridraum a.w-btn.us-btn-style_3.usg_btn_1.icon_atleft.text_none {
	border: 0.001px solid;
	border-radius: 50px;
	padding: 0.6rem;
	margin: 4px;
}
.gridraum .us-btn-style_3:before {
	border-width: 1px;
}
.gridraum i.fas.fa-plus {
	font-weight: 300 !important;
}
/* END: Raum Grid */


/* START: Grid Filter */
.spg-loop-actions {
	display: none !important;
}
div#loop-content {
	border-top: none !important;
}
.select2-search {
	display: none !important;
}
/* END: Grid Filter */


/* END: Grid Filter */
.w-btn-wrapper.width_auto.align_left {
	display: block;
}
/* END: Grid Filter */


/* START: Tabelle */
.wpb_wrapper table td {
	border: none;
	padding: 0 1rem;
}
.wpb_wrapper table tr:first-child td {
	padding-top: 0.6rem;
}
.wpb_wrapper table tr:last-child td {
	padding-bottom: 0.6rem;
}
/*.wpb_wrapper table tr > td:first-child {
	padding-left: 0 !important;
}*/
.spg-filter-btn input.button {
	padding: 3px 15px !important;
}

/*th.sorting.sorting_asc:after {
	content: '\25B2';
	padding-left: 1rem;
}
th.sorting.sorting_desc:after {
	content: '\25BC';
	padding-left: 1rem;
}*/
/* END: Tabelle */


/* START: Caldera Form */
.caldera-grid .checkbox input[type="checkbox"], .caldera-grid .checkbox-inline input[type="checkbox"], .caldera-grid .radio input[type="radio"], .caldera-grid .radio-inline input[type="radio"] {
    margin-left: -20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.caldera-grid .has-error .checkbox, .caldera-grid .has-error .checkbox-inline, .caldera-grid .has-error .control-label,
.caldera-grid .has-error .form-control-feedback, .caldera-grid .has-error .help-block, .caldera-grid .has-error .radio,
.caldera-grid .has-error .radio-inline, .caldera-grid .has-error.checkbox label, .caldera-grid .has-error.checkbox-inline label,
.caldera-grid .has-error.radio label, .caldera-grid .has-error.radio-inline label {
	color: #F00 !important;
}
.caldera-grid .help-block {
	color: #202020 !important;
	font-size: 0.8rem;
}
/* END: Caldera Form */


/* START: Rangeslider */
#roomslider-values-wrapper {
	display: inline-block;
	margin-top: 10px;
}
#roomslider-values-wrapper > div {
	display: inline-block;
}
#roomslider-reset-wrapper {
	display: inline-block;
	margin-left: 10px;
}
#roomslider-reset-wrapper > .w-btn {
	padding: 4px 1rem;
}
/* END: Rangeslider */


/* START: Rangeslider */
.feedback-box {
    min-height: 125px;
}
/* END: Rangeslider */


/* START: Event Liste Style */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__datepicker,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__events-bar {
	display: none !important;
}
/* END: Event Liste Style */


/* START: Event Liste Button Style */
.tribe-events-calendar-list__vip-event-btn-wrapper {
	display: grid;
	grid-template-columns: auto auto auto;
	column-gap: 15px;
	row-gap: 10px;
	justify-content: start;
}
.tribe-events-calendar-list .tribe-events-w-btn {
	display: grid;
	padding: 0.7em 1.8em !important;
	background: #fccf00 !important;
	border-color: transparent !important;
	color: #000000 !important;
	box-shadow: 0 0em 0em rgba(0,0,0,0.2) !important;
	margin: 0 !important;
	white-space: nowrap;
}
.tribe-events-calendar-list .tribe-events-w-btn:nth-child(3) {
	margin-right: 0 !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-venue {
	display: none !important;
}
@media (max-width: 530px) {
	.tribe-events-calendar-list__vip-event-btn-wrapper {
		grid-template-columns: unset;
		justify-content: stretch;
	}
	.tribe-events-calendar-list .tribe-events-w-btn {
		padding: 0.3em 1.8em !important;
	}
	.tribe-events-calendar-list__vip-event-btn-wrapper .tribe-events-w-btn {
		text-align: center;
	}
}
/* END: Event Liste Button Style */


/* START: Footer */
.w-socials-item-popup {
    display: none !important;
}
.footer-address-hp p {
	font-size: 12px;
	color: #FFF;
	line-height: 20px;
}
.footer-address-hp h2 {
	font-size: 14px;
	font-weight: 700;
	color: #FFF;
	line-height: 14px;
	padding: 0 0 20px 0;
	margin: 0;
}
.footer-contact-info-hp {
	padding: 0px 0px 25px 0px;
	width: 240px;
}
.footer-contact-info-hp h2 {
	font-size: 14px;
	font-weight: 700;
	color: #FFF;
	line-height: 14px;
	padding: 0 0 10px 0;
}
.footer-contact-info-hp ul {
	margin: 0px;
	padding: 0px;
}
.footer-contact-info-hp ul li {
	border-bottom: solid 2px #404040;
	padding: 10px 0px;
}
.footer-contact-info-hp td {
	padding: 10px 0px;
}
/* END: Footer */


/* START: Mitglieder */
#userlist {
	margin-left: -10px !important;
	margin-right: -10px !important;
}
#userlist .search-box {
	width: 100%;
	max-width: unset;
	min-width: unset;
	margin: 0 0 20px 0;
	padding: 0 10px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}
#userlist .search-box input[type="text"] {
	width: unset;
}
#userlist .search-box input[type="text"]:active,
#userlist .search-box input[type="text"]:focus {
	box-shadow: none;
}
#userlist .search-box input[type="submit"] {
	width: unset;
}
.userlist .tbody{
	display: grid;
	gap: 20px;
	/* Adjust the min/max to fit your design preferences and container width */
	grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
	margin: 20px auto;
	padding: 0 10px;
}
.userlist .vcard {
	background: #ffffff; /* modern, white card style */
	border-radius: 6px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.05);
	position: relative;
	padding: 15px !important;
	width: 100% !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	cursor: default; /* or pointer, if you want them clickable */
}

.userlist .vcard:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0,0,0,0.08);
}

/* Avatar area */
.userlist .vcard .avatar {
	display: block;
	text-align: center;
	margin-bottom: 16px;
}

.userlist .vcard .avatar img {
	border-radius: 50%;
	height: auto;
	transition: all 0.2s ease;
}

.userlist .vcard .avatar img:hover {
	transform: scale(1.05);
}

/* Individual text fields (last name, first name, etc.) */
.userlist .vcard .td {
	display: block;
	margin-bottom: 6px;
	font-size: 0.9rem;
	color: #333;
}

/* Label them nicely if you want to show "First name", "Last name", etc. */
.userlist .vcard .td::before {
	font-weight: bold;
	margin-right: 4px;
	color: #555;
}

/* Special styling for the name fields for emphasis */
.userlist .vcard .last_name,
.userlist .vcard .first_name {
	font-size: 1rem;
	font-weight: 600;
	color: #000;
}

/* Email link styling */
.userlist .vcard .user_email a {
	color: #fccf00;
	text-decoration: none;
	transition: color 0.2s ease;
}
.userlist .vcard:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0,0,0,0.08);
}
.userlist .vcard.even .td, .userlist .vcard.odd .td {
	font-size: 18px;
	line-height: 22px;
	background: none !important;
}
/*.userlist .vcard {
	width: calc(33.33% - 20px) !important;
	background: #eeeeee !important;
	margin: 0 10px 20px 10px !important;
	padding: 20px !important;
	float: left !important;
	min-width: 405px !important;
}*/
.userlist .vcard span.avatar,
.userlist .vcard span.last_name,
.userlist .vcard span.plz,
.userlist .vcard span.user_email {
	float:left !important;
}
.userlist .vcard span.last_name,
.userlist .vcard span.plz {
	margin-right: 3px !important;
}
.userlist .vcard span.last_name,
.userlist .vcard span.first_name {
	font-weight: bold;
	margin-bottom: 10px;
}
.userlist .vcard span.avatar {
	height: 100%;
	margin-right: 30px;
	overflow: visible !important;
}
@media (max-width: 1580px) {
	.userlist .vcard {
		width: calc(50% - 20px) !important;
	}
}
@media (max-width: 1100px) {
	.userlist .vcard {
		width: calc(100% - 20px) !important;
	}
}
@media (max-width: 600px) {
	.tribe-events-nav-previous a, .tribe-events-nav-next a {
		font-size: 12px !important;
	}
	.tribe-events-nav-pagination a {
		height: 50px;
	}
	#teilnehmerTable_wrapper {
		overflow: auto;
	}
	#userlist {
		margin-left: unset !important;
		margin-right: unset !important;
	}
	#userlist .search-box {
		padding: 0;
	}
	#userlist .search-box input[type="text"] {
		flex-grow: 1;
	}
	#userlist .search-box input[type="submit"] {
		padding: 0.7em 1em;
	}
	.userlist .vcard {
		width: 100% !important;
		margin: 0 0 20px 0 !important;
		padding: 20px !important;
		float: left !important;
		min-width: unset !important;
	}
	.userlist .vcard:last-child {
		margin: 0 0 0 0 !important;
	}
}
@media (max-width: 550px) {
	.userlist .vcard span.avatar {width: 115px; min-height: 115px;}
	table#teilnehmerTable {
		overflow-x: auto;
		font-size: 80%;
	}
	.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter {
		text-align: left !important;
		margin-top: 15px;
	}
}
@media (max-width: 470px) {
	.userlist .vcard span.avatar, .userlist .vcard span.user_email {
		float: none !important;
	}
	.userlist .vcard span.avatar {width: 100%; height: unset;}
	.userlist .tbody{
		grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
	}
}
/* END: Mitglieder */


/* START: Profil */
#ihc_account_page_wrapp {
	padding: 0;
}
#ihc_account_page_wrapp .ihc-form-create-edit .iump-form-line-register {
	padding: 0;
	margin: 0 0 15px 0;
}
#ihc_account_page_wrapp .ihc-form-create-edit .iump-form-line-register input {
	height: 34px;
	border-radius: 0 !important;
}
#ihc_account_page_wrapp .ihc-reg-update-msg {
	background-color: #d4edda;
	border-color: #c3e6cb;
	color: #155724;
	padding: 3px;
	margin: 0 0 15px 0;
}
#ihc_account_page_wrapp .iump-submit-form {
	text-align: left;
	margin: 0 0 0 0;
}
#ihc_account_page_wrapp .iump-submit-form input {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	background-color: #fff !important;
	border: 1px solid #ccc !important;
	border-radius: 2px !important;
	padding: 6px 12px;
	min-width: unset;
	min-height: unset;
	width: unset;
}
#ihc_account_page_wrapp .iump-submit-form input:hover {
	box-shadow: 0 0em 0em rgba(0,0,0,0.2);
	background: #000000 !important;
	border-color: transparent;
	color: #fccf00 !important;
}
.ihc-user-page-top-ap-wrapper,
.ihc-user-page-content-wrapper .ihc-ap-menu {
	display: none !important;
}
.iump-user-page-box .iump-register-form {
	margin: 0;
	padding: 0;
}
.iump-user-page-box .iump-register-form .ihc-register-9 .iump-form-line-register {
	margin-left: 0;
}
.iump-user-page-box .iump-register-form .ihc-register-9 .iump-form-line-register input {
	border-radius: 0 !important;
}
.ihc-register-9 .iump-submit-form input {
	background-color: #fccf00 !important;
	color: #000000 !important;
	background-image: none !important;
}
.ihc-register-9 .iump-submit-form input:hover {
	background-color: #000000 !important;
	color: #fccf00 !important;
}
.ihc-pass-form-wrap.ihc-login-template-3,
.ihc-login-form-wrap.ihc-login-template-3 {
	padding-bottom: 15px;
}
.ihc-login-form-wrap.ihc-login-template-3 .impu-temp3-bottom {
	background-color: #fff;
}
/* END: Profil */


/* START: Login / Passwort Reset */
.ihc-reset-pass-success-msg {
	display: block;
	background-color: #d4edda;
	border-color: #c3e6cb;
	color: #155724;
	padding: 10px 3px;
	width: auto;
	margin: 0 auto;
	max-width: 600px;
	text-align: center;
}

.g-recaptcha-wrapper {
	padding: 0;
	margin: 0;
}

@media screen and (max-width: 405px) {
	.g-recaptcha-wrapper .g-recaptcha {
		transform:scale(0.8);
		transform-origin:0 0;
	}
}
/* END: Login / Passwort Reset */


/* START: reCaptcha */
body .grecaptcha-badge {display: none !important;}
/* END: reCaptcha */

/* START: Mitglieder 2 */
.members-container {
	display: grid;
	gap: 20px;
	/* Adjust the min/max to fit your design preferences and container width */
	grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	margin: 20px auto;
	padding: 0 10px;
}

@media(min-width: 768px) and (max-width:1025px){
	.members-container {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	}
}

@media (max-width: 767px) {
	.members-container {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	}
}

.member-card {
	position: relative;
	aspect-ratio: 4/5; /* This maintains the height proportion to width */
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transition: opacity 0.3s ease, transform 0.3s ease, height 0.3s ease;
	background-color: #fff;
	display: flex;
	flex-direction: column;
}

.member-card::before {
	content: "";
	display: block;
	padding-top: 125%;   /* 4:5 ratio -> 5/4 = 125% of width */
}

/* Use the modern property when supported */
@supports (aspect-ratio: 1 / 1) {
	.member-card { aspect-ratio: 4 / 5; }
	.member-card::before { content: none; } /* disable fallback */
}

.member-card.hidden {
	display: none;
}

.member-card:hover {
	transform: translateY(-5px);
}

.member-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	top: -50px;
	left: 0;
	z-index: 1;
}

.member-icon{
	position: relative;
	top: 8px;
}

.member-info-base {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #ffcc00;
	padding: 20px;
	min-height: 103px;
	z-index: 2;
}

.member-name {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
	color: #000;
}

.member-company {
	font-size: 16px;
	color: #333;
}

.member-info-toggle {
	position: absolute;
	top: 35px;
	right: 20px;
	background-color: #000;
	color: #ffcc00;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 24px;
	font-weight: bold;
	padding: 0;
	transition: transform 0.3s ease, background-color 0.3s;
	z-index: 4;
}

.member-info-toggle:hover {
	background-color: #333;
}

.member-info-hover {
	position: absolute;
	bottom: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	color: #fff;
	padding: 20px;
	z-index: 3;
	transition: bottom 0.4s ease;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.member-info-hover .member-name {
	color: #fff;
	font-size: 22px;
}

.member-info-hover .member-company {
	color: #fff;
	font-size: 18px;
}

.member-info-hover.active {
	bottom: 0;
}

.member-detail {
	font-size: 18px;
}

.member-detail.member-email {
	padding-bottom: 20px;
}

.member-detail strong {
	display: inline-block;
	min-width: 80px;
	font-weight: 600;
	color: #ffcc00;
}

.member-email a {
	color: #ffcc00;
	text-decoration: none;
}

.member-email a:hover {
	color: #ffcc00 !important;
	text-decoration: underline;
	text-underline-offset: 7px;
}

.member-close-button {
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #ffcc00;
	color: #000;
	width: 32px;
	height: 32px;
	display: flex;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 24px;
	z-index: 4;
}

/* Search field styling */
.members-search-container {
	margin: 20px auto;
	max-width: 600px;
	padding: 0 10px;
}

.members-search-input {
	width: 100%;
	padding: 12px 15px;
	font-size: 16px;
	border: 2px solid #ddd;
	border-radius: 4px;
	background-color: #fff;
	transition: border-color 0.3s ease;
}

.members-search-input:focus {
	border-color: #ffcc00;
	outline: none;
	box-shadow: 0 0 5px rgba(255, 204, 0, 0.3);
}

.members-search-input::placeholder {
	color: #999;
}

.no-results-message {
	text-align: center;
	padding: 40px 20px;
	font-size: 18px;
	color: #666;
}

/* END: Mitglieder 2 */