/* ==========================================================
   INVI CAMPUS – KONTAKT
   MASTER CSS
   ========================================================== */

.invi-contact-page {
	--cp-blue: #06038D;
	--cp-blue-dark: #04026F;
	--cp-ink: #172033;
	--cp-text: #425A82;
	--cp-muted: #667085;
	--cp-border: #DCE6F3;
	--cp-soft-blue: #EEF5FF;
	--cp-soft-warm: #F8F4ED;
	--cp-white: #FFFFFF;

	--cp-width: 1200px;
	--cp-radius: 10px;

	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ==========================================================
   RESET
   ========================================================== */

.invi-contact-page *,
.invi-contact-page *::before,
.invi-contact-page *::after {
	box-sizing: border-box;
}

.invi-contact-page .wp-block-group,
.invi-contact-page .wp-block-columns,
.invi-contact-page .wp-block-buttons {
	margin-block-start: 0;
	margin-block-end: 0;
}

.invi-contact-page a {
	text-decoration: none;
}

.invi-contact-page .wp-block-heading,
.invi-contact-page p {
	hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}


/* ==========================================================
   ICONS
   ========================================================== */

.invi-contact-page .invi-cp-icon-person {
	--cp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20v-2c0-3.6 2.8-6 6.5-6s6.5 2.4 6.5 6v2'/%3E%3C/svg%3E");
}

.invi-contact-page .invi-cp-icon-book {
	--cp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5c2.7-.9 5.3-.6 8.5 1.4v12c-3.2-2-5.8-2.3-8.5-1.4z'/%3E%3Cpath d='M20.5 5.5c-2.7-.9-5.3-.6-8.5 1.4v12c3.2-2 5.8-2.3 8.5-1.4z'/%3E%3C/svg%3E");
}

.invi-contact-page .invi-cp-icon-mail {
	--cp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='m5 7 7 6 7-6'/%3E%3C/svg%3E");
}

.invi-contact-page .invi-cp-icon-location {
	--cp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}


/* ==========================================================
   COMMON TYPOGRAPHY
   ========================================================== */

.invi-cp-kicker,
.invi-cp-eyebrow,
.invi-cp-card-label {
	margin: 0 0 9px !important;

	color: var(--cp-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: .18em;
	text-transform: uppercase;
}


/* ==========================================================
   HERO
   ========================================================== */

.invi-cp-hero {
	width: 100%;

	min-height: 300px !important;

	margin: 0 !important;

	background: #F7F9FD;
}

.invi-cp-hero .wp-block-cover__image-background {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}

.invi-cp-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}

.invi-cp-hero-inner {
	width: calc(100% - 48px) !important;
	max-width: var(--cp-width) !important;

	min-height: 300px;

	margin-left: auto !important;
	margin-right: auto !important;

	display: flex;

	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.invi-cp-hero-title {
	margin: 0 0 10px !important;

	color: var(--cp-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: clamp(52px, 5vw, 72px);
	font-weight: 500;
	line-height: .94;

	letter-spacing: -.035em;
}

.invi-cp-hero-text {
	margin: 0 !important;

	color: var(--cp-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
}


/* ==========================================================
   MAIN
   ========================================================== */

.invi-cp-main {
	width: 100% !important;
	max-width: none !important;

	padding: 20px 24px 16px !important;

	background: #FFFFFF;
}

.invi-cp-container {
	width: 100% !important;
	max-width: var(--cp-width) !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* ==========================================================
   INTRO
   ========================================================== */

.invi-cp-intro {
	display: grid !important;

	grid-template-columns: 58% 42%;

	align-items: end;

	margin-bottom: 18px !important;

	padding: 0 2px;
}

.invi-cp-intro-title .invi-cp-eyebrow {
	margin-bottom: 5px !important;
}

.invi-cp-intro-title h2 {
	margin: 0 !important;

	color: var(--cp-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 38px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: -.025em;
}

.invi-cp-intro-copy {
	max-width: 450px;

	margin: 0 0 2px auto !important;

	color: var(--cp-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.48;
}


/* ==========================================================
   PEOPLE GRID
   ========================================================== */

.invi-cp-people-grid {
	display: grid !important;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 14px;

	margin-bottom: 18px !important;
}


/* ==========================================================
   PERSON CARD
   ========================================================== */

.invi-cp-person-card {
	position: relative;

	min-height: 158px;

	overflow: hidden;

	padding: 20px 20px 18px 76px !important;

	border: 1px solid var(--cp-border);
	border-radius: var(--cp-radius);

	transition:
		transform .16s ease,
		border-color .16s ease,
		box-shadow .16s ease;
}

.invi-cp-card-blue {
	background:
		linear-gradient(
			125deg,
			#EEF5FF 0%,
			#FAFCFF 72%,
			#E8F1FF 100%
		);
}

.invi-cp-card-warm {
	background:
		linear-gradient(
			125deg,
			#FBF7EF 0%,
			#FCFAF6 72%,
			#F1ECE3 100%
		);
}

.invi-cp-card-neutral {
	background:
		linear-gradient(
			125deg,
			#F6F8FC 0%,
			#FFFFFF 72%,
			#EFF3F8 100%
		);
}


/* ==========================================================
   CARD ICON
   ========================================================== */

.invi-cp-person-card::before {
	content: "";

	position: absolute;

	left: 18px;
	top: 20px;

	width: 42px;
	height: 42px;

	border-radius: 999px;

	background-color: #E1EBFF;
	background-image: var(--cp-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 23px 23px;
}

.invi-cp-card-warm::before {
	background-color: #ECE5D9;
}

.invi-cp-card-neutral::before {
	background-color: #E9EEF6;
}


/* ==========================================================
   CARD DECORATION
   ========================================================== */

.invi-cp-person-card::after {
	content: "";

	position: absolute;

	right: -70px;
	bottom: -75px;

	width: 230px;
	height: 120px;

	border-radius: 50%;

	background: rgba(255,255,255,.42);

	pointer-events: none;
}

.invi-cp-person-card > * {
	position: relative;
	z-index: 2;
}


/* ==========================================================
   CARD CONTENT
   ========================================================== */

.invi-cp-person-card .invi-cp-card-label {
	margin-bottom: 4px !important;

	font-size: 9.5px;
}

.invi-cp-person-card h3 {
	margin: 0 0 6px !important;

	color: var(--cp-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.05;

	letter-spacing: -.015em;
}

.invi-cp-person-card > p:not(.invi-cp-card-label):not(.invi-cp-contact-link) {
	margin: 0 0 9px !important;

	color: var(--cp-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11.5px;
	line-height: 1.4;
}

.invi-cp-contact-link,
.invi-cp-contact-lines p {
	margin: 0 !important;

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.55;
}

.invi-cp-contact-link a,
.invi-cp-contact-lines a {
	color: var(--cp-blue);
}

.invi-cp-contact-link a:hover,
.invi-cp-contact-lines a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.invi-cp-contact-lines {
	display: grid !important;

	gap: 1px;
}


/* ==========================================================
   CARD HOVER
   ========================================================== */

@media (hover: hover) and (pointer: fine) {

	.invi-cp-person-card:hover {
		transform: translateY(-2px);

		border-color: #C4D1E3;

		box-shadow:
			0 9px 22px rgba(6,3,141,.045);
	}
}


/* ==========================================================
   FORM CARD
   ========================================================== */

.invi-cp-form-card {
	margin-bottom: 18px !important;

	padding: 26px 28px 28px !important;

	border: 1px solid var(--cp-border);
	border-radius: var(--cp-radius);

	background:
		linear-gradient(
			135deg,
			#FFFFFF 0%,
			#FCFDFF 100%
		);

	box-shadow:
		0 9px 28px rgba(23,32,51,.035);
}


/* ==========================================================
   FORM HEAD
   ========================================================== */

.invi-cp-form-head {
	display: grid !important;

	grid-template-columns: 58% 42%;

	align-items: end;

	margin-bottom: 22px !important;

	padding-bottom: 18px;

	border-bottom: 1px solid var(--cp-border);
}

.invi-cp-form-head-title .invi-cp-eyebrow {
	margin-bottom: 5px !important;
}

.invi-cp-form-head-title h2 {
	margin: 0 !important;

	color: var(--cp-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: -.02em;
}

.invi-cp-form-intro {
	max-width: 450px;

	margin: 0 0 1px auto !important;

	color: var(--cp-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.48;
}


/* ==========================================================
   FORM WRAPPER
   ========================================================== */

.invi-cp-form-wrap {
	width: 100% !important;

	margin: 0 !important;
}

.invi-cp-form-wrap .wp-block-shortcode {
	width: 100%;
}


/* ==========================================================
   FLUENT FORMS – BASE
   ========================================================== */

.invi-contact-page .fluentform,
.invi-contact-page .frm-fluent-form,
.invi-contact-page .ff-el-form-control {
	width: 100%;
}

.invi-contact-page .frm-fluent-form {
	display: block !important;

	max-width: none !important;

	margin: 0 !important;
}


/* ==========================================================
   WICHTIG:
   FLUENT FORMS FIELDSET

   Fluent Forms legt die Formularfelder innerhalb eines
   FIELDSET ab.

   Das Grid muss daher auf FIELDSET liegen – NICHT auf FORM.
   ========================================================== */

.invi-contact-page .frm-fluent-form > fieldset {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	column-gap: 22px;
	row-gap: 0;

	width: 100% !important;
	max-width: none !important;
	min-width: 0;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
}


/* ==========================================================
   ERSTE VIER FELDER
   Vorname / Nachname
   E-Mail / Telefon
   ========================================================== */

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-el-group:nth-child(1),

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-el-group:nth-child(2),

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-el-group:nth-child(3),

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-el-group:nth-child(4) {
	grid-column: auto;

	min-width: 0;
}


/* ==========================================================
   ALLES AB FELD 5 VOLLE BREITE

   Worum geht es?
   Nachricht
   Datenschutz
   ========================================================== */

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-el-group:nth-child(n+5) {
	grid-column: 1 / -1;
}


/* ==========================================================
   SUBMIT / MELDUNGEN VOLLE BREITE
   ========================================================== */

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff_submit_btn_wrapper,

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-message-success,

.invi-contact-page
.frm-fluent-form
> fieldset
> .ff-errors-in-stack {
	grid-column: 1 / -1;
}


/* ==========================================================
   FALLBACK
   Falls Fluent Forms bei einer Version kein FIELDSET nutzt.
   ========================================================== */

.invi-contact-page .frm-fluent-form > .ff-el-group {
	width: 100%;
}


/* ==========================================================
   FORM GROUPS
   ========================================================== */

.invi-contact-page .fluentform .ff-el-group {
	min-width: 0;

	margin-bottom: 16px;
}


/* ==========================================================
   LABELS
   ========================================================== */

.invi-contact-page .fluentform label,
.invi-contact-page .fluentform .ff-el-input--label label {
	display: block;

	margin: 0 0 6px !important;

	color: var(--cp-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
}


/* ==========================================================
   REQUIRED STAR
   ========================================================== */

.invi-contact-page .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
.invi-contact-page .fluentform .ff-el-input--label.ff-el-is-required.asterisk-left label::before {
	color: #D92D20;
}


/* ==========================================================
   INPUTS
   ========================================================== */

.invi-contact-page .fluentform input[type="text"],
.invi-contact-page .fluentform input[type="email"],
.invi-contact-page .fluentform input[type="tel"],
.invi-contact-page .fluentform input[type="number"],
.invi-contact-page .fluentform select,
.invi-contact-page .fluentform textarea,
.invi-contact-page .fluentform .ff-el-form-control {
	width: 100% !important;
	max-width: none !important;

	min-height: 44px;

	padding: 10px 12px;

	border: 1px solid #CBD6E6 !important;
	border-radius: 6px !important;

	background: #FFFFFF !important;
	color: var(--cp-ink) !important;

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;

	box-shadow: none !important;

	transition:
		border-color .15s ease,
		box-shadow .15s ease,
		background .15s ease;
}


/* ==========================================================
   TEXTAREA
   ========================================================== */

.invi-contact-page .fluentform textarea,
.invi-contact-page .fluentform textarea.ff-el-form-control {
	display: block;

	min-height: 125px;

	resize: vertical;
}


/* ==========================================================
   INPUT FOCUS
   ========================================================== */

.invi-contact-page .fluentform input:focus,
.invi-contact-page .fluentform select:focus,
.invi-contact-page .fluentform textarea:focus,
.invi-contact-page .fluentform .ff-el-form-control:focus {
	outline: none;

	border-color: var(--cp-blue) !important;

	background: #FFFFFF !important;

	box-shadow:
		0 0 0 3px rgba(6,3,141,.07) !important;
}


/* ==========================================================
   SELECT
   ========================================================== */

.invi-contact-page .fluentform select {
	cursor: pointer;
}


/* ==========================================================
   CHECKBOX / DATENSCHUTZ
   ========================================================== */

.invi-contact-page .fluentform .ff-el-form-check {
	display: flex;

	align-items: flex-start;

	gap: 8px;
}

.invi-contact-page .fluentform input[type="checkbox"] {
	flex: 0 0 16px;

	width: 16px;
	height: 16px;

	margin: 2px 0 0 !important;

	accent-color: var(--cp-blue);
}

.invi-contact-page .fluentform .ff-el-form-check-label {
	margin: 0 !important;

	color: var(--cp-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.45;
}


/* ==========================================================
   LINKS IM FORMULAR
   ========================================================== */

.invi-contact-page .fluentform a {
	color: var(--cp-blue);

	font-weight: 650;
}

.invi-contact-page .fluentform a:hover {
	text-decoration: underline;

	text-underline-offset: 2px;
}


/* ==========================================================
   SUBMIT
   ========================================================== */

.invi-contact-page .fluentform .ff_submit_btn_wrapper {
	margin: 2px 0 0 !important;
}

.invi-contact-page .fluentform .ff-btn-submit,
.invi-contact-page .fluentform button[type="submit"] {
	min-width: 190px;
	min-height: 44px;

	padding: 11px 22px !important;

	border: 1px solid var(--cp-blue) !important;
	border-radius: 6px !important;

	background: var(--cp-blue) !important;
	color: #FFFFFF !important;

	font-family: Inter, Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;

	box-shadow: none !important;

	transition:
		background .16s ease,
		transform .16s ease;
}

.invi-contact-page .fluentform .ff-btn-submit:hover,
.invi-contact-page .fluentform button[type="submit"]:hover {
	background: var(--cp-blue-dark) !important;

	transform: translateY(-1px);
}


/* ==========================================================
   ERROR
   ========================================================== */

.invi-contact-page .fluentform .error,
.invi-contact-page .fluentform .text-danger {
	color: #B42318;

	font-family: Inter, Arial, sans-serif;
	font-size: 10.5px;
}


/* ==========================================================
   SUCCESS
   ========================================================== */

.invi-contact-page .fluentform .ff-message-success {
	padding: 16px 18px;

	border: 1px solid #B9D4C0;
	border-radius: 7px;

	background: #F4FAF5;
	color: #285C35;

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.5;
}


/* ==========================================================
   LOCATION
   ========================================================== */

.invi-cp-location {
	display: grid !important;

	grid-template-columns:
		minmax(320px, .72fr)
		minmax(0, 1.28fr);

	min-height: 315px;

	overflow: hidden;

	border: 1px solid var(--cp-border);
	border-radius: var(--cp-radius);

	background: #FFFFFF;
}


/* ==========================================================
   LOCATION COPY
   ========================================================== */

.invi-cp-location-copy {
	position: relative;

	padding:
		33px
		30px
		30px
		105px !important;

	background:
		linear-gradient(
			125deg,
			#F4F8FF 0%,
			#F9FBFF 70%,
			#EDF4FF 100%
		);
}

.invi-cp-location-copy::before {
	content: "";

	position: absolute;

	left: 28px;
	top: 30px;

	width: 55px;
	height: 55px;

	border-radius: 999px;

	background-color: #E0EBFF;
	background-image: var(--cp-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px 30px;
}

.invi-cp-location-copy .invi-cp-eyebrow {
	margin-bottom: 6px !important;
}

.invi-cp-location-copy h2 {
	margin: 0 0 14px !important;

	color: var(--cp-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: -.02em;
}

.invi-cp-address {
	margin: 0 0 12px !important;

	color: var(--cp-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.48;
}

.invi-cp-location-copy > p:not(.invi-cp-eyebrow):not(.invi-cp-address) {
	margin: 0 0 17px !important;

	color: var(--cp-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.45;
}


/* ==========================================================
   MAP BUTTON
   ========================================================== */

.invi-cp-map-button .wp-block-button__link {
	padding: 10px 16px;

	border: 1px solid var(--cp-blue);
	border-radius: 6px;

	background: var(--cp-blue);
	color: #FFFFFF;

	font-family: Inter, Arial, sans-serif;
	font-size: 11.5px;
	font-weight: 700;

	transition:
		background .16s ease,
		transform .16s ease;
}

.invi-cp-map-button .wp-block-button__link:hover {
	background: var(--cp-blue-dark);

	transform: translateY(-1px);
}


/* ==========================================================
   MAP
   ========================================================== */

.invi-cp-map {
	position: relative;

	min-width: 0;
	min-height: 315px;

	margin: 0 !important;

	background: #EEF2F7;
}

.invi-cp-map > .wp-block-html {
	width: 100%;
	height: 100%;

	margin: 0 !important;
}

.invi-cp-map iframe {
	display: block;

	width: 100%;
	height: 315px;

	border: 0;
}


/* ==========================================================
   SITE EDITOR SUPPORT
   ========================================================== */

.editor-styles-wrapper .invi-contact-page .invi-cp-people-grid,
.editor-styles-wrapper .invi-contact-page .invi-cp-form-head,
.editor-styles-wrapper .invi-contact-page .invi-cp-location {
	width: 100%;
}

.editor-styles-wrapper .invi-contact-page .invi-cp-form-wrap .wp-block-shortcode {
	width: 100%;

	min-height: 110px;

	padding: 25px;

	border: 1px dashed #C6D3E5;
	border-radius: 7px;

	background: #F7F9FC;
	color: var(--cp-blue);
}


/* ==========================================================
   CURRENT NAV
   ========================================================== */

.wp-block-navigation-item.current-menu-item > a {
	color: #06038D !important;
}

.wp-block-navigation-item.current-menu-item > a::after {
	content: "";

	display: block;

	height: 2px;

	margin-top: 5px;

	background: #06038D;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1000px) {

	.invi-cp-intro,
	.invi-cp-form-head {
		grid-template-columns: 1fr;

		gap: 12px;
	}

	.invi-cp-intro-copy,
	.invi-cp-form-intro {
		max-width: none;

		margin-left: 0 !important;
	}

	.invi-cp-people-grid {
		grid-template-columns: 1fr 1fr;
	}

	.invi-cp-person-card:last-child {
		grid-column: 1 / -1;
	}

	.invi-cp-location {
		grid-template-columns: 1fr;
	}

	.invi-cp-map,
	.invi-cp-map iframe {
		min-height: 300px;
		height: 300px;
	}
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 781px) {

	.invi-cp-hero {
		min-height: 500px !important;
	}

	.invi-cp-hero .wp-block-cover__image-background {
		object-position: 68% center;
	}

	.invi-cp-hero-inner {
		width: calc(100% - 32px) !important;

		min-height: 500px;
	}

	.invi-cp-hero-title {
		font-size: clamp(46px, 13vw, 62px);
	}

	.invi-cp-hero-text br {
		display: none;
	}

	.invi-cp-main {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.invi-cp-intro-title h2 {
		font-size: 32px;
	}

	.invi-cp-people-grid {
		grid-template-columns: 1fr;
	}

	.invi-cp-person-card,
	.invi-cp-person-card:last-child {
		grid-column: auto;

		min-height: 0;

		padding:
			74px
			18px
			19px !important;
	}

	.invi-cp-person-card::before {
		left: 18px;
		top: 17px;
	}

	.invi-cp-form-card {
		padding: 21px 17px !important;
	}

	.invi-cp-form-head-title h2 {
		font-size: 29px;
	}


	/* ------------------------------------------
	   FORM MOBILE = 1 COLUMN
	   ------------------------------------------ */

	.invi-contact-page .frm-fluent-form > fieldset {
		grid-template-columns: 1fr;

		column-gap: 0;
	}

	.invi-contact-page
	.frm-fluent-form
	> fieldset
	> .ff-el-group {
		grid-column: 1 / -1 !important;
	}

	.invi-contact-page .fluentform .ff-btn-submit,
	.invi-contact-page .fluentform button[type="submit"] {
		width: 100%;
	}


	/* ------------------------------------------
	   LOCATION
	   ------------------------------------------ */

	.invi-cp-location {
		min-height: 0;
	}

	.invi-cp-location-copy {
		padding:
			100px
			22px
			24px !important;
	}

	.invi-cp-location-copy::before {
		left: 22px;
		top: 22px;
	}

	.invi-cp-location-copy h2 {
		font-size: 29px;
	}

	.invi-cp-map,
	.invi-cp-map iframe {
		min-height: 280px;
		height: 280px;
	}
}