/*
 * Shared styles -- dashboard and front end
 * Responsive breakpoints: 600, 768, 960, 1280
 */
 
:root :where(.is-layout-constrained) > * {
	margin-block-start: 0;
}

:root :where(.is-layout-flex) {
    gap: var(--wp--preset--spacing--small);
}


/* Font imports
--------------------------------------------- */
/* Main regular */
@font-face {
	font-family: XXX;
	src: url('../fonts/fontname/font.woff2') format('woff2'), 
		 url('../fonts/fontname/font.woff') format('woff');
	font-weight:  400;
	font-style:   normal;
	font-stretch: normal;
}

/* Main bold */
@font-face {
	font-family: XXX;
	src: url('../fonts/fontname/font.woff2') format('woff2'), 
		 url('../fonts/fontname/font.woff') format('woff');
	font-weight:  bold;
	font-style:   normal;
	font-stretch: normal;
}

/* Main italic */
@font-face {
	font-family: XXX;
	src: url('../fonts/fontname/font.woff2') format('woff2'), 
		 url('../fonts/fontname/font.woff') format('woff');
	font-weight:  normal;
	font-style:   italic;
	font-stretch: normal;
}

/* Secondary */
@font-face {
	font-family: XXX;
	src: url('../fonts/fontname/font.woff2') format('woff2'), 
		 url('../fonts/fontname/font.woff') format('woff');
	font-weight:  normal;
	font-style:   normal;
	font-stretch: normal;
}


/* Typographical Elements
--------------------------------------------- */


.wp-block-buttons.is-layout-flex {
	gap: var(--wp--preset--spacing--small);
}

input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button .wp-element-button {
	border-radius: 0;	
	cursor: pointer;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 300;
	padding: 15px 40px !important;
	letter-spacing: 3.12px;
	text-decoration: none;
	white-space: normal;
	-webkit-transition: .25s all ease-in-out;
	transition: .25s all ease-in-out;
	
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--black);
	color: #000;
	text-transform: uppercase;
	display: block;
    width:-moz-fit-content; 
	width: fit-content;
}

input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="submit"].gform_button:hover,
input[type="submit"].gform_button:focus,
.wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.wp-block-button:not(.is-style-outline) .wp-element-button:focus {
	background-color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--black);
	color: #fff;	
}


 
@media only screen and (max-width: 599px) {
	
	/* Safari ~13 doesn't support gap for flexbox, but WP 6.0 has it. Removing and replacing. */
	.wp-block-buttons {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.wp-block-button + .wp-block-button {
		margin: .5em 0 0 0;
	}
	
}


/* Flexbox & Grid
--------------------------------------------- */
.flexbox,
.footer-widgets .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
}

.justify-content-center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;		
}

.justify-content-space-between,
.wp-block-columns.is-style-col-spread {
	 -webkit-box-pack: justify;
 	 -webkit-justify-content: space-between;
	 -ms-flex-pack: justify;
         justify-content: space-between;		
}

.align-items-stretch {
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	-ms-grid-row-align: stretch;
	align-items: stretch;		
}

.align-items-center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}


.align-items-start,
.align-items-start.is-layout-flex,
.is-layout-flex.wp-block-buttons:not(.is-content-justification-center) {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;	
}

.flex-direction-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.flex-1,
.footer-widget-area {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;		
}


.gap-sm {
	grid-gap: 0.6em;
	gap: 0.6em;
}


:where(.is-layout-flex),
.flex-gap,
.gap {
	grid-gap: 1em;
	gap: 1em;
}

.flex-gap-lg,
.gap-lg {
	grid-gap: 2em;
	gap: 2em;
}

.col-3 .flex-item {
	-webkit-box-flex: 3;
	-ms-flex: 3 1 350px;
	  flex: 3 1 350px;
}

.grid {
	display: -ms-grid;
	display: grid;	
}

.grid.col-3,
.grid.col-4  {
	grid-template-columns: 1fr;
}

@media only screen and (min-width: 768px) {
	
	.grid.col-3,
	.grid.col-4  {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (min-width: 1280px) {
	
	/* Flexbox & Grid */
	.grid.col-3 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.grid.col-4  {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}



/* Styling classes
--------------------------------------------- */

.overflow {
	overflow: auto;
}

.position-relative {
	position: relative;
}

.no-margin {
	margin: 0 !important;
}

.wp-block-group.no-margin > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

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

.margin-top-auto {
	margin-top: auto; /*for flexbox*/
}

.margin-left-auto {
	margin-left: auto; /* for flexbox */
}

.padding-sm {
    padding: var(--wp--preset--spacing--small);
}

.padding-medium {
    padding: var(--wp--preset--spacing--medium);
}

.padding-lg {
    padding: var(--wp--preset--spacing--large);
}

.padding-xlg {
    padding: var(--wp--preset--spacing--xlarge);
}

.no-padding {
	padding: 0 !important;
}


.narrow {
    max-width: 700px !important;
	margin-left: 0;
}

.x-narrow {
	max-width: 450px !important;
	margin-left: 0;
}

.negative-margin {
    margin-top: -18vh !important;
}


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

hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid #eee;
	clear: both;
	margin: 0;
}

hr.wp-block-separator {
	border-bottom: 1px solid;
	border-top: 0;
    width: 100px;
}

hr.wp-block-separator.is-style-wide {
	width: 100%;
}


/* Media-text 
-------------------------*/
.wp-block-media-text .wp-block-media-text__content {
	padding: 0;
}

@media only screen and (max-width: 959px ) {
	
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}

	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media, .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	
	/* Constrict media to specific height */
	.wp-block-media-text.is-image-fill .wp-block-media-text__media {
		height: 100%;
		min-height: 250px;
		background-size: cover;
	}
	
	/* All media should appear before content */
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	
}

@media only screen and (min-width: 960px ) {
	
	/* Alignfull media-text with content that fits the width */
	.wp-block-media-text.is-style-content-fit .wp-block-media-text__content {
		max-width: calc(var(--wp--style--global--content-size)/2);	
		width: 100%;
	}
	
	.wp-block-media-text.is-style-content-fit.has-media-on-the-right .wp-block-media-text__content {
		justify-self: right;
	}
	
}

/* Columns block
--------------------------------------------------------------------------------------*/
	
/* Columns with no space between cols */
.wp-block-columns.is-style-col-no-space {
	gap: 0;
}

/* Columns with lines */
.wp-block-columns.is-style-col-lines .wp-block-column:not(:first-of-type) {
	border-top: 1px solid;
	padding-top: var(--wp--preset--spacing--medium);
	margin-top: var(--wp--preset--spacing--medium);
}


/* Columns collapse -- Gutenberg default is to collapse at 600
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 959px ) {
	 
	.wp-block-columns {
		flex-wrap: wrap !important;
	}	
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100%!important;
	}		
	
	.alignfull > .wp-block-columns.col-no-padding {
		padding: 0 var(--wp--preset--spacing--small);
	}
	
	.wp-block-column.no-padding:not(:last-child) {
		padding-top: var(--wp--preset--spacing--small) !important;
	}	

	.col-flip-mobile .wp-block-column:first-of-type {
		order: 2;
	}
	
}


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

	/* Wide column */
	.wp-block-columns.is-style-col-wide {
		gap: 2em;
	}	
	
	/* Columns with lines */
	.wp-block-columns.is-style-col-lines .wp-block-column:not(:first-of-type) {
		border-left: 1px solid;
		border-top: 0;
		padding-top: 0;
		margin-top: 0;
		padding-left: var(--wp--preset--spacing--medium);
	}
	
}

/* Gallery block
--------------------------------------------- */

ul.blocks-gallery-grid,
.wp-block-image {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-gallery .blocks-gallery-item figure {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}

/* Fix for last element filling entire row */
.wp-block-gallery.has-nested-images > figure.wp-block-image {
  flex-grow: inherit;
}


/* Cover block
--------------------------------------------- */
/* negate Gutenberg default */
.wp-block-cover, 
.wp-block-cover-image { 
	padding: 0;
}

/* Allow bottom/left positioning for cover blocks */
.wp-block-cover.is-position-top-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-right.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-right.has-custom-content-position .wp-block-cover__inner-container {
	margin: 0 auto;
}

/* Custom cover style -- Make image contain, not cover */
.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
    -o-object-fit: contain;
    object-fit: contain;
}

.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background {
    -o-object-position: 0 0 !important;
    object-position: 0 0 !important;	
    top: 0;
    bottom: auto;	
}

.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background {
    -o-object-position: 0 100% !important;
    object-position: 0 100% !important;		
}

.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background {
	-o-object-position: top left;
    object-position: top left;
}

.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
	-o-object-position: top right;
    object-position: top right;
}



/* SVG custom block
--------------------------------------------- */

.svg-img.aligncenter {
    text-align: center;
}

.svg-img {
	line-height: 0;
}


/* Social Links
--------------------------------------------- */

ul.wp-block-social-links {
	margin: 0;
}


/* Swiper/Slider
--------------------------------------------- */

.arrows-outside .swiper-wrapper {
    width: 85% !important;
    margin: auto;
}

.swiper-button-prev, 
.swiper-button-next {
    color: inherit !important;
	-webkit-transform: scale(.5);
    transform: scale(.5);
}

.swiper-pagination-bullet-active {
	background: var(--wp--preset--color--primary) !important;
}
