/*
Theme Name: neoQM
Theme URI: https://neoqm.de
Author: Ruven Pelka
Author URI: https://ruvenpelka.com
Description: The neoQM theme.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.0
Template: groundbreaker
Text Domain: neoqm
*/

/**
 * BASE/VIEW-TRANSITION
 */

@view-transition {
	navigation: auto;
}


/**
 * BASE/HTML
 */

html {
	scroll-behavior: smooth;
}


/**
 * BASE/HEADINGS
 */

@media (max-width: 550px) {
	h1 {
		font-size: clamp(1.648rem, 1.648rem + ((1vw - 0.2rem) * 2.095), 2.8rem);
		line-height: 1.3;
	}
}


/**
 * WP-BLOCK/SEPARATOR
 */

.wp-block-separator {
	border-top: 1px solid;
}


/**
 * WP-BLOCK/BUTTON
 */

.wp-block-button {
	--groundbreaker--button--secondary--color: var(--wp--preset--color--base-0);
	--groundbreaker--button--secondary--background-color: var(--wp--preset--color--secondary-500);
}

.wp-block-button__link {
	transition: all ease-in-out .2s;
}

/* Normal button */
.wp-block-button:not(.is-style-outline):not(.is-style-secondary) .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

/* Secondary button */
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--highlight-500) !important;
}

/* Tertiary button */
.wp-block-button.is-style-tertiary .wp-block-button__link {
	color: var(--wp--preset--color--base-0);
	background-color: var(--wp--preset--color--primary-500);
}

.wp-block-button.is-style-tertiary .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--highlight-500) !important;
}

/* Outline button */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--base-0) !important;
	background-color: var(--wp--preset--color--primary-500);
	border-color: var(--wp--preset--color--primary-500);
}

/* Highlight button */
.wp-block-button.is-style-highlight .wp-block-button__link {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

.wp-block-button.is-style-highlight .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--primary-200) !important;
}

/* Alert button */
.wp-block-button.is-style-alert .wp-block-button__link {
	color: var(--wp--preset--color--alert-200);
	background-color: var(--wp--preset--color--alert-500);
}

.wp-block-button.is-style-alert .wp-block-button__link:hover {
	color: var(--wp--preset--color--alert-200) !important;
	background-color: var(--wp--preset--color--alert-600) !important;
}

/* Success button */
.wp-block-button.is-style-success .wp-block-button__link {
	color: var(--wp--preset--color--success-200);
	background-color: var(--wp--preset--color--success-500);
}

.wp-block-button.is-style-success .wp-block-button__link:hover {
	color: var(--wp--preset--color--success-200) !important;
	background-color: var(--wp--preset--color--success-600) !important;
}


/**
 * WP-BLOCK-STYLES/GROUP/CENTER-ON-MOBILE
 */

@media (max-width: 600px) {
	.wp-block-group.is-style-center-on-mobile h1,
	.wp-block-group.is-style-center-on-mobile h2,
	.wp-block-group.is-style-center-on-mobile h3,
	.wp-block-group.is-style-center-on-mobile h4,
	.wp-block-group.is-style-center-on-mobile h5,
	.wp-block-group.is-style-center-on-mobile h6,
	.wp-block-group.is-style-center-on-mobile p {
		text-align: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-buttons {
		justify-content: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image img {
		margin: 0 auto;
	}

	.__wp-block-group.is-style-center-on-mobile ul,
	.__wp-block-group.is-style-center-on-mobile ol {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/NO-GLOBAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
  .is-style-no-global-padding-on-mobile.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
  .is-style-global-padding-on-mobile{
    padding-left: var(--wp--style--root--padding-left) !important;
    padding-right: var(--wp--style--root--padding-right) !important;
    padding-top: var(--wp--style--root--padding-left) !important;
    padding-bottom: var(--wp--style--root--padding-left) !important;
  }
}

@media (max-width: 781px) {
  .is-style-global-padding-x-on-mobile.has-global-padding {
    padding-left: var(--wp--style--root--padding-left) !important;
    padding-right: var(--wp--style--root--padding-right) !important;
  }
}

@media (max-width: 781px) {
  .is-style-global-padding-y-on-mobile.has-global-padding {
    padding-top: var(--wp--style--root--padding-top) !important;
    padding-bottom: var(--wp--style--root--padding-bottom) !important;
  }
}


/**
 * WP-BLOCK-STYLES/COLUMNS/SWITCH-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
  .is-style-switch-columns-on-mobile {
    display: flex;
    flex-direction: column;
    row-gap: var(--wp--style--block-gap, 1.5em);
  }

  .is-style-switch-columns-on-mobile>.wp-block-column:nth-child(2) {
    order: -1;
  }
}


/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-X-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
  .is-style-global-x-padding-on-mobile {
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
  }
}


/**
 * WP-BLOCKS/LIST
 */

ul.wp-block-list {
	padding-left: .5em;
}

ul.wp-block-list:not(.is-style-list-with-arrows) {
	list-style-type: "\2022";
}

ul.wp-block-list li {
	padding-inline-start: 1ch;
}


/**
 * WP-BLOCK-STYLES/BUTTONS/FULL-WIDTH-ON-MOBILE
 */

@media (max-width: 600px) {
	.wp-block-buttons.is-style-full-width-mobile .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons.is-style-full-width-mobile .wp-block-button__link {
		width: 100%;
		display: block;
		text-align: center;
	}
}


/**
 * WP-BLOCK-STYLES/LIST/WITH-ARROWS
 */

/* Default List Arrows */

ul.wp-block-list.is-style-list-with-arrows,
ul.wp-block-list.is-style-list-with-secondary-arrows {
	list-style-type: "\25B8";
}

ul.wp-block-list.is-style-list-with-arrows li::marker {
	color: var(--wp--preset--color--primary-500);
}

/* Secondary List Arrows */

ul.wp-block-list.is-style-list-with-secondary-arrows li::marker {
	color: var(--wp--preset--color--secondary-500);
}


/**
 * WP-BLOCK-STYLES/PARAGRAPH/SUBHEADING
 */

.is-style-subheading {
	font-family: var(--wp--preset--font-family--roboto-condensed);
	font-size: clamp(1.092rem, 1.092rem + ((1vw - 0.2rem) * 1.105), 1.7rem);
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-transform: uppercase
}


/**
 * WP-BLOCK-STYLES/COLUMNS/SWITCH-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-switch-columns-on-mobile {
		display: flex;
		flex-direction: column;
		row-gap: var(--wp--style--block-gap, 1.5em);
	}

	.is-style-switch-columns-on-mobile>.wp-block-column:nth-child(2) {
		order: -1;
	}
}



/**
 * WP-BLOCK-STYLES/COLUMNS/TWO-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
    /* Allow the columns to wrap into a second row */
    .wp-block-columns.is-style-two-columns-on-mobile {
        display: flex;
        flex-wrap: wrap !important; 
		gap: var(--wp--style--root--padding-left);
    }

    /* Force each column to be exactly 50% wide on mobile */
    .wp-block-columns.is-style-two-columns-on-mobile > .wp-block-column {
        flex-basis: calc(50% - (var(--wp--style--root--padding-left) / 2)) !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
    }
}


/**
 * WP-BLOCK-STYLES/HEADING/TEXT-WRAP
 */

.is-style-text-balance {
	text-wrap: balance;
}

.is-style-text-nowrap {
	text-wrap: nowrap;
}



/**
 * WP-BLOCK-STYLES/COLUMNS/STACK-ON-TABLET
 */

@media (max-width: 1024px) {
	.wp-block-columns.is-style-stack-on-tablet {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.is-style-stack-on-tablet > .wp-block-column {
		flex-basis: 100% !important;
		margin-left: 0 !important;
	}
}


/**
 * THEME/TEXT-DECORATION
 */

a.no-underline,
.no-underline a {
	text-decoration: none;
}

a.no-underline:hover,
.no-underline a:hover {
	text-decoration: underline;
}


/**
 * THEME/ASPECT-RATIO
 */

.aspect-square {
	aspect-ratio: 1 / 1;
}


/**
 * THEME/RELATIVE
 */

.relative {
	position: relative;
}


/**
 * THEME/OVERFLOW
 */

.overflow-hidden {
	overflow: hidden;
}


/**
 * THEME/MAX-WIDTH
 */

.max-w-half-vw {
	max-width: 50vw;
}


/**
 * THEME/DISPLAY
 */

.hidden {
	display: none !important;
}


/**
 * THEME/Z-INDEX
 */

.z-10 {
	z-index: 10;
}


/**
 * THEME/OFFSET-NUMBER-CIRCLE
 */

.offset-number-circle-group {
	position: absolute;
	z-index: 50;
	width: 100%;
	top: -50px;
}


/**
 * BLOCK-FORMATS/SECONDARY-TEXT
 */

.wp-block-button .secondary-text {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 400;
}


/**
 * BASE/FORMS
 */

/*
body label {
  display: block;
  font-size: var(--groundbreaker--label--font-size, .85em);
  font-weight: var(--groundbreaker--label--font-weight, 500);
}
*/

body .form-field {
	background-color: var(--wp--preset--color--base-0);
	box-sizing: border-box;
	border: none;
	border-radius: .4rem;
	border-left: .6rem solid transparent;
	width: 100%;
	max-width: 100%;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

body .form-field,
body .wpcf7-acceptance label {
	font-family: inherit;
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 400;
}

body textarea.form-field {
	line-height: inherit;
}

body .form-field input[type='checkbox'] {
	width: 18px;
	height: 18px;
}

body .form-field[aria-required='true'],
body .form-field.required {
	border-left: .6rem solid var(--wp--preset--color--primary-500);
}

body .form-field:focus {
	outline: 3px solid var(--wp--preset--color--primary-500);
	outline-left: none;
}

body input[type=submit] {
	font-family: inherit;
	cursor: pointer;
	border: 0;
	border-radius: .8rem;
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--primary-200);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	padding: var(--wp--preset--spacing--scale-6);
}

body input[type=submit]:enabled:hover {
	background-color: var(--wp--preset--color--primary-300);
}


/**
 * THEME/FORM-BUTTON
 */

/* 2-XL Button */
.form-button-2xl input[type=submit] {
	width: 100%;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--2-xl);
	padding-top: var(--wp--preset--spacing--scale-10);
	padding-bottom: var(--wp--preset--spacing--scale-10);
}

/* Highlight Button */
.form-button-highlight input[type='submit'] {
	transition: all ease-in-out .2s;
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

.form-button-highlight input[type='submit']:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--primary-200) !important;
}


/**
 * THEME/LARGE-FORM
 */

.large-form {
	--large-form-gap: var(--wp--preset--spacing--scale-6);
}

@media (min-width: 782px) {
	.large-form {
		--large-form-gap: var(--wp--preset--spacing--scale-10);
	}
}

.large-form .wp-block-columns {
	gap: var(--large-form-gap);
}

.large-form>*+*,
.large-form .wp-block-group>*+*,
.large-form .wp-block-column>*+* {
	margin-block-start: var(--large-form-gap);
}

.large-form .wp-block-columns {
	margin-bottom: var(--large-form-gap);
}

.large-form .wpcf7-not-valid-tip {
	position: absolute;
	bottom: -26px;
	padding-left: 2.1rem;
	font-size: .8rem !important;
}



/**
 * THEME/FEATURES-TABLE
 */

.features-table {
	--features-table-space-x: var(--wp--preset--spacing--scale-6);
	--features-table-space-y: var(--wp--preset--spacing--scale-4);
}

@media (min-width: 782px) {
	.features-table {
		--features-table-space-x: var(--wp--preset--spacing--scale-10);
		padding-left: var(--wp--preset--spacing--scale-12);
		padding-right: var(--wp--preset--spacing--scale-12);
		padding-bottom: var(--wp--preset--spacing--scale-12);
	}
}

.features-table .wp-block-details {
	margin-top: 0;
	margin-bottom: 0;
}

.features-table .wp-block-details:not([open]):not(:last-child) {
	border-bottom: 2px solid var(--wp--preset--color--base-0);
}

.features-table .wp-block-details summary {
	position: relative;
	background: var(--wp--preset--color--primary-200);
	text-align: center;
	transition: all ease-in-out .2s;
	padding: var(--features-table-space-y) calc(var(--features-table-space-x) * 2);
}

.features-table .wp-block-details summary:hover,
.features-table .wp-block-details .wp-block-columns:hover {
	background: var(--wp--preset--color--primary-300) !important;
}

.features-table .wp-block-details summary::marker,
.features-table .wp-block-details summary::-webkit-details-marker {
	content: "" !important;
	display: none !important;
	color: transparent !important;
}

.features-table .wp-block-details summary::before {
	content: "\25B8";
	position: absolute;
	left: var(--features-table-space-x);
    top: calc(50% - .8rem);
	font-size: 1.6rem;
    line-height: 1;
}

.features-table .wp-block-details[open] summary::before {
	content: "\25BE";
}

.features-table .wp-block-columns {
/* 	min-height: 62px; */
}

.features-table .wp-block-details .wp-block-columns:nth-child(odd) {
	background: var(--wp--preset--color--primary-50);
}

.features-table .wp-block-columns .wp-block-column,
.features-table .wp-block-details > .wp-block-group {
	padding: var(--features-table-space-y) var(--features-table-space-x);
}

.features-table .wp-block-columns .wp-block-column:first-child {
	flex-basis: 66%;
	border-right: 1px solid var(--wp--preset--color--primary-300);
}

.features-table .wp-block-columns .wp-block-column:last-child {
	flex-basis: 34%;
	margin-left: -1px;
	border-left: 1px solid var(--wp--preset--color--primary-300);
}

@media (max-width: 781px) {
	.features-table .wp-block-columns .wp-block-column {
		font-size: .85rem;
	}
}

@media (min-width: 782px) {
	.features-table .wp-block-columns .wp-block-column:first-child {
		flex-basis: 70%;
	}
	.features-table .wp-block-columns .wp-block-column:last-child {
		flex-basis: 30%;
	}
}


/**
 * PLUGINS/CONTACT-FORM-7
 */

.wpcf7-list-item {
	margin: 0 !important;
}

.wpcf7-spinner {
	margin: var(--wp--style--block-gap) 0 0;
}

.wpcf7 form .wpcf7-response-output {
	font-weight: bold;
	margin: 0 0 var(--wp--style--block-gap);
	padding: var(--wp--style--block-gap);
	border-radius: .8rem;
}


/**
 * PLUGINS/CHOICES
 */

.choices {
	--choices-text-color: var(--wp--preset--color--primary-500);
	--choices-arrow-right: 1.2rem;
}

.choices .choices__placeholder {
	text-align: center;
	opacity: 1 !important;
}

.choices .choices__inner,
.choices.is-open .choices__inner {
	transition: all ease-in-out .2s;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--roboto-condensed);
	font-size: .8rem;
	line-height: 1.3;
	font-weight: 500;
	background-color: var(--wp--preset--color--primary-300);
	padding: 1rem 2rem !important;
	border: 0;
	border-radius: .8rem !important;
}

.choices .choices__inner:hover {
	background-color: var(--wp--preset--color--primary-200);
}

@media (min-width: 782px) {
	.choices .choices__inner,
	.choices.is-open .choices__inner {
		font-size: 1.2rem;
		line-height: 1.3;
	}
}

.choices .choices__list--single {
	text-align: center;
}

.choices.is-open .choices__list--dropdown,
.choices.is-open .choices__list[aria-expanded] {
	border-color: var(--wp--preset--color--base-300);
	border-radius: .8rem;
}

.choices .choices__list--single {
	padding: 0;
}
