
/* MARK: WP Images
------------------------------------------------------------------------------------------------------------ */
.alignleft,
.alignright,
.aligncenter,
.alignnone {
	max-width: 100%;
	margin-block-end: 1rem;
}

@media (min-width: 480px) {
	.alignleft {
		float: left;
		margin-inline-end: 1.5rem;
	}
	.alignright {
		float: right;
		margin-inline-start: 1.5rem;
	}
	.aligncenter {
		margin-inline: auto;
	}
}

/* MARK: WP Captions
------------------------------------------------------------------------------------------------------------ */
figure.wp-caption {
	background-color: var(--clr-blue-light-2);
}
	figure.wp-caption figcaption {
		padding: .5rem;
		font-size: var(--step--1);
		color: var(--clr-darkgrey);
		hyphens: auto;
	}

@media (width <= 480px) {
	figure.wp-caption {
		float: none !important;
		max-width: 100% !important; 	
	}
	figure.wp-caption img {
		width: 100% !important;
	}
	figure.wp-caption figcaption {
		max-width: 100% !important;
	}
}

@media (min-width: 1024px) {
	figure.wp-caption.alignleft {
		margin-left: -10%;
	}
}



/* Featured Row */
img.cover-magazine {
	float: left;
	margin-inline-end: 1.5rem;
	box-shadow: .3rem .3rem .75rem rgba(0,0,0,.15);
	width: 9rem;
}



/* Gallery
-------------------------------------------------------------------------------------------------- */
.med-gallery-wrapper {
	margin: 1.5rem 0;
}

.med-gallery {
	--size: 6rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--size), 1fr));
  gap: .5rem;
}
	.med-gallery figure {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		height: 100%;
		border-radius: .25rem;
		overflow: hidden;
		aspect-ratio: 1;
	}
		.med-gallery img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.med-gallery figure figcaption {
			display: none;
		}

	@media (min-width: 720px) {
		.med-gallery {
		--size: 9rem;
		}
		.med-gallery figure:hover figcaption {
			display: flex;
			justify-content: flex-start;
			align-items: flex-end;
			position: absolute;
			inset: 0;
			background: linear-gradient(
				to bottom,
				rgba(157, 188, 216,.1),
				rgba(157, 188, 216,.9)
			);
			color: #fff;
			padding: .5rem;
			font-size: var(--step--1);
			line-height: 1.2;
			overflow: hidden;
		}
	}			
			

			
/* MARK: CF7
------------------------------------------------------------------------------------------------------------ */
fieldset {
	margin: 1em 0;
	padding: 0;
	border: none;
}

@media (min-width: 720px) {
  fieldset.contactform > div {
    display: flex;
  }
    fieldset.contactform > div > div + div {
      margin-left: 1.5rem;
    }
}  


.wpcf7 label {
	display: block;
  font-size: var(--step-0);
  margin: .5rem 0;
  font-weight: 600;
}

:is(.wpcf7-text, .wpcf7-email, .wpcf7-textarea, .wpcf7-select) {
	margin: .3rem 0;
  width: 100%;
  background: #fff;
	padding: .5rem;
	font-weight: 400;
	border: 2px solid  var(--clr-blue-light);
	border-radius: .15rem;
  transition: 100ms all ease-in-out;
  color: var(--text);
}
  .wpcf7-textarea {
    resize: vertical;
    height: 10rem;
  }

  :is(.wpcf7-text, .wpcf7-email, .wpcf7-textarea, .wpcf7-select):focus {
    outline: 4px solid var(--clr-blue-light);
    outline-offset: -2px;
  }
	/* not valid */
  .wpcf7 input[type=text].wpcf7-not-valid,
	.wpcf7 input[type=email].wpcf7-not-valid,
	.wpcf7 input[type=password].wpcf7-not-valid,
	.wpcf7 textarea.wpcf7-not-valid {
		border: 2px solid var(--clr-accent-1);
	}


.wpcf7 input[type=submit] {
	cursor: pointer;
}

/* Forms - Contact Form 7 styles */
.screen-reader-response {
	display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: var(--invalid);
}
.wpcf7-response-output {
  display: block;
  margin: 1rem 0;
  color: var(--invalid);
}


.wpcf7-mail-sent-ok {
	background: #57AA27;
	color: #fff;
	padding: 1rem 0;
	border-radius: 3px; /* default */
}

/* cf7 loading dots
------------------------------------------------------- */
.wpcf7 .wpcf7-spinner {
	display: none;
}
  .wpcf7 form.submitting .wpcf7-spinner {
    display: block;
    margin: 1rem 0 0 0;
    width: 100%;
    height: .75rem;
    background-image: url(../svg/loading-dots.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }



/* Newsletter
-------------------------------------------------------------------------------------------------- */
.sib_signup_form input[type=text],
.sib_signup_form input[type=email] {
  margin-top: .2rem;
  width: 100%;
  padding: .25rem;
  border: 1px solid #aaa;
}

.sib_signup_form .sib-default-btn {
  padding: .5rem; 
  cursor: pointer;
}


/* MARK: Shortcodes
------------------------------------------------------------------------------------------------------------ */
.note {
	margin: 1.5rem 0;
	border: 1px solid #eee;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(0,0,0,.1);
	clear: both;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
	.note div:first-child {
		min-width: 3rem;
		text-align: center;
		color: #fff;
		padding: .5rem;
		background-color: var(--clr-blue-light);
	}
	.note div:first-child i {
		color: #fff;
		font-size: 1.3rem;
	}
	.note div:last-child {
		padding: .8rem 1rem;
		line-height: 150%;
		background-color: #F2F5FA;
		flex: 1;
	}
	
	.note div:last-child *:empty {
		display: none;
	}
	.note div:last-child * {
		margin-top: 0;
	}


@media(min-width: 480px) {
	.note {
		flex-direction: row;
	}

}	




/* Shortcode Project Teaser
------------------------------------------------------------------------------------------------ */
.project-teaser {
	margin-block: 1.5rem;
	padding-block: 1rem;
	display: flex;
	gap: 2rem;
	flex-direction: column;
	border-top: 2px solid var(--clr-blue-light);
	border-bottom: 2px solid var(--clr-blue-light);
	
}
	.project-teaser figure {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: auto;
		background-color:var(--clr-blue-light-2);
		border-radius: .5rem;
		padding: 1rem;
		max-width: 50%;
	}

@media screen and (min-width : 720px) {
	.project-teaser {
		flex-direction: row;
	}
		.project-teaser figure {
			flex: 0 1 25%;
		}
		.project-teaser .project-info {
			flex: 0 1 75%;
		}
}