:root {
	--bg-size: 400%;
    --color-one: hsl(230, 96%, 62%);
    --color-two: hsl(348, 97%, 63%);
    --color-three: hsl(299, 100%, 50%);
}

/* HTML
--------------------------------------------- */

html {
	scroll-behavior: smooth;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #000;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 20px;
}

h1 {
	font-size: 40px;
}

h2 {
	font-size: 27px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 20px;
}

/* Links
--------------------------------------------- */
a:empty {
	display: none;
}

:focus {
	outline: 0;
}

.sub-menu-toggle:focus {
    outline: var(--wp--preset--color--theme-primary) solid 1px;
}

.grid-container a {
	color: #000;
	text-decoration: none;
}

.grid-container a:hover,
.grid-container a:active,
.grid-container a:focus {
	color: var(--wp--preset--color--theme-primary);
	text-decoration: none;
}

.drop-shadow:hover,
.drop-shadow:active,
.drop-shadow:focus {
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.drop-shadow-2:hover,
.drop-shadow-2:active,
.drop-shadow-2:focus {
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.contact-icons .dashicons:not(.contact-icons .dashicons:first-child) {
	margin-left: 30px;
}

a.dashicons-email-alt,
a.dashicons-facebook-alt,
a.dashicons-youtube,
a.dashicons-instagram,
a.dashicons-linkedin {
    color: #000;
}

a.dashicons-email-alt:hover,
a.dashicons-facebook-alt:hover {
    color: #3b5a9a;
}

a.dashicons-youtube:hover {
    color: #c3191e;
}

a.dashicons-instagram:hover {
    color: #8134AF;
}

a.dashicons-linkedin:hover {
    color: #0073b2;
}

/* Site Header
--------------------------------------------- */

.site-header {
    box-shadow: none;
    border-bottom: 1px solid #eee;
}

/* Site Title
--------------------------------------------- */

.site-title a,
.site-title a:focus,
.site-title a:hover {
    color: #000;
    text-decoration: none;
}

/* Pagination & Blog
--------------------------------------------- */

.archive-pagination li a {
	background-color: #f5f5f5;
	color: #000;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: var(--wp--preset--color--theme-primary);
	color: #fff;
}

.blog h1.archive-title {
	font-size: 50px;
}

/* Site Navigation
---------------------------------------------------------------------------- */

.genesis-nav-menu a {
	color: #000;
	display: block;
	font-size: 18px;
	font-weight: 600;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--wp--preset--color--theme-primary);
	text-decoration: none;
}

.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}

.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	font-size: 14px;
	position: relative;
	word-wrap: break-word;
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}

.menu-toggle, .sub-menu-toggle {
    color: #000;
}

/* Footer Widgets
--------------------------------------------- */

.footer-widgets {
	border-top: 1px solid #eee;
	background-color: #fff;
	clear: both;
	padding: 80px 0;
}

.footer-widgets .wrap {
	margin-left: auto;
	margin-right: auto;
}

.footer-widget-area {
	margin-bottom: 40px;
	padding-left: 30px;
	padding-right: 30px;
}

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}

.footer-widgets,
.footer-widgets a {
	font-size: 16px;
	color: #333;
	text-decoration: none;
}

.footer-widgets a:hover {
	color: var(--wp--preset--color--theme-primary);
	text-decoration: none;
}

.footer-widgets .widget-title {
	font-size: 16px;
	text-transform: uppercase;
}


/* #SW: Margin & Paddings
---------------------------------------------------------------------------- */

.content-30 #genesis-content {
	margin-top: 30px;
}

.content-40 #genesis-content {
	margin-top: 30px;
}

.content-60 #genesis-content {
	margin-top: 60px;
}

.mt-60 {
	margin-top: 60px;
}

.center {
	text-align: center;
}

/* #SW: Overlap
--------------------------------------------- */

.overlap-30,
.overlap-60,
.overlap-120,
.overlap-160 {
    background-color: #fff;
	margin-bottom: 60px;
}

/* #SW Flex
---------------------------------------------------------------------------- */

.flex-image-text blockquote {
	font-family:Georgia, "Times New Roman", Times, serif;
	quotes: "\201C""\201D""\2018""\2019";
	margin-top: 70px;
}

.flex-image-text blockquote p:before { 
	content: open-quote;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 100px;
	color: var(--wp--preset--color--theme-primary);
	display: flex;
	align-items: center;
	max-height: 0px;
	margin-left: -10px;
}

.grid-container,
.grid-container-200 {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
}

.grid-container-200 {
	grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
}

/* #SW Hero
---------------------------------------------------------------------------- */

.feature-no-title .hero,
.feature-title .hero,
.feature-title-2 .hero,
.hero-content .hero  {
	
	background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
	
	display: table;
	overflow: hidden;
	table-layout: fixed;
    
    width: 100%;
	margin: 0 auto;
	
}

/* #SW Templates: Hero Content
--------------------------------------------- */

.hero-box h1,
.hero-box h2,
.hero-box h3,
.hero-box h4,
.hero-box h5,
.hero-box h6 {
	color: #fff;
}

.hero-content .hero-box,
.title-hero-content .hero-box {
	
	text-align: center;
	text-shadow: 1px 1px 1px rgb(0 0 0 / 40%);
	color: #fff;
	
}

.hero-content .hero-box,
.title-hero-content .hero-box {
	
	/* Box Height  */
	padding: 8% 0;
	min-height: 640px;
	
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
}

.hero-content .hero-box div,
.title-hero-content .hero-box div {
	width: 100%;
}

.hero-content .hero-box h2,
.title-hero-content .hero-box h2 {
	font-size: 40px;
	padding: 0 5%;
	margin: 0px;
}

.title-hero-content .custom-header h1 {
	font-size: 50px;
	margin-bottom: 60px;
}

/* #SW Templates: Feature Title
--------------------------------------------- */

.feature-no-title .hero,
.feature-title .hero,
.feature-title-2 .hero {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 350px;
}

.feature-title .hero-box {
	max-width: 1080px;
	margin: 0 auto;
}

.hero-box h1 {
	color: #fff;
	text-shadow: 1px 1px 1px rgb(0 0 0 / 40%);
	margin: 0px;
}

.feature-title h1 {
	text-align: center;
}

.feature-no-title .feature,
.feature-title .feature,
.feature-title-2 .custom-header,
.feature-title-2 .feature {
    max-width: 1080px;
    margin: 0 auto;
    margin-top: 30px;
}

.feature-no-title .feature p:empty,
.feature-title .feature p:empty,
.feature-title-2 .feature p:empty {
	display: none;
}

.feature-no-title .feature h4,
.feature-title .feature h4,
.feature-title-2 .feature h4 {
	text-align: center;
}

.feature-no-title .feature div:not(.feature div.grid-container),
.feature-title .feature div:not(.feature div.grid-container),
.feature-title-2 .feature div:not(.feature div.grid-container) {
	display: flex;
	flex-direction: column;
}

/* #SW Forms: Ninja Forms
---------------------------------------------------------------------------- */

.nf-form-fields-required {
	display: none;
}

.nf-form-content input[type=button] {
	width: 100% !important;
}

.nf-form-content input[type=button]:hover {
	background-color: var(--wp--preset--color--theme-primary) !important;
	color: #fff !important;
}

.contact-icons {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
}

/* #SW Cards
---------------------------------------------------------------------------- */

.cards p:has(a:empty) {
	display: none;
}

/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 960px) {
	
	
	/* Site Header
	--------------------------------------------- */
	
	.site-header .wrap {
		max-width: 1080px;
		margin: 0 auto;
	}
	
		/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu {
		display:flex;
	}

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu > .menu-highlight > a {
		background-color: #333;
		border-radius: 3px;
		color: #fff;
		font-weight: 600;
		margin-left: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: var(--wp--preset--color--theme-primary);
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity 0.4s ease-in-out;
	}

	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-primary {
		display: block;
		padding-top: 15px;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}
	
	.menu-item-has-children>a:after {
		content: "\f347";
		list-style-type: none;
		display: inline-block;
		-webkit-font-smoothing: antialiased;
		font: normal 16px/1 'dashicons';
		word-wrap: break-word;
		font-weight: 400;
		font-style: normal;
		vertical-align: middle;
		padding-left: 5px;
	}

	.sub-menu .menu-item-has-children>a:after {
		content: "\f345";
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		float: right;
		width: auto;
	}

	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.nav-primary .genesis-nav-menu a:not(.nav-primary .genesis-nav-menu .sub-menu a) {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.nav-primary .genesis-nav-menu:last-child a {
		padding-right: 0px;
	}
	
	/* Footer Widgets
	--------------------------------------------- */

	.footer-widgets .wrap {
		max-width: 1140px;
	}

	.footer-widget-area {
		float: left;
		margin-bottom: 0;
		width: calc(100% / 4);
	}
	
	/* #SW Overlaps
	--------------------------------------------- */
	
	.overlap-30:not(.overlap-30.borderless),
	.overlap-60:not(.overlap-60.borderless),
	.overlap-120:not(.overlap-120.borderless),
	.overlap-160:not(.overlap-160.borderless) {
		border-radius: 5px;
		padding: 40px;
	}
	
	.overlap-30.image-shadow img,
	.overlap-60.image-shadow img,
	.overlap-120.image-shadow img,
	.overlap-160.image-shadow img {
		box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px;
		margin-bottom: 60px;
	}
	
	.overlap-30 {
		margin-top: -30px;
	}
	
	.overlap-60 {
		margin-top: -60px;
	}
	
	.overlap-120 {
		margin-top: -120px;
	}
	
	.overlap-160 {
		margin-top: -160px;
	}

	.overlap-border {
		border: 1px solid #eee;
	}
	
	/* #SW Flex
	--------------------------------------------- */
	
	.flex-image-text {
		display: flex;
		flex-direction: row;
	}
	
	.flex-image-text img {
		margin-left: 10%;
		max-width: 70%;
		margin-bottom: 0px;
	}
	
	.flex-center {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	.flex-image-text blockquote {
		max-width: 70%;
		margin: 0px;
	}
	
	.flex-image-text blockquote p:last-child {
		margin: 0px;
	}
	
	/* #SW Templates: Hero Content
	--------------------------------------------- */
	
	.hero-content .hero-box h2,
	.title-hero-content .hero-box h2 {
		font-size: 60px;
	}
	
	.hero-content .hero-box .hero-space,
	.title-hero-content .hero-box .hero-space {
		padding-bottom: 90px;
	}
	
	.title-hero-content .custom-header {
		width: 100%;
		margin: 0 auto;
	}
	
	/* #SW: Fill Content
	--------------------------------------------- */

	.fill-content {
		margin-left: calc(-80vw / 2 + 100% / 2) !important;
		margin-right: calc(-80vw / 2 + 100% / 2) !important;
		width: 80vw !important;
	}

}


@media only screen and (max-width: 1140px) {
	
	/* #SW Templates: Feature Title
	--------------------------------------------- */

	.feature-title .hero-box {
		margin: 0 30px;
	}
	
	.feature-no-title .feature,
	.feature-title .feature,
	.feature-title-2 .custom-header,
	.feature-title-2 .feature {
		margin-left: 30px;
		margin-right: 30px;
	}
	
}

/* Animation
---------------------------------------------------------------------------- */

.boujee-text {
	
    font-size: clamp(3rem, 25vmin, 8rem);
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background: linear-gradient(
                  90deg,
                  var(--color-one),
                  var(--color-two),
				  var(--color-three),
                  var(--color-one)
                ) 0 0 / var(--bg-size) 100%;
    color: transparent !important;
    background-clip: text;
    -webkit-background-clip: text;
	animation: move-bg 36s infinite linear;
	
}

@keyframes move-bg {
	
	to {
	  background-position: var(--bg-size) 0;
	}
	
}

@media (prefers-reduced-motion: no-preference) {
	
	.boujee-text {
		animation: move-bg 36s linear infinite;
	}
	
	@keyframes move-bg {
		to {
		background-position: var(--bg-size) 0;
		}
	}
	
}