/*
Theme Name: huis
Author: jaap dankert
Author URI: https://live3d.net
Requires at least: 6.0
Tested up to: 6.1
Requires PHP: 5.6
Version: 0.9.10
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: huis

*/

/* temporary specifics
---------------------------------------------------------------------------- */
body.page-id-2 .wp-block-post-title {
	display: none;
}

#topbanner .wp-block-buttons {
	margin-block-start: 0;
}

/* home link on home page */
body.home li.wp-block-home-link {
	display: none;
}
/* compact the title on mobile */
@media (max-width: 781px) {
    .wp-block-site-title a {
		width: 7em;
		display: block;
		line-height: .7em;
    }
}

/* event page
---------------------------------------------------------------------------- */

/* mec widgets */
.mec-events-meta-group-booking .mec-booking-shortcode,
.mec-single-event .mec-events-meta-group-booking,
.mec-single-event .mec-frontbox,
.mec-single-event .mec-events-meta-group-countdown {
    margin-bottom: 10px;
    padding: 20px;
    background: #fff;
    border: none;
}

/* google / iCal buttons */
.mec-events-button {
    padding: 6px 8px;
}

/* the event image we moved to the right column */
article.mec-single-event .mec-events-event-image {
	margin-bottom: 5px;
}


/* temporary landing page
---------------------------------------------------------------------------- */
body.page-id-154:not(.logged-in) .wp-block-site-title a {
	pointer-events: none;
	cursor: default;
}

body.page-id-154:not(.logged-in) header nav {
	display: none;
}

/* newsletter signup form
---------------------------------------------------------------------------- */
.newsletter-wrapper {
	margin-left: -15px;
	margin-right: -15px;
	overflow: hidden;
}
.newsletter-form-container {
	position: relative;
	width: 100%;
	min-width: 650px;
	max-width: 950px;
	left: 50%;
    transform: translateX(-50%);
	z-index: 1;
	aspect-ratio: 1 / 1;
	background-image: url(visuals/typmachine-950.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	padding-top: 1.8em;
}
.newsletter-form-container > * {
	max-width: 37%;
	margin: 0 auto;
}
.newsletter-form-container .logo {
	width: 11%;
	aspect-ratio: 1 / 1;
	background-image: url(visuals/logo-full.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.newsletter-form-container h2 {
	font-size: 1.05em;
	text-align: center;
	margin-bottom: .5em;
}
.newsletter-form-container form {
	display: flex;
	flex-direction: column;
}
.newsletter-form-container form input,
.newsletter-form-container form textarea {
	background: none;
	border: none;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--courier);
	padding: 8px 12px 8px;
	width: 100%;
}
.newsletter-form-container form textarea {
    background: linear-gradient(180deg, #ffffff, #fdfdfd, #e7e7e7);
}
.newsletter-form-container form input:focus,
.newsletter-form-container form textarea:focus {
	outline: none;
}
.newsletter-form-container form button[type="submit"] {
	background: #2a2d28;
    color: #ffffff;
    font-family: var(--wp--preset--font-family--courier);
    width: 100%;
    margin-top: .9em;
	border: 2px solid #d7dcdd;
}
.newsletter-form-container form button[type="submit"]:hover {
	background: #83abaa;
}
.newsletter-message {
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.95);
	padding: 20px;
	border-radius: 3px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	z-index: 1000;
	font-family: var(--wp--preset--font-family--courier);
	text-align: center;
	animation: fadeIn 0.5s ease-in-out forwards;
}
.newsletter-message.newsletter-success {
	color: green;
}
.newsletter-message.newsletter-error {
	color: red;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* frontpage event calendar
---------------------------------------------------------------------------- */
#weefgetouw {
	height: 350px;
	background-image: url(visuals/loomtop.png);
	background-size: 1190px;
	background-position: top center;
	background-repeat: no-repeat;
	margin-bottom: -164px;
	color: transparent;
	opacity: .8;
}
#jaarkalender {
	display: flex;
    flex-direction: column;
	margin-top: 0px;
	background-image: url(visuals/shadow.png);
	background-size: 1190px;
	background-position: top center;
	background-repeat: repeat-y;
}
#jaarkalender h2,
#jaarkalender h5 {
	display: block;
	font-size: 2em;
	padding: 12px;
	background: #084c71;
	color: var(--wp--preset--color--secondary);
	border: 2px dashed var(--wp--preset--color--base);
	border-radius: 10px;
	box-shadow: 0 0 0 5px #084c71, 2px 1px 6px 4px rgba(0, 0, 0, 0.4);
	text-align: center;
}
#jaarkalender h2 a:hover {
	color: var(--wp--preset--color--base);
}

/* Themamaand */
#jaarkalender h3 {
	background: linear-gradient(to top, #4f4b49 70%, #272625 100%);
    box-shadow: 2px -1px 5px 3px rgba(0, 0, 0, 0.4);
    color: white;
    z-index: 10;
    position: relative;
    border-radius: 0 0 8px 8px;
    margin-top: -10px;
    width: 93%;
    margin-bottom: 15px;
    padding: 12px 5px 10px;
    text-align: center;
	font-size: 18px;
}
#jaarkalender h3 a {
	color: white;
}
#jaarkalender h3 a:hover {
	color: var(--wp--preset--color--base);
}
#jaarkalender .mec-event-title {
	font-family: var(--wp--preset--font-family--courier);
	text-transform: none;
	font-size: 1.6em;
	margin-left: 160px;
	margin-top: 10px;
    padding: 12px 10px 10px 18px;
	background: #084c71;
	color: var(--wp--preset--color--base);
	border: 2px dashed var(--wp--preset--color--base);
	border-radius: 10px;
	box-shadow: 0 0 0 5px #084c71, 2px 1px 6px 4px rgba(0, 0, 0, 0.8);
	position: relative;
}
@media only screen and (max-width: 468px) {
	#jaarkalender .mec-event-title { margin-left: 0px; }
}
#jaarkalender .mec-event-date {
	background: linear-gradient(to bottom, #4f4b49 70%, #272625 100%);
	box-shadow: 2px -1px 5px 3px rgba(0, 0, 0, 0.4);
	transform: translateY(5px);
	display: inline-block;
	padding: 10px 12px;
	font-size: 18px;
	font-family: var(--wp--preset--font-family--courier);
	color: var(--wp--preset--color--base);
	white-space: nowrap;
	border-radius: 8px 8px 0 0;
}

#jaarkalender .mec-event-date i {
	display: none;
}
#jaarkalender .mec-repeating-label {
    background: linear-gradient(to bottom, #4f4b49 70%, #272625 100%);
    box-shadow: 2px -1px 5px 3px rgba(0, 0, 0, 0.3);
    transform: translateY(calc(-100% - 7px));
    padding: 10px 12px;
    font-size: 15px;
    font-family: var(--wp--preset--font-family--courier);
    color: var(--wp--preset--color--base);
    white-space: nowrap;
    border-radius: 8px 8px 0 0;
    margin: 0 0 10px;
    font-weight: 400;
    position: absolute;
    top: 0px;
    right: 18px;
}
#jaarkalender .mec-labels-normal {
	display: block;
	position: absolute;
	bottom: -5px;
	right: 10px;
	padding: 0;
	transform: translateY(100%);
	margin-left: 0;
}
#jaarkalender .mec-label-normal {
	margin-left: 0;
}
#jaarkalender .mec-labels-normal a {
	font-family: var(--wp--preset--font-family--courier);
	font-size: 15px;
	padding: 10px 10px;
	margin-left: 0;
	background: linear-gradient(to top, #4f4b49 70%, #272625 100%);
	color: var(--wp--preset--color--base);
	border-bottom: none;
	border-radius: 0 0 8px 8px;
	box-shadow: 2px -1px 5px 3px rgba(0, 0, 0, 0.4);
	white-space: nowrap;
}

/* lifting all labels above the weave and giving smaller texture */
#jaarkalender h2 a,
#jaarkalender .mec-event-title,
#jaarkalender .mec-event-date {
	position: relative;
    z-index: 10;
}
#jaarkalender h2 a::after,
#jaarkalender h3::after,
#jaarkalender .mec-event-title::after,
#jaarkalender .mec-event-date::after,
#jaarkalender .mec-labels-normal a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(visuals/leather2.jpg);
	background-size: 120px;
	background-position: top left;
	pointer-events: none;
	z-index: 1;
	mix-blend-mode: overlay;
}

/* Apply matching border-radius to each ::after element */
#jaarkalender h2 a::after,
#jaarkalender .mec-event-title::after {
	border-radius: 10px;
}

#jaarkalender .mec-event-date::after {
	border-radius: 8px 8px 0 0;
}

#jaarkalender .mec-labels-normal a::after {
	border-radius: 0 0 8px 8px;
}

.mec-event-list-classic .mec-event-image,
.mec-event-list-classic .mec-event-image img {
    width: 150px;
	height: 150px;
	/* margin-bottom: 12px; */
}
.mec-event-list-classic .mec-event-image img {
    -webkit-mask: url(visuals/mask.png);
    mask: url(visuals/mask.png);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.mec-event-list-classic .mec-event-article {
    margin: 30px 0 50px;
	padding: 0;
}
body:not(.block-editor-page) div.kalendermaand {
	background-size: 960px;
	/* background-size: 480px; */
	background-position: top left;
	margin-top: 0;
	width: min(600px, 100%);
    padding: 40px 30px 40px;
    position: relative;
	background-color: #084c71;
	-webkit-mask: url(visuals/mask-wide.png);
    mask: url(visuals/mask-wide.png);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: repeat-y;
    mask-repeat: repeat-y;
    -webkit-mask-position: center;
    mask-position: center;
}
body:not(.block-editor-page) div.kalendermaand::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(visuals/weave-tile-480.jpg);
	background-size: 240px;
	background-position: top left;
	pointer-events: none;
	z-index: 1;
	mix-blend-mode: overlay;
}
body:not(.block-editor-page) div.kalendermaand:first-child:not(:only-child) {
	-webkit-mask: url(visuals/mask-top.png), url(visuals/mask-wide.png);
    mask: url(visuals/mask-top.png), url(visuals/mask-wide.png);
    -webkit-mask-size: 600px, contain;
    mask-size: 600px, contain;
    -webkit-mask-repeat: repeat-x, repeat-y;
    mask-repeat: repeat-x, repeat-y;
    -webkit-mask-position: top center, center;
    mask-position: top center, center;
	/* -webkit-mask-composite: intersect;
	mask-composite: intersect; */
}

/* body:not(.home) div.kalendermaand:first-child:not(:only-child) {
    -webkit-mask-position: 0 center, center;
    mask-position: 0 center, center;
} */
/* Geen evenementen gevonden! Programma volgt binnenkort! */
.mec-skin-list-events-container:not(:has(> div)) {
    color: #000000c7;
    font-size: 1.1em;
    background-image: url(visuals/loomgap.png);
    padding: 5px 10px;
    text-align: center;
    margin-left: -30px;
    margin-right: -30px;
    height: 100px;
    padding-top: 35px;
}

#januari { background-image: url(visuals/patterns/januari.jpg); }
#februari { background-image: url(visuals/patterns/februari.jpg); }
#maart { background-image: url(visuals/patterns/maart.jpg); }
#april { background-image: url(visuals/patterns/april.jpg); }
#mei { background-image: url(visuals/patterns/mei.jpg); }
#juni { background-image: url(visuals/patterns/juni.jpg); }
#juli { background-image: url(visuals/patterns/juli.jpg); }
#augustus { background-image: url(visuals/patterns/augustus.jpg); }
#september { background-image: url(visuals/patterns/september.jpg); }
#oktober { background-image: url(visuals/patterns/oktober.jpg); }
#november { background-image: url(visuals/patterns/november.jpg); }
#december { background-image: url(visuals/patterns/december.jpg); }

div.kalendermaand:last-child {
	padding-bottom: 110px !important;
}
#weefeinde {
	height: 275px;
	background-image: url(visuals/loombottom.png);
	background-size: 1195px;
	background-position: top center;
	background-repeat: no-repeat;
	margin-top: -99px;
	color: transparent;
	opacity: .8;
}
#jaarkalender .mec-ongoing-normal-label { display: none; }

/* Calendar on theme page
---------------------------------------------------------------------------- */
body:not(.home) .mec-event-date {
	color: var(--wp--preset--color--contrast);
}

/* Event display
---------------------------------------------------------------------------- */
body.single-mec-events .wp-block-post-title {
	display: none;
}
body.single-mec-events .mec-single-title {
	font-family: var(--wp--preset--font-family--courier);
}

.mec-events-meta-group-countdown .countdown-w {
	padding: 0;
}
.mec-events-meta-group-countdown .countdown-w .block-w {
	font-size: unset;
}
.mec-events-meta-group-countdown .countdown-w .label-w {
	font-size:10px;
	margin: 0;	
}

.mec-events-meta-group-countdown .countdown-w span {
	font-size: 28px;
	padding: 0;
}

.mec-countdown-details .countdown-w .clockdiv li p {
	margin-top: 16px
}

.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li {
	width: 100%;
	min-height: 40px;
	margin-bottom: 15px;
	text-align: center;
	float: none;
	display: block;
}

.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	text-align: center;
	display: block;
	font-size: 12px
}

.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li:last-child {
	margin-bottom: 0;
}

/* Logo animation
---------------------------------------------------------------------------- */
@keyframes logoReveal {
	0% {
		transform: rotate(120deg);
		opacity: 0;
	}
	100% {
		transform: rotate(0deg);
		opacity: 1;
	}
}
@keyframes logoRevealReverse {
	0% {
		transform: rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: rotate(120deg);
		opacity: 0;
	}
}
#logoanimatie {
	position: relative;
	margin: 0 auto;
}
.logo-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: logoReveal 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	transform: rotate(120deg);
	opacity: 0;
	pointer-events: none;
}
#logoanimatie:hover .logo-layer {
	opacity: 1;
	animation: logoRevealReverse 4.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.logo-layer img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


/* Basics
---------------------------------------------------------------------------- */
body {
	letter-spacing: .025em;
	background-image: url(visuals/athena-half.jpg);
	background-size: 225px;
}
h1,h2,h3,h4,h5,h6 {
	font-family: var(--wp--preset--font-family--courier) !important;
}
h1 { letter-spacing: .02em; }
h2 { letter-spacing: .03em; }
h3 { letter-spacing: .04em; }
h4 { letter-spacing: .05em; }
header, footer, .site-content { 
	padding-left: 15px; padding-right: 15px;
	margin-block-start: 0 !important;
}
.wp-site-blocks { 
	position: relative; 
	height: 100%; 
	padding: 0 !important;
	display: flex;
    min-height: 100vh;
    flex-direction: column;
    justify-content: flex-start;
}
.site-content {
	padding-top: 90px !important; 
	padding-bottom: 50px !important;
	flex: 1;
}
@media only screen and (max-width: 420px) {
	.site-content {
		padding-top: 110px !important;
	}
}
.wp-block-image {
	margin-top: 1.5em;
    margin-bottom: 2.2em;
}
.wp-block-image img {
	box-shadow: 3px 5px 16px #00000061;
}
footer .wp-block-image img {
	box-shadow: none;
}

/* Front page
---------------------------------------------------------------------------- */
.nieuwsbanner,
.socials {
	margin-left: 5px;
	margin-top: 10px;
	padding: 12px;
	color: var(--wp--preset--color--contrast);
	border-radius: 10px;
	height: 100%;
	display: flex;
	align-items: center;
}
.nieuwsbanner {
	background: #ffdfab;
	border: 2px dashed #432f1b45;
	box-shadow: 0 0 0 5px #ffdfab, 2px 1px 6px 4px rgba(0, 0, 0, 0.4);
}
.socials {
	background: #86adac;
	border: 2px dashed var(--wp--preset--color--base);
	box-shadow: 0 0 0 5px #86adac, 2px 1px 6px 4px rgba(0, 0, 0, 0.4);
}
.socials img {
	transition: scale 0.2s;
	margin: 0 !important;
}
.socials img:hover {
	scale: 1.2;
}
.socials .wp-block-button__link {
	box-shadow: 3px 5px 16px #00000061;
    padding: 16px 26px;
    transform: translateY(2px);
}

/* Header
---------------------------------------------------------------------------- */
.site-header {
	color: var(--wp--preset--color--contrast);
	background: white;
	margin-bottom: 0 !important;
    position: fixed;
    width: 100%;
	max-width: 100vw;
    z-index: 999;
	top: 0;
}
.site-header>.wp-block-group {
	transition: .2s padding ease-out;
}
body.scrolled .site-header>.wp-block-group {
	padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.wp-block-site-title,
.wp-block-post-title { 
    line-height: var(--wp--custom--line-height--heading);
	font-family: var(--wp--preset--font-family--courier);
}
.wp-block-post-title { 
	font-size: 1.6em;
	margin-block-start: 1.8em !important;
}
.wp-block-site-title a { 
    background-image: url(visuals/huis-logo-bruin.png);
	color: var(--wp--preset--color--contrast);
	padding-left: 1.8em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
	font-size: 100%;
	letter-spacing: -1px;
}
.wp-block-site-title a:hover,
.wp-block-site-title a:focus { 
	color: var(--wp--preset--color--secondary);
    background-image: url(visuals/huis-logo-oranje.png);
}
.wp-block-site-title a:hover em,
.wp-block-site-title a:focus em { 
	color: var(--wp--preset--color--secondary);
}
body.scrolled .wp-block-site-title a {
	font-size: 85%;
}

/* Footer
---------------------------------------------------------------------------- */
.site-footer {
	color: var(--wp--preset--color--contrast);
	background: white;
	margin-bottom: 0 !important;
}

/* WP Terms Popup
---------------------------------------------------------------------------- */
div#wp-terms-popup h3.termstitle {
	background: #5387b0 !important;
}
form#wptp-form input {
	width: auto;
	height: auto;
}
div#tlight {
	height: unset !important;
}
#termpopup-setting {
	display: none;
}

/* Cards
---------------------------------------------------------------------------- */
.card,
.fancycard {
	background-color: var(--wp--preset--color--card);
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 30px 20px 20px;
	box-shadow: 5px 5px 7px rgba(33, 33, 33, .2);
    /* transform: rotate(1deg); */
}

.alignbottom { margin-top: auto; }

.card .wp-block-image,
.fancycard .wp-block-image {
	max-width: 200px;
}


/* Card animation (will be applied by script.js)
---------------------------------------------------------------------------- */
body.can-use-js .fancycard { opacity: 0; }
@keyframes slide-enter {
	0% {
		transform: rotate3d(1, 1, 0, -35deg) translateY(50px);
		opacity: 0;
	}
	100% {
		transform: rotate3d(1, 1, 0, 0deg) translateY(0px);
		opacity: 1;
	}
}
@media (prefers-reduced-motion: reduce) {
  /* *, */
  /* ::before, */
  /* ::after { */
    /* animation-delay: -1ms !important; */
    /* animation-duration: 1ms !important; */
    /* animation-iteration-count: 1 !important; */
    /* background-attachment: initial !important; */
    /* scroll-behavior: auto !important; */
    /* transition-duration: 0s !important; */
    /* transition-delay: 0s !important; */
  /* } */
}

/* Comments
---------------------------------------------------------------------------- */
.comment-form-comment {
	margin-bottom: 0 !important;
}
#commentform .form-submit {
	margin-top: 0;
	margin-bottom: 2em;
}
#commentform .form-submit input {
	border-radius: 0 0 12px 12px;
}
.comment-form-comment textarea {
	background: white;
    padding: 15px;
    border: none;
    border-radius: 15px 15px 15px 0;
	box-shadow: 3px 5px 8px #00000010;
}
.wp-block-comments #respond {
	padding-left: 61px;
}
@media only screen and (max-width: 782px) {
	.wp-block-comments #respond { padding-left: 0; }
}
.wp-block-comment-template ol {
    padding-left: 65px;
}
.wp-block-comments .wp-block-avatar img {
	box-shadow: 3px 3px 10px #00000040;
}
.wp-block-comment-author-name {
	font-size: var(--wp--preset--font-size--medium) !important;
}
.wp-block-comment-content {
	background: white;
    padding: 1px 15px;
    border: none;
    border-radius: 0px 15px 15px 15px;
    margin-block-start: 3px !important;
	box-shadow: 3px 5px 8px #00000010;
}
.wp-block-comment-reply-link {
    margin-block-start: 3px !important;
}
.wp-block-comments {
	margin-top: 3.2em !important;
}
.wp-block-comments .logged-in-as { display: none; }
.wp-block-comments .comment-form-comment label { display: none; }


/* Cover
---------------------------------------------------------------------------- */
body.documents-template-presentation .wp-block-cover {
	height: 100%;
}
.wp-block-cover__inner-container {
	padding-left: 250px; padding-right: 250px;
	padding-top: 30px; padding-bottom: 30px;
}
.edit-post-visual-editor__content-area .wp-block-cover__inner-container,
.block-editor-iframe__body .wp-block-cover__inner-container {
	padding-left: 15px !important;
	padding-right: 15px !important;
} 
@media only screen and (max-width: 1300px) {
	.wp-block-cover__inner-container { padding-left: 200px; padding-right: 200px; }
}
@media only screen and (max-width: 1100px) {
	.wp-block-cover__inner-container { padding-left: 120px; padding-right: 120px; }
}
@media only screen and (max-width: 900px) {
	.wp-block-cover__inner-container { padding-left: 60px; padding-right: 60px; }
}
@media only screen and (max-width: 782px) {
	.wp-block-cover__inner-container { padding-left: 30px; padding-right: 30px; }
}
@media only screen and (max-width: 500px) {
	.wp-block-cover__inner-container { padding-left: 15px; padding-right: 15px; }
}


/* Archive pages
---------------------------------------------------------------------------- */
body.archive ul.wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, 4fr);
	grid-auto-rows: auto;
	grid-gap: 16px;
}

@media only screen and (max-width: 800px) {
	body.archive ul.wp-block-post-template {
		grid-template-columns: repeat(3, 3fr);
	}
}
@media only screen and (max-width: 650px) {
	body.archive ul.wp-block-post-template {
		grid-template-columns: repeat(2, 2fr);
	}
}
@media only screen and (max-width: 450px) {
	body.archive ul.wp-block-post-template {
		grid-template-columns: repeat(1, 1fr);
	}
}

body.archive li.wp-block-post {
    background: black;
	margin-top: 0 !important;
}
body.archive li.wp-block-post>div.wp-block-group { 
	padding: 11px !important;
}
body.archive li .wp-block-post-title {
	font-weight: bold !important;
	font-size: 1.3em;
	color: var(--wp--preset--color--primary);
	margin-bottom: 8px;
}
body.archive li .wp-block-post-excerpt {
	margin-top: 0;
}


/* Menu breakpoint settings
---------------------------------------------------------------------------- */
@media (min-width:782px) {
 .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
 .wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
 .wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
 .wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  left:auto;
  right:100%
 }
}
@media (min-width:500px) {
 .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  background-color:inherit;
  display:block;
  position:relative;
  width:100%;
  z-index:auto
 }
 .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
  display:none
 }
 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
  left:0
 }
}
@media (min-width:500px) {
 .wp-block-navigation__responsive-container-open:not(.always-shown) {
  display:none
 }
}


/* Defaults
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

a {
	color: var(--wp--preset--color--primary);
}

a:focus,
a:hover {
	color: var(--wp--preset--color--secondary);
}

a,
a>em,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
	text-decoration: none;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--extra-bold); 
}

blockquote {
	margin: 0;
}

/* Blocks
---------------------------------------------------------------------------- */

/* Button
--------------------------------------------- */
body:not(.wp-admin) button,
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-squared .wp-block-button__link {
	border-radius: 30px;
	border: none;
	font-size: 17px;
	padding: 9px 20px;
	cursor: pointer;
}

input[type="button"],
input[type="submit"],
.wp-block-post-comments input[type=submit],
.wp-block-search__button,
.wp-element-button, 
.wp-block-button__link {
	background-color: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--courier) !important;
    position: relative;
    overflow: hidden;
    transition: .5s;
	/* padding: 8px 15px 8px !important; */
	/* -webkit-box-reflect: below 0px linear-gradient(transparent, #00000010); */
}

input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-post-comments input[type=submit]:hover,
.wp-block-search__button:hover,
.wp-element-button:hover, 
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary) !important;
	/* color: var(--wp--preset--color--contrast) !important; */
}

/* shine effect */
/* body:not(.wp-admin) button::before,
input[type="button"]::before,
input[type="submit"]::before,
.wp-block-post-comments input[type=submit]::before,
.wp-block-search__button::before,
.wp-element-button::before, 
.wp-block-button__link::before {
    content: '';
    position: absolute;
    top: 0;  left: -90%;
    width: 40%;  height: 100%;
    background: #fff;
    filter: blur(20px);
    transition: .25s;
}
body:not(.wp-admin) button:hover::before,
input[type="button"]:hover::before,
input[type="submit"]:hover::before,
.wp-block-post-comments input[type=submit]:hover::before,
.wp-block-search__button:hover::before,
.wp-element-button:hover::before, 
.wp-block-button__link:hover::before {
	left: 130%;
} */

/* .wp-block-button__link.has-primary-background-color {
	box-shadow: 0 0 5px #25ff002e, 0 0 25px #25ff002e, 0 0 50px #25ff002e;
    
}
.wp-block-button__link.has-primary-background-color:hover {
	box-shadow: 0 0 5px #25ff0069, 0 0 25px #25ff0069, 0 0 50px #25ff0069;
} */


/* Button - Fill Base
--------------------------------------------- */

.wp-block-button.is-style-fill-base .wp-element-button {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

/* Button - Outline
--------------------------------------------- */

.wp-block-button.is-style-outline .wp-element-button {
	background-color: transparent;
	border: 1px solid;
	border-color: currentColor;
	color: var(--wp--preset--color--contrast);
	padding: 9px 24px;
}

/* Button - Outline Base
--------------------------------------------- */

.wp-block-button.is-style-outline-base .wp-element-button {
	background-color: transparent;
	border: 1px solid;
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}

/* Calendar
--------------------------------------------- */

.wp-block-calendar table caption,
.wp-block-calendar table tbody {
	color: var(--wp--preset--color--contrast);
}

.wp-block-calendar table th {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-calendar tbody td,
.wp-block-calendar th {
	border: 1px solid var(--wp--preset--color--contrast);
	padding: 10px;
}

/* Code
--------------------------------------------- */

.wp-block-code code {
	overflow-wrap: normal;
	overflow-x: scroll;
	tab-size: 4;
	white-space: pre !important;
}

*:not(.wp-block-code) > code,
kbd {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
	position: relative;
	top: -1px;
}

/*
 * When inline code is selected, the Editor applies contextual styling. Since
 * our code color is near white, we need to reset to the default text color.
 */
.rich-text:focus > code[data-rich-text-format-boundary],
.rich-text:focus > kbd[data-rich-text-format-boundary] {
	color: currentColor;
}

/* Comments
--------------------------------------------- */

/* .wp-block-comment-template li { */
	/* margin-left: 0; */
/* } */

/* .wp-block-post-comments-form input:not([type=submit]), */
/* .wp-block-post-comments-form textarea { */
	/* border-color: var(--wp--preset--color--contrast); */
/* } */

/* .wp-block-post-comments-form input[type=submit] { */
	/* border: 1px solid var(--wp--preset--color--contrast); */
/* } */

/* .wp-block-post-comments-form .form-submit { */
	/* margin-bottom: 0; */
/* } */

/* Group
--------------------------------------------- */

.wp-block-group.is-style-full-height {
	align-items: center;
	display: grid;
	min-height: 100vh;
}

.wp-block-group.is-style-shadow {
	box-shadow: 0 0 50px rgb(0 0 0 / 10%);
}

.wp-block-group.is-style-shadow-solid {
	box-shadow: 5px 5px var(--wp--preset--color--contrast);
}

/* Heading
--------------------------------------------- */
.wp-block-heading:first-child {
	margin-top: unset;
	/* margin-bottom: unset; */
}

.wp-block-post-content .wp-block-heading + * {
	margin-top: 6px;
}

/* Image
--------------------------------------------- */

.wp-block-image {
	margin: 0 !important;
	text-align: center;
}
.wp-block-image.aligncenter {
	margin-left: auto !important;
	margin-right: auto !important;
}
.wp-block-image.alignleft {
	margin-right: 30px !important;
}
.wp-block-image.alignright {
	margin-left: 30px !important;
}

/* List
--------------------------------------------- */
.wp_osm ul,
.wp_osm ol {
	transform: unset;
	width: unset;
}
.wp_osm .ol-attribution { font-size: 50% }
.is-style-no-disc li {
	list-style-type: none;
	margin-left: 0;
}


/* Navigation
--------------------------------------------- */
.wp-block-navigation__responsive-container.is-menu-open {
	padding-bottom: 30px;
	padding-top: 30px
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    background-color: #1c1b1a;
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid var(--wp--preset--color--primary);
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

.wp-block-navigation a {
	color: var(--wp--preset--color--primary) !important;
}
.wp-block-navigation a:focus,
.wp-block-navigation a:hover {
	color: var(--wp--preset--color--secondary) !important;
}

.wp-block-navigation__container {
	grid-row-gap: 7px;
}
.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--primary);
}

/* Navigation Submenu
--------------------------------------------- */
.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--primary);
    /* transform: translateY(-4px); */
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
    border: none;
	padding: 6px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background: white !important;
	box-shadow: 0px 3px 10px rgba(0,0,0,.1);
}
.wp-block-navigation li.wp-block-navigation-item {
	margin-bottom: .2em;
}


/* Paragraph
--------------------------------------------- */
p.has-background {
	padding: 15px 25px;
}


/* Preformatted
--------------------------------------------- */

.wp-block-preformatted {
	overflow-wrap: normal;
	overflow-x: scroll;
	white-space: pre;
}

/* Pullquote
--------------------------------------------- */

.wp-block-pullquote p:last-of-type {
	margin-bottom: 0;
}

/* Quote
--------------------------------------------- */

.wp-block-quote {
	padding: 2% 0px 2% 3% !important;
	border-width: 0 0 0 1px !important;
}
.wp-block-quote cite {
	display: block;
	text-align: right;
}
.wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

/* Separator
--------------------------------------------- */

.wp-block-separator,
.wp-block-separator.has-css-opacity {
	opacity: 0;
	margin-bottom: 2em !important;
}

.wp-block-separator.is-style-dots:before {
	font-family: inherit;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 10px;
	padding-left: 10px;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: 100px;
}

.wp-block-separator:not(.is-style-dots),
.wp-block-separator.has-background:not(.is-style-dots) {
	border-bottom: 1px solid currentColor;
	border-top: none;
	height: 1px;
}

/* Spacer
--------------------------------------------- */

.wp-block-spacer + * {
	margin-top: 0 !important;
}

/* Table
--------------------------------------------- */

.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table table {
	border-collapse: collapse;
}

.wp-block-table thead {
	border-bottom: 3px solid var(--wp--preset--color--contrast);
}

.wp-block-table tfoot {
	border-top: 3px solid var(--wp--preset--color--contrast);
}

.wp-block-table td,
.wp-block-table th,
.wp-block-table tr,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes tr {
	border: 1px solid var(--wp--preset--color--contrast);
}

.wp-block-table th {
	font-weight: var(--wp--custom--font-weight--regular);
}

.wp-block-table td,
.wp-block-table th {
	padding: 5px;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--tertiary);
}


/* Forms
--------------------------------------------- */

input,
select,
textarea,
.wp-block-search__input {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	padding: 8px 15px 8px;
	width: 100%;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="submit"] {
	border: none;
	width: unset;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.6;
}

.nf-field-container {
	margin-bottom: 10px;
}


/* Overwrite annoying block styles
---------------------------------------------------------------------------- */

.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color),
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color) {
	color: var(--wp--preset--color--primary);
}
.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color):focus,
.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color):focus,
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color):hover {
    color: var(--wp--preset--color--secondary);
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    background-color: var(--wp--preset--color--contrast);
	padding: 0 15px;
}


/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 800px) {

	/* Navigation Link
	--------------------------------------------- */

	.wp-block-navigation-item.is-style-outline a {
		border: 1px solid currentColor;
		padding: 8px 15px;
	}

	/* Pullquote
	--------------------------------------------- */

	.wp-block-pullquote.alignleft,
	.wp-block-pullquote.alignright {
		max-width: 300px;
	}

	.wp-block-pullquote.alignleft {
		float: left;
		margin-right: 30px !important;
	}

	.wp-block-pullquote.alignright {
		float: right;
		margin-left: 30px !important;
	}

}

