/*
 * CSS ELEMENTS
 */



/* ----------------------------------------------------------------------------
 * TABLE OF CONTENTS:
 * ----------------------------------------------------------------------------
 *
 * 1 BROWSER RESETS
 *
 * 2 STRUCTURAL ELEMENTS
 *   2.1 UNIVERSAL STYLES
 *   2.2 BOX STYLES
 * 
 * 3 CONTENT STYLES
 *   3.1 PARAGRAPHS
 *   3.2 HEADINGS
 *   3.3 QUOTE STYLES
 *   3.4 ACCORDIONS
 *   3.5 MEDIA STYLES
 *   3.6 FORM STYLES
 * 
 * 4 TEXT STYLES
 *   4.1 UNIVERSAL STYLES
 *   4.2 TEXT ALIGNMENT
 *   4.3 TEXT SIZES
 *   4.4 TEXT COLORS
 *   4.5 TEXT LINKS
 *
 * 5 BUTTON STYLES
 *   5.1 UNIVERSAL STYLES
 *   5.2 BUTTON SIZES
 *   5.3 BUTTON COLOR
 *
 * 6 LIST STYLES
 *   6.1 UNIVERSAL STYLES
 *   6.2 UNORDERED LIST STYLES
 *   6.3 ORDERED LIST STYLES
 *
 * 7 UNIVERSAL STATES
 *   7.1 UNIVERSAL STATE CLASSES
 *   7.2 SHAPE STATES
 *   7.3 ALIGNMENT STATES
 *   7.4 DISPLAY/RESPONSIVE STATES
 * 
 * ---------------------------------------------------------------------------*/





/******************************************************************************
 * * *  1 BROWSER RESETS  * * * * * * * * * * * * * * * * * * * * * * * * * * *
 ******************************************************************************/

html {
	font-family: sans-serif; /* 1 */
	-ms-text-size-adjust: 100%; /* 2 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

body {margin: 0;}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {display: block;}

audio,
canvas,
progress,
video {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden], template {display: none;}

a {background-color: transparent;}

a:active, a:hover {outline: 0;}

abbr[title] {border-bottom: 1px dotted;}

b, strong {font-weight: bold;}

dfn {font-style: italic;}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {font-size: 80%;}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {top: -0.5em;}

sub {bottom: -0.25em;}

img {border: 0;}

svg:not(:root) {overflow: hidden;}

figure {margin: 0;}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

pre {overflow: auto;}

code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {overflow: visible;}

button, select {text-transform: none;}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled], html input[disabled] {cursor: default;}

button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {line-height: normal;}

input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {height: auto;}

input[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box; /* 2 */
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0; /* 1 */
	padding: 0; /* 2 */
}

textarea {overflow: auto;}

optgroup {font-weight: bold;}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td, th {padding: 0;}





/******************************************************************************
 * * *  2 STRUCTURAL ELEMENTS  * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/



/***  2.1 UNIVERSAL STYLES  ***/

html {overflow-x: hidden;}

html, 
body {
	width: 100%;
	height: 100%;
}

.site {
	max-width: 100%;
	overflow-x: hidden;
}



/***  2.2 BOX STYLES  ***/

.section, 
.container, 
.site-container, 
.section-container, 
.cols, 
.cols {
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	clear: both;
}

.cols, 
.cols {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}

.section:after, 
.container:after, 
.site-container:after, 
.section-container:after, 
.cols:after, 
.cols > [class*="col"]:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/* Columns */

.col, 
[class*="col-"] {
	width: 100%;
	min-height: 1px;
	box-sizing: border-box;
}

.col-eighth {width: 12.5%;} /*  1/8 Column  */
.col-sixth {width: 16.6666%;} /*  1/6 Column  */
.col-fifth {width: 20%;} /*  1/5 Column  */
.col-fourth {width: 25%;} /*  1/4 Column  */
.col-third {width: 33.3333%;} /*  1/3 Column  */
.col-three-eighths {width: 37.5%;} /*  3/8 Column  */
.col-two-fifths {width: 40%;} /*  2/5 Column  */
.col-half {width: 50%;} /*  1/2 Column  */
.col-three-fifths {width: 60%;} /*  3/5 Column  */
.col-five-eighths {width: 62.5%;} /*  5/8 Column  */
.col-two-thirds {width: 66.6666%;} /*  2/3 Column  */
.col-three-fourths {width: 75%;} /*  3/4 Column  */
.col-four-fifths {width: 80%;} /*  4/5 Column  */
.col-five-sixths {width: 83.3333%;} /*  5/6 Column  */
.col-seven-eighths {width: 87.5%;} /*  7/8 Column  */

@media screen and (min-width: 901px) and (max-width: 1200px) {

.laptop-col-eighth {width: 12.5%;} /*  1/8 Column  */
.laptop-col-sixth {width: 16.6666%;} /*  1/6 Column  */
.laptop-col-fifth {width: 20%;} /*  1/5 Column  */
.laptop-col-fourth {width: 25%;} /*  1/4 Column  */
.laptop-col-third {width: 33.3333%;} /*  1/3 Column  */
.laptop-col-three-eighths {width: 37.5%;} /*  3/8 Column  */
.laptop-col-two-fifths {width: 40%;} /*  2/5 Column  */
.laptop-col-half {width: 50%;} /*  1/2 Column  */
.laptop-col-three-fifths {width: 60%;} /*  3/5 Column  */
.laptop-col-five-eighths {width: 62.5%;} /*  5/8 Column  */
.laptop-col-two-thirds {width: 66.6666%;} /*  2/3 Column  */
.laptop-col-three-fourths {width: 75%;} /*  3/4 Column  */
.laptop-col-four-fifths {width: 80%;} /*  4/5 Column  */
.laptop-col-five-sixths {width: 83.3333%;} /*  5/6 Column  */
.laptop-col-seven-eighths {width: 87.5%;} /*  7/8 Column  */
.laptop-col-full {width: 100%;}

}

@media screen and (max-width: 900px) {

.col-custom, 
.col-eighth, 
.col-sixth, 
.col-fifth, 
.col-fourth, 
.col-third, 
.col-three-eighths, 
.col-two-fifths, 
.col-half, 
.col-three-fifths, 
.col-five-eighths, 
.col-two-thirds, 
.col-three-fourths, 
.col-four-fifths, 
.col-five-sixths, 
.col-seven-eighths {width: 100%;}

}

@media screen and (min-width: 601px) and (max-width: 900px) {

.tablet-col-fourth {width: 25%;}
.tablet-col-third {width: 33.3333%;}
.tablet-col-two-fifths {width: 40%;}
.tablet-col-half {width: 50%;}
.tablet-col-three-fifths {width: 60%;}
.tablet-col-two-thirds {width: 66.6666%;}
.tablet-col-three-fourths {width: 75%;}

}

@media screen and (min-width: 421px) and (max-width: 600px) {

.mobile-col-third {width: 33.3333%;}
.mobile-col-two-fifths {width: 40%;}
.mobile-col-half {width: 50%;}
.mobile-col-three-fifths {width: 60%;}
.mobile-col-two-thirds {width: 66.6666%;}

}

/* Spaced Columns */

.cols-spaced-xs, 
.cols-spaced-xs {
	width: calc(100% + 10px);
	margin: -5px;
}

.cols-spaced-sm, 
.cols-spaced-sm {
	width: calc(100% + 20px);
	margin: -10px;
}

.cols-spaced, 
.cols-spaced-md, 
.cols-spaced-md {
	width: calc(100% + 30px);
	margin: -15px;
}

.cols-spaced-lg, 
.cols-spaced-lg {
	width: calc(100% + 50px);
	margin: -25px;
}

.cols-spaced-xl, 
.cols-spaced-xl {
	width: calc(100% + 70px);
	margin: -35px;
}

.cols-spaced-xs > [class*="col"], 
.cols-spaced-xs > [class*="col"] {padding: 5px;}

.cols-spaced-sm > [class*="col"], 
.cols-spaced-sm > [class*="col"] {padding: 10px;}

.cols-spaced > [class*="col"], 
.cols-spaced > [class*="col"], 
.cols-spaced-md > [class*="col"], 
.cols-spaced-md > [class*="col"] {padding: 15px;}

.cols-spaced-lg > [class*="col"], 
.cols-spaced-lg > [class*="col"] {padding: 25px;}

.cols-spaced-xl > [class*="col"], 
.cols-spaced-xl > [class*="col"] {padding: 35px;}





/******************************************************************************
 * * *  3 CONTENT STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * *
 ******************************************************************************/



/***  3.1 PARAGRAPHS  ***/

p {
	display: block;
	margin: 1.2em 0;
	line-height: 1.6em;
}

p:first-child {margin-top: 0;}

p:last-child {margin-bottom: 0;}

.alignleft + p:nth-child(2), .alignright + p:nth-child(2) {margin-top: 0;}



/***  3.2 HEADINGS  ***/

h1, h2, h3, h4, h5, h6 {
	position: relative;
	margin: 1.6em 0 0.7em 0;
	line-height: 1.3em;
}

h1:first-child, 
h2:first-child, 
h3:first-child, 
h4:first-child, 
h5:first-child, 
h6:first-child {margin-top: 0;}

h1:last-child, 
h2:last-child, 
h3:last-child, 
h4:last-child, 
h5:last-child, 
h6:last-child {margin-bottom: 0;}

h1 .anchor, 
h2 .anchor, 
h3 .anchor, 
h4 .anchor, 
h5 .anchor, 
h6 .anchor {
	position: absolute;
	top: -100px;
	left: 0;
}



/***  3.3 QUOTE STYLES  ***/

blockquote {
	margin-top: 1em;
	margin-bottom: 1em;
}

blockquote:first-child {margin-top: 0;}

blockquote:last-child {margin-bottom: 0;}

blockquote p:last-child {
	margin-top: 1em;
	margin-bottom: 1em;
}

blockquote p:first-child {margin-top: 0;}

blockquote p:last-child {margin-bottom: 0;}



/***  3.4 ACCORDIONS  ***/

details summary {
	position: relative;
	background-color: var(--wp--custom--light--2);
	font-weight: bold;
	color: var(--wp--custom--dark--1);
	padding: 20px 20px 20px calc(1em + 40px);
}

details summary:after {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 1em;
	height: 1em;
	transform: translateY(-50%);
	display: inline-block;
	vertical-align: middle;
	font-family: 'Font Awesome 6 Pro';
	font-weight: 300;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-size: 1em;
	line-height: 1em;
	content: "\f107";
}

details[open] > summary:after {
	transform: translateY(-50%) rotate(180deg);
}

details:not(:last-child) {margin-bottom: var(--wp--custom--spacer--xxs);}
details:not(:first-child) {margin-top: var(--wp--custom--spacer--xxs);}



/***  3.5 MEDIA STYLES  ***/

/* Universal Media Styles */

audio, canvas, img, video {vertical-align: middle;}

/* Image Styles */

img {
	width: auto;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}

/*  Video Styles  */

.video {
	position: relative;
	height: 0;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/***  3.6 FORM STYLES  ***/

/* Wrappers & Elements */

form {
	padding: 0;
	border: 0;
	margin-top: 1.2em;
	margin-bottom: 1.2em;
	clear: both;
}
form:first-child {margin-top: 0;}
form:last-child {margin-bottom: 0;}

fieldset {
	padding: 0;
	border: 0;
	margin-top: 1.2em;
	margin-bottom: 1.2em;
}
fieldset:first-child {margin-top: 0;}
fieldset:last-child {margin-bottom: 0;}

legend {
	padding: 0;
	border-bottom: 1px solid #e5e5e5;
	margin-top: 0;
	margin-bottom: 0.5em;
}

label {
	display: inline-block;
	vertical-align: middle;
	padding: 0;
	border: 0;
	margin: 0;
	box-sizing: border-box;
	font-weight: bold;
}

/* Inputs */

input, 
textarea, 
select {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	box-sizing: border-box;
	margin: 1px 0;
	font-size: 0.9em;
	line-height: 1.6em;
}

input[type="text"], 
input[type="email"], 
input[type="number"], 
input[type="password"], 
input[type="search"], 
input[type="tel"], 
input[type="url"], 
input[type="date"], 
input[type="datetime-local"], 
input[type="month"], 
input[type="time"], 
input[type="week"], 
textarea, 
select {
	padding: 10px 15px;
	border: 1px solid #d2d2d2;
	background: white;
	min-height: calc(1.6em + 20px);
}

textarea {
	height: 100px;
	resize: vertical;
}

select {
	appearance: none;
	min-height: calc(1.6em + 20px);
	background: #f6f6f6 url(../../images/icon-angle-down.svg) center right 15px no-repeat;
	background-size: 1em;
}

input[type="checkbox"],  
input[type="radio"] {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}

input[type="text"]:focus, 
input[type="email"]:focus, 
input[type="number"]:focus, 
input[type="password"]:focus, 
input[type="search"]:focus, 
input[type="tel"]:focus, 
input[type="url"]:focus, 
input[type="date"]:focus, 
input[type="datetime-local"]:focus, 
input[type="month"]:focus, 
input[type="time"]:focus, 
input[type="week"]:focus, 
textarea:focus, 
select:focus {border-color: var(--wp--custom--primary--main);}

/* Buttons */

input[type="submit"], 
input[type="reset"], 
input[type="button"] {
	display: inline-block;
	width: auto;
	min-height: calc(1.6em + 20px);
	padding: 0 1.5em;
	border: 1px solid var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--main);
	font-size: 0.95em;
	font-weight: 600;
	color: white;
	cursor: pointer;
	cursor: hand;
}





/******************************************************************************
 * * *  4 TEXT STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/



/***  4.1 UNIVERSAL STYLES  ***/

.lighter, 
.text-lighter {
	font-weight: normal;
	font-weight: lighter;
	font-weight: 300 !important;
}

.normal, 
.text-normal {
	font-weight: normal;
	font-weight: 400 !important;
}

.semi-bold, 
.text-semi-bold {
	font-weight: bold;
	font-weight: 600 !important;
}

b,
strong, 
.bold, 
.text-bold, 
.strong, 
.text-strong {
	font-weight: bold;
	font-weight: 700 !important;
}

.bolder, 
.text-bolder, 
.extra-bold, 
.text-extra-bold {
	font-weight: bold;
	font-weight: bolder;
	font-weight: 800 !important;
}

i, 
em, 
.italic, 
.text-italic {font-style: italic !important;}

.underline, 
.text-underline, 
.underlined, 
.text-underlined {text-decoration: underline !important;}

.struck, 
.text-struck,
.struck-through, 
.text-struck-through {text-decoration: line-through !important;}

.shadow,
.text-shadow, 
.shadowed, 
.text-shadowed {text-shadow: 1px 1px solid rgba(0,0,0,0.65) !important;}

.uppercase,
.text-uppercase, 
.capitalize, 
.text-capitalize, 
.capitalized, 
.text-capitalized {text-transform: uppercase;}



/***  4.2 TEXT ALIGNMENT  ***/

p.left, 
.text-left {text-align: left !important;}

p.right, 
.text-right {text-align: right !important;}

p.center,
p.centered,
.text-center, 
.text-centered {text-align: center !important;}

p.justify, 
p.justified, 
.text-justify, 
.text-justified {text-align: justify !important;}



/***  4.3 TEXT SIZES  ***/

/*  Basic Text Sizes  */

.text-xs {font-size: 0.7em;}

small, 
.text-sm {font-size: 0.86em;}

.text-md {font-size: 1em;}

big, 
.text-lg {font-size: 1.3em;}

.text-xl {font-size: 1.7em;}



/***  4.4 TEXT COLORS  ***/

/*  Black Text & Links  */
.text-black {color: black !important;}
a.text-black:hover {color: #333 !important;}

/*  Dark Text & Links  */
.text-dark {color: #393939 !important;}
a.text-dark:hover {color: #595959 !important;}

/*  Gray Text & Links  */
.text-gray {color: #808080 !important;}
a.text-gray:hover {color: #999 !important;}

/*  Light Text & Links  */
.text-light {color: #c9c9c9 !important;}
a.text-light:hover {color: #d9d9d9 !important;}

/*  White Text & Links  */
.text-white {color: white !important;}
a.text-white {color: #f2f2f2 !important;}
a.text-white:hover {color: white !important;}



/***  4.5 TEXT LINKS  ***/

a {text-decoration: none;}

a:hover {text-decoration: underline;}

a:hover, 
a:active {outline: 0;}

/* Remove Link */

.remove-link {cursor: default;}





/******************************************************************************
 * * *  5 BUTTON STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/



/***  5.1 UNIVERSAL STYLES  ***/

.button, 
.wp-block-button__link, 
.button-outline, 
.is-style-outline .wp-block-button__link {
	display: inline-block;
	vertical-align: middle;
	padding: 0.5em 1.5em;
	border: 1px solid #d2d2d2;
	margin-top: 2px;
	margin-bottom: 2px;
	font-size: 1em;
	text-decoration: none;
	box-sizing: border-box;
	background-color: var(--wp--custom--primary--main);
	cursor: pointer;
	cursor: hand;
	color: white;
}

.button:hover, 
.wp-block-button__link:hover, 
.button-outline:hover, 
.is-style-outline .wp-block-button__link:hover {text-decoration: none;}



/***  5.2 BUTTON SIZES  ***/

/*  Universal Button Sizes  */
.button-xs {font-size: 0.7em;}
.button-sm {font-size: 0.8em;}
.button-md {font-size: 1em;}
.button-lg {font-size: 1.3em;}
.button-xl {font-size: 1.7em;}



/***  5.3 BUTTON COLOR  ***/

/*  Black Buttons  */

.button-black {
	border-color: black !important;
	background-color: black !important;
	color: white !important;
}

.button-black:hover {
	border-color: #333 !important;
	background-color: #333 !important;
	color: white !important;
}

/*  Dark Buttons  */

.button-dark {
	border-color: #424242 !important;
	background-color: #424242 !important;
	color: white !important;
}

.button-dark:hover {
	border-color: #626262 !important;
	background-color: #626262 !important;
	color: white !important;
}

/*  Gray Buttons  */

.button-gray {
	border-color: #808080 !important;
	background-color: #808080 !important;
	color: white !important;
}

.button-gray:hover {
	border-color: #999 !important;
	background-color: #999 !important;
	color: white !important;
}

/*  Light Buttons  */

.button-light {
	border-color: #c9c9c9 !important;
	background-color: #c9c9c9 !important;
	color: white !important;
}

.button-light:hover {
	border-color: #d9d9d9 !important;
	background-color: #d9d9d9 !important;
	color: white !important;
}

/*  White Buttons  */

.button-white {
	border-color: #f2f2f2 !important;
	background-color: #f2f2f2 !important;
	color: black !important;
}

.button-white:hover {
	border-color: #f2f2f2 !important;
	background-color: #f2f2f2 !important;
	color: black !important;
}





/******************************************************************************
 * * *  6 LIST STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************?
 


/***  6.1 UNIVERSAL STYLES  ***/

ul,
ol {
	padding: 0;
	margin: 1em 0;
	list-style: disc;
}

ul:first-child, 
ol:first-child, 
.alignleft:first-child + ul, 
.alignleft:first-child + ol, 
.alignright:first-child + ul, 
.alignright:first-child + ol {margin-top: 0;}

ul:last-child, 
ol:last-child {margin-bottom: 0;}

ul ul,
ul ol,
ol ol,
ol ul {
	margin-top: 0;
	margin-bottom: 0;
}

li {
	margin: 0;
	margin-left: 1.75em;
}

/* List Spaced */
.list-spaced li {margin-bottom: 1em !important;}
.list-spaced li:last-child {margin-bottom: 0 !important;}

/* List Half Spaced */
.list-half-spaced li {margin-bottom: 0.5em !important;}
.list-half-spaced li:last-child {margin-bottom: 0 !important;}

/* List Underlined */

.list-underlined li {
	padding-bottom: 0.5em;
	border-bottom: 1px solid #d2d2d2;
	margin-bottom: 0.5em;
}

.list-spaced.list-underlined li {margin-bottom: 1.4em !important;}

.list-underlined li:first-child {padding-top: 0;}

.list-underlined li ul, 
.list-underlined li ol {
	margin-top: 0.5em;
	border-top: 1px solid #d2d2d2;
	padding-top: 0.5em;
	margin-bottom: calc(-1px + -1em);
}

.list-spaced.list-underlined li ul {
	padding-top: 1.5em;
	margin-bottom: calc(-1px + -2em) !important;
}

/* Empty List Items */

.list-empty, 
.list-empty ul, 
.list-empty ol {list-style: none;}

.list-empty > li {margin-left: 0;}



/***  6.2 UNORDERED LIST STYLES  ***/

/* Disc List Items */
ul.list-disc, 
ul.list-disc ul {list-style: disc;}

/* Circle List Items */
ul.list-circle, 
ul.list-circle ul {list-style: circle;}

/* Square List Item */
ul.list-square, 
ul.list-square ul {list-style: square;}



/***  6.3 ORDERED LIST STYLES  ***/

ol {list-style: decimal;}





/******************************************************************************
 * * *  7 UNIVERSAL STATES  * * * * * * * * * * * * * * * * * * * * * * * * * *
 ******************************************************************************/



/***  7.1 UNIVERSAL STATE CLASSES  ***/

.nopad, 
.no-pad, 
.nopadding, 
.no-padding {padding: 0 !important;}

.nobr, 
.no-br, 
.noborder, 
.no-border {border: none !important;}

.nomar, 
.no-mar, 
.nomargin, 
.no-margin {margin: 0 !important;}

.nomartop, 
.no-mar-top, 
.nomargintop, 
.no-margin-top {margin-top: 0 !important;}

.nomarbtm, 
.no-mar-btm, 
.nomarginbtm, 
.no-margin-btm, 
.nomarbottom, 
.no-mar-bottom, 
.nomarginbottom, 
.no-margin-bottom {margin-bottom: 0 !important;}

.nomarlft, 
.no-mar-lft, 
.nomarginlft, 
.no-margin-lft,
.nomarleft, 
.no-mar-left, 
.nomarginleft, 
.no-margin-left {margin-left: 0 !important;}

.nomarrgt, 
.no-mar-rgt, 
.nomarginrgt, 
.no-margin-rgt
.nomarright, 
.no-mar-right, 
.nomarginright, 
.no-margin-right {margin-right: 0 !important;}

.nobg, 
.no-bg, 
.nobkgr,
.no-bkgr, 
.nobackground, 
.no-background {background: none !important;}

.fw, 
.full, 
.fullwidth, 
.full-width {
	width: 100% !important;
	box-sizing: border-box;
}

.hide, 
.hidden {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

.show, 
.visible {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.expand, 
.expand-v {max-height: 1000px !important;}

.expand-h {max-width: 1000px !important;}

.collapse, 
.collapse-v {max-height: 0 !important;}

.collapse-h {max-width: 0 !important;}



/***  7.2 SHAPE STATES  ***/

.circle, 
.round, 
.shape-circle, 
.shape-round {
	border-radius: var(--wp--custom--radius--full) !important;
	overflow: hidden;
}

.rounded-xs, 
.shape-rounded-xs {
	border-radius: var(--wp--custom--radius--xs) !important;
	overflow: hidden;
}

.rounded-sm, 
.shape-rounded-sm {
	border-radius: var(--wp--custom--radius--sm) !important;
	overflow: hidden;
}

.rounded, 
.rounded-md, 
.shape-rounded, 
.shape-rounded-md {
	border-radius: var(--wp--custom--radius--md) !important;
	overflow: hidden;
}

.rounded-lg, 
.shape-rounded-lg {
	border-radius: var(--wp--custom--radius--lg) !important;
	overflow: hidden;
}

.rounded-xl, 
.shape-rounded-xl {
	border-radius: var(--wp--custom--radius--xl) !important;
	overflow: hidden;
}

.square, 
.squared,
.shape-square, 
.shape-squared {
	border-radius: 0 !important;
}



/***  7.3 ALIGNMENT STATES  ***/

div.left,
section.left,
article.left,
aside.left,
img.left,
.alignleft,
.align-left, 
.float-left {float: left !important;}

div.right,
section.right,
article.right,
aside.right,
img.right,
.alignright, 
.align-right, 
.float-right {float: right !important;}

div.center,
section.center,
article.center,
aside.center,
img.center,
div.centered,
section.centered,
article.centered,
aside.centered,
img.centered,
.aligncenter, 
.align-center, 
.center-align, 
.center-aligned {
	float: none !important;
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}



/***  7.4 DISPLAY/RESPONSIVE STATES  ***/

.block, 
.display-block {display: block !important;}

.inline-block, 
.display-inline-block {display: inline-block !important;}

.inline, 
.display-inline {display: inline !important;}

.display-none {
	display: none !important;
	visibility: hidden !important;
}

@media screen {
	
.display-print, 
.hide-screen {
	display: none !important;
	visibility: hidden !important;
}
 
}

@media print {
	
.display-screen, 
.hide-print {
	display: none !important;
	visibility: hidden !important;
}
 
}

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

.display-mobile-menu, 
.hide-desktop-menu {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (max-width: 1024px) {

.display-desktop-menu, 
.hide-mobile-menu {
	display: none !important;
	visibility: hidden !important;
}

}

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

.display-laptop, 
.display-laptop-tablet, 
.display-laptop-mobile, 
.display-tablet, 
.display-tablet-mobile, 
.display-mobile, 
.hide-desktop, 
.hide-desktop-laptop, 
.hide-desktop-tablet {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 901px) and (max-width: 1200px) {

.display-desktop, 
.display-tablet, 
.display-tablet-mobile, 
.display-mobile, 
.hide-laptop, 
.hide-laptop-tablet, 
.hide-laptop-mobile {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 601px) and (max-width: 900px) {

.display-desktop, 
.display-desktop-laptop, 
.display-laptop, 
.display-mobile, 
.hide-tablet, 
.hide-tablet-mobile {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (max-width: 600px) {

.display-desktop, 
.display-desktop-laptop, 
.display-desktop-tablet, 
.display-laptop, 
.display-laptop-tablet, 
.display-tablet, 
.hide-mobile {
	display: none !important;
	visibility: hidden !important;
}

}

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

.display-screen-xl,
.display-screen-xl-lg,
.display-screen-xl-md,
.display-screen-xl-sm,
.display-screen-xl-xs,
.display-screen-xl-xxs,
.display-screen-lg,
.display-screen-lg-md,
.display-screen-lg-sm,
.display-screen-lg-xs,
.display-screen-lg-xxs,
.display-screen-md,
.display-screen-md-sm,
.display-screen-md-xs,
.display-screen-md-xxs,
.display-screen-sm,
.display-screen-sm-xs,
.display-screen-sm-xxs,
.display-screen-xs,
.display-screen-xs-xxs,
.display-screen-xxs,
.hide-screen-xxl,
.hide-screen-xxl-xl,
.hide-screen-xxl-lg,
.hide-screen-xxl-md,
.hide-screen-xxl-sm,
.hide-screen-xxl-xs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 1201px) and (max-width: 1600px) {

.display-screen-xxl,
.display-screen-lg,
.display-screen-lg-md,
.display-screen-lg-sm,
.display-screen-lg-xs,
.display-screen-lg-xxs,
.display-screen-md,
.display-screen-md-sm,
.display-screen-md-xs,
.display-screen-md-xxs,
.display-screen-sm,
.display-screen-sm-xs,
.display-screen-sm-xxs,
.display-screen-xs,
.display-screen-xs-xxs,
.display-screen-xxs,
.hide-screen-xxl-xl,
.hide-screen-xxl-lg,
.hide-screen-xxl-md,
.hide-screen-xxl-sm,
.hide-screen-xxl-xs,
.hide-screen-xl,
.hide-screen-xl-lg,
.hide-screen-xl-md,
.hide-screen-xl-sm,
.hide-screen-xl-xs,
.hide-screen-xl-xxs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 1025px) and (max-width: 1200px) {

.display-screen-xxl,
.display-screen-xxl-xl,
.display-screen-xl,
.display-screen-md,
.display-screen-md-sm,
.display-screen-md-xs,
.display-screen-md-xxs,
.display-screen-sm,
.display-screen-sm-xs,
.display-screen-sm-xxs,
.display-screen-xs,
.display-screen-xs-xxs,
.display-screen-xxs,
.hide-screen-xxl-lg,
.hide-screen-xxl-md,
.hide-screen-xxl-sm,
.hide-screen-xxl-xs,
.hide-screen-xl-lg,
.hide-screen-xl-md,
.hide-screen-xl-sm,
.hide-screen-xl-xs,
.hide-screen-xl-xxs,
.hide-screen-lg,
.hide-screen-lg-md,
.hide-screen-lg-sm,
.hide-screen-lg-xs,
.hide-screen-lg-xxs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 901px) and (max-width: 1024px) {

.display-screen-xxl,
.display-screen-xxl-xl,
.display-screen-xxl-lg,
.display-screen-xl,
.display-screen-xl-lg,
.display-screen-lg,
.display-screen-sm,
.display-screen-sm-xs,
.display-screen-sm-xxs,
.display-screen-xs,
.display-screen-xs-xxs,
.display-screen-xxs,
.hide-screen-xxl-md,
.hide-screen-xxl-sm,
.hide-screen-xxl-xs,
.hide-screen-xl-md,
.hide-screen-xl-sm,
.hide-screen-xl-xs,
.hide-screen-xl-xxs,
.hide-screen-lg-md,
.hide-screen-lg-sm,
.hide-screen-lg-xs,
.hide-screen-lg-xxs,
.hide-screen-md,
.hide-screen-md-sm,
.hide-screen-md-xs,
.hide-screen-md-xxs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 601px) and (max-width: 900px) {

.display-screen-xxl,
.display-screen-xxl-xl,
.display-screen-xxl-lg,
.display-screen-xxl-md,
.display-screen-xl,
.display-screen-xl-lg,
.display-screen-xl-md,
.display-screen-lg,
.display-screen-lg-md,
.display-screen-md,
.display-screen-xs,
.display-screen-xs-xxs,
.display-screen-xxs,
.hide-screen-xxl-sm,
.hide-screen-xxl-xs,
.hide-screen-xl-sm,
.hide-screen-xl-xs,
.hide-screen-xl-xxs,
.hide-screen-lg-sm,
.hide-screen-lg-xs,
.hide-screen-lg-xxs,
.hide-screen-md-sm,
.hide-screen-md-xs,
.hide-screen-md-xxs,
.hide-screen-sm,
.hide-screen-sm-xs,
.hide-screen-sm-xxs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (min-width: 421px) and (max-width: 600px) {

.display-screen-xxl,
.display-screen-xxl-xl,
.display-screen-xxl-lg,
.display-screen-xxl-md,
.display-screen-xxl-sm,
.display-screen-xl,
.display-screen-xl-lg,
.display-screen-xl-md,
.display-screen-xl-sm,
.display-screen-lg,
.display-screen-lg-md,
.display-screen-lg-sm,
.display-screen-md,
.display-screen-md-sm,
.display-screen-sm,
.display-screen-xxs,
.hide-screen-xxl-xs,
.hide-screen-xl-xs,
.hide-screen-xl-xxs,
.hide-screen-lg-xs,
.hide-screen-lg-xxs,
.hide-screen-md-xs,
.hide-screen-md-xxs,
.hide-screen-sm-xs,
.hide-screen-sm-xxs,
.hide-screen-xs, 
.hide-screen-xs-xxs {
	display: none !important;
	visibility: hidden !important;
}

}

@media screen and (max-width: 420px) {

.display-screen-xxl,
.display-screen-xxl-xl,
.display-screen-xxl-lg,
.display-screen-xxl-md,
.display-screen-xxl-sm,
.display-screen-xxl-xs,
.display-screen-xl,
.display-screen-xl-lg,
.display-screen-xl-md,
.display-screen-xl-sm,
.display-screen-xl-xs,
.display-screen-lg,
.display-screen-lg-md,
.display-screen-lg-sm,
.display-screen-lg-xs,
.display-screen-md,
.display-screen-md-sm,
.display-screen-md-xs,
.display-screen-sm,
.display-screen-sm-xs,
.display-screen-xs,
.hide-screen-xl-xxs,
.hide-screen-lg-xxs,
.hide-screen-md-xxs,
.hide-screen-sm-xxs,
.hide-screen-xs-xxs, 
.hide-screen-xxs {
	display: none !important;
	visibility: hidden !important;
}

}





/*
 * END OF
 * CSS ELEMENTS
 */