:root {

	--vivid-cyan-blue: #0693e3;
	--vivid-red: #cf2e2e;
	--light-grey: #f4f4f4;
	--medium-grey: #8c9093;

}

/* Layout */
.menu {margin:  0;}

.aligncenter {

	text-align: center;

}

.alignright {

	text-align: right;
}

.alignleft {

	text-align: left;
}

.has-text-align-center {

	text-align: center;

}

.has-text-align-right {

	text-align: right;

}

.has-text-align-left {

	text-align: left;

}

.has-small-font-size a {

	font-size: 1.25rem;

}

.is-vertically-aligned-center {

	display: flex;
	align-items: center;

}

.f-direction-column {

	flex-direction: column;
	align-self: center;

}

.wp-block-columns {

	display: flex;

}

.wp-block-column {

	width:  100%;

}

/*.wp-block-column-align-center {

	margin: 0 auto;

}*/

.has-background {

	/*margin-bottom:  0.2rem;*/

}

.has-background h2 {

	margin: 0;
	padding: 0;

}

/* Colors */

.has-vivid-red-color { color: var(--vivid-red); }
.has-vivid-cyan-blue-color { color: var(--vivid-cyan-blue); }
.has-white-color { color: white; }
.has-black-color { color: black; }

.has-white-background-color { background-color: white; }
.has-black-background-color { background-color: black; }
.has-vivid-cyan-blue-background-color { background-color: var(--vivid-cyan-blue);  }

/* Images */

img {

	max-width: 100%;
	height: auto;

}

figure {

	margin: 0;
	padding: 0;

}

.wp-block-column > .wp-block-image {

	width: 100%;

}

.wp-block-group.banner > .wp-block-group__inner-container {
	
	min-width: 100%;
	max-width: 100%;

}

.wp-block-group.banner > .wp-block-group__inner-container > figure > img {

	width: 100%;
	height: auto;

}

.is-style-rounded img {

	border-radius: 15px;

}

/* Buttons */

.wp-block-buttons {

	width: 100%;
	display: flex;

}

.wp-block-button {

	margin-bottom: 1rem;

}

.wp-block-buttons .wp-block-button {

	display: flex;
	width:  100%;

}

.wp-block-buttons .wp-block-button.alignleft {

	justify-content: start;

}

.wp-block-buttons .wp-block-button.aligncenter {

	justify-content: center;

}

.wp-block-buttons .wp-block-button.alignright {

	justify-content: end;

}

.wp-block-button.has-custom-width.wp-block-button__width-25 { width: 25%; }
.wp-block-button.has-custom-width.wp-block-button__width-50 { width: 50%; }
.wp-block-button.has-custom-width.wp-block-button__width-75 { width: 75%; }
.wp-block-button.has-custom-width.wp-block-button__width-100 { width: 100%; }

/* Cards */
.wp-block-group.cards > .wp-block-group__inner-container > .wp-block-columns {

	display: grid;
	gap: 2rem;
	grid-template-columns: repeat( auto-fit, minmax(12rem, 1fr) );
	text-align: center;
	margin-top: 2rem;
	position: relative;

}

.cards .wp-block-column, .cards .wp-block-column figure {

	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;

}

.cards .wp-block-columns figure > img {

	width:  100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;

}

.cards .cards-info {

	bottom: 10vh;
	left: 6vw;
	max-width: 100%;

}

/* WP Forms */

.wpform {

	margin-bottom: 2rem;

}

.wpforms-contact-form {

	text-align: center;
	width: 100%;
	height: 100%;
	display: grid;
	justify-content: center;
	align-content: center;
	padding: 0.5rem;

}

.wpforms-contact-form > div.wpform {

	width: 60vw;
	max-width: 60vw;

}

.wpform input[type=text], textarea {

	padding: 0.5rem;

}

.wpform textarea {

	min-height: 10rem;

}

.top-lvl {

	margin-top: 2rem;

}

.top-lvl, .sub-lvls {

	text-align: left;
	width: 100%;

}

.top-lvl > div > input[type=text], .top-lvl > div > textarea {

	width: 100%;
	margin: 0;
	background-color: var(--light-grey);
	
}

.sub-lvls {

	display: flex;
	width: 100%;

}

.sub-lvls .sub-lvl:first-child {

	margin-right: 1rem;

}

.sub-lvl {

	width: 100%;
	display: flex;

}

.sub-lvl > span {

	width: 20%;

}

.sub-lvl > input {

	width: 80%;
	background-color: var(--light-grey);

}

.contact-form-submit {

	width: 100%;
	text-align: center;

}

.contact-form-submit button {

	cursor: pointer;
	font-size: 1.5rem;
	padding: 0.5rem;
	margin: 0;
	margin-top: 1.5rem;

}

.hidden {
	display: none;
}

@media screen and (max-width: 1400px) {

	.alignright {

		text-align: center;

	}

	.pic-fix {

		position: relative;
		right: 10vw;

	}

}

@media screen and (min-width: 1200px) {

	.wpforms-contact-form {

		/*width: 50vw;*/

	}

}

@media screen and (max-width: 1200px) {

	.wp-block-columns {

		display: grid;
		grid-template-columns: 1fr;

	}

	.wp-block-column {

		min-width: 100%;

	}

}

@media screen and (max-width: 1000px) {

	.wp-block-column {

		min-width: 100%;

	}

}

@media screen and (max-width: 800px) {

	.wp-block-columns, .cards .wp-block-columns {

		grid-template-columns: 1fr;

	}

	.wpforms-contact-form {

		max-width: 90vw;

	}

}

@media screen and (max-width: 500px) {

	.left-fix {

		position: relative;
		left: 10vw;

	}

	h1, h2, h3 {

		text-align: center;

	}

	img {

		text-align: center;

	}

}