/**********************************************************
// Root >> Measurements
**********************************************************/
:root {
	--1px: 0.0625rem;
	--2px: 0.125rem;
	--3px: 0.1875rem;
	--4px: 0.25rem;
	--5px: 0.3125rem;
	--6px: 0.375rem;
	--7px: 0.4375rem;
	--8px: 0.5rem;
	--9px: 0.5625rem;

	--10px: 0.625rem;
	--11px: 0.6875rem;
	--12px: 0.75rem;
	--13px: 0.8125rem;
	--14px: 0.875rem;
	--15px: 0.9375rem;
	--16px: 1rem;
	--17px: 1.0625rem;
	--18px: 1.125rem;
	--19px: 1.1875rem;
	--20px: 1.25rem;

	--21px: 1.3125rem;
	--22px: 1.375rem;
	--23px: 1.4375rem;
	--24px: 1.5rem;
	--25px: 1.5625rem;
	--26px: 1.625rem;
	--27px: 1.6875rem;
	--28px: 1.75rem;
	--29px: 1.8125rem;
	--30px: 1.875rem;

	--40px: 2.5rem;
	--50px: 3.125rem;
	--60px: 3.75rem;
	--70px: 4.375rem;
	--80px: 5rem;
	--90px: 5.625rem;

	--100px: 6.25rem;
	--200px: 12.5rem;
	--300px: 18.75rem;
	--400px: 25rem;
	--500px: 31.25rem;
	--600px: 37.5rem;
	--700px: 43.75rem;
	--768px: 48rem;
	--800px: 50rem;
	--900px: 56.25rem;

	--1000px: 62.5rem;
	--1050px: 65.625rem;
	--1024px: 64rem;
	--1150px: 71.875rem;
	--1280px: 80rem;
	}

/**********************************************************
// Body
**********************************************************/
body {
	overflow-x: hidden;
	cursor: default;
	}

body *,
body *:before,
body *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
	}

/**********************************************************
// Body >> WordPress Admin Bar Fix
**********************************************************/
@media /* 768px */
all and (max-width: 48rem),
all and (max-device-width: 48rem)
{
	#wpadminbar { position: fixed !important; }
}

/**********************************************************
// Body >> Elements
**********************************************************/
a {
	text-decoration: none;
	cursor: pointer;
	}

a:hover img {
	opacity: 0.85;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
		-ms-transition: opacity 0.2s linear;
		 -o-transition: opacity 0.2s linear;
			transition: opacity 0.2s linear;
	}

img {
	max-width: 100%;
	height: auto;
	opacity: 1;
	}

hr {
	margin: var(--25px) auto;
	width: 100%;
	max-width: 28.125rem;
	border: 0;
	border-top: var(--1px, 1px) solid #000;
	}

h1, h2, h3, h4, h5, h6 {
	margin: auto;
	padding: 0;
	line-height: 1.5em;
	}

h1 { font-size: var(--50px, 50px); }
h2 { font-size: var(--40px, 40px); }
h3 { font-size: var(--30px, 30px); }
h4 { font-size: var(--20px, 20px); }
h5 { font-size: var(--16px, 16px); }
h6 { font-size: var(--14px, 14px); }

/**********************************************************
// Body >> Microstyles
**********************************************************/
.Float-Left  { float: left;  }
.Float-Right { float: right; }

.Hidden { display: none; }
.Center {
	margin: auto;
	text-align: center;
	}

.CLR       { *zoom: 1; }
.CLR:after { clear: both; }
.CLR:before,
.CLR:after {
	content: " ";
	display: table;
	}

.Grow,
.Shrink,
.Trans {
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
	}

.Grow:hover {
	opacity: 1;
	transform: scale(1.20);
	}

.Shrink:hover {
	opacity: 1;
	transform: scale(.90);
	}

.IBVM,
.LI-IBVM li,
.IBVM-Div > div {
	display: inline-block;
	vertical-align: middle;
	}

.IBVT,
.LI-IBVT li,
.IBVT-Div > div {
	display: inline-block;
	vertical-align: top;
	}

.LI-Trim li:first-child { margin-left: 0; }
.LI-Trim li:last-child { margin-right: 0; }

.BR-3 { border-radius: var(--3px, 3px) !important; }
.BR-4 { border-radius: var(--4px, 4px) !important; }
.BR-5 { border-radius: var(--5px, 5px) !important; }

.Circle {
	border-radius: 100% !important;
	overflow: hidden !important;
	}

.Line-Height-1-1 { line-height: 1.1em !important; }
.Line-Height-1-2 { line-height: 1.2em !important; }
.Line-Height-1-3 { line-height: 1.3em !important; }
.Line-Height-1-4 { line-height: 1.4em !important; }
.Line-Height-1-5 { line-height: 1.5em !important; }
.Line-Height-1-6 { line-height: 1.6em !important; }
.Line-Height-1-7 { line-height: 1.7em !important; }
.Line-Height-1-8 { line-height: 1.8em !important; }
.Line-Height-1-9 { line-height: 1.9em !important; }
.Line-Height-2   { line-height:   2em !important; }

.Mobile-Only { display: none !important; }

@media /* 768px */
all and (max-width: 48rem),
all and (max-device-width: 48rem)
{
	.Desktop-Only { display: none !important; }
	.Mobile-Only { display: block !important; }

	.Mobile-Title-10 { font-size: var(--10px) !important; }
	.Mobile-Title-20 { font-size: var(--20px) !important; }
	.Mobile-Title-30 { font-size: var(--30px) !important; }
	.Mobile-Title-40 { font-size: var(--40px) !important; }
	.Mobile-Title-50 { font-size: var(--50px) !important; }
	.Mobile-Title-60 { font-size: var(--60px) !important; }
	.Mobile-Title-70 { font-size: var(--70px) !important; }
	.Mobile-Title-80 { font-size: var(--80px) !important; }
	.Mobile-Title-90 { font-size: var(--90px) !important; }
}

/**********************************************************
// Body >> Font Styles
**********************************************************/
.Txt-Title {
	margin: auto;
	text-transform: uppercase;
	letter-spacing: var(--1px, 1px);
	}

.Txt-Upper { text-transform: uppercase;  }
.Txt-Lower { text-transform: lowercase;  }
.Txt-Cap   { text-transform: capitalize; }

.Font-Awesome {
	font-family: "FontAwesome", sans-serif;
	font-style: normal;
	font-weight: normal;
	}

.Font-Antonio       { font-family: "Antonio", sans-serif;       }
.Font-Montserrat    { font-family: "Montserrat", sans-serif;    }
.Font-PosteramaText { font-family: "PosteramaText", sans-serif; }
.Font-Town80Text    { font-family: "Town80Text", sans-serif;    }

/**********************************************************
// Gutenberg Post Styles
**********************************************************/
.post p.has-medium-font-size { line-height: 1.5em; }
.post p.has-large-font-size  { line-height: 1.5em; }
.post p.has-huge-font-size   { line-height: 1.5em; }

.post p.has-background {
	padding-left: var(--10px, 10px);
	padding-right: var(--10px, 10px);
	}

.post .alignwide {
    margin-left: -5rem;
    margin-right: -5rem;
	}

.post .alignfull > img { width: 100vw; }
.post .alignfull {
    margin-left:  calc( -100vw / 2 + 100% / 2 ) !important;
    margin-right: calc( -100vw / 2 + 100% / 2 ) !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
	}

@media /* 1200px */
all and (max-width: 75rem),
all and (max-device-width: 75rem)
{
	.post .alignwide {
	    margin-left: auto;
	    margin-right: auto;
		}
}

/**********************************************************
// Post / Entry >> List Styles
**********************************************************/
.Entry ol, .post ol,
.Entry ul, .post ul {
	margin-left: var(--20px, 20px);
	padding: var(--10px, 10px) 0 var(--10px, 10px) var(--20px, 20px);
	line-height: 1.5em;
	}

.Entry ol, .post ol { list-style-type: decimal; }
.Entry ul, .post ul { list-style-type: disc; }

.Entry li, .post li {
	margin-top: var(--5px, 5px);
	padding-left: var(--5px, 5px);
	padding-bottom: var(--5px, 5px);
	position: relative;
	}

/**********************************************************
// Wrappers
**********************************************************/
#Wrapper-Outer {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1000;
	}

#Wrapper-Inner {
	margin: auto;
	width: 100%;
	max-width: 100%;
	min-width: var(--300px, 300px);
	}

/**********************************************************
// Content
**********************************************************/
.Content {
	margin: auto;
	padding: var(--40px, 40px) var(--10px, 10px);
	width: 100%;
	max-width: 68.125rem;
	}

.Content-Left {
	width: 100%;
	max-width: var(--700px, 700px);
	float: left;
	}

.Content-Right {
	width: 100%;
	max-width: var(--300px, 300px);
	float: right;
	}

.Content-Full {
	margin: auto;
	width: 100%;
	max-width: var(--900px, 900px);
	}

/**********************************************************
// General Content
**********************************************************/
.aligncenter,
div.aligncenter {
	margin: var(--15px, 15px) auto;
	display: block;
	}

.alignnone,
div.alignnone {
	margin: var(--15px, 15px) 0;
	display: inline-block;
	}

.alignleft,
div.alignleft {
	margin: 0 var(--15px, 15px) var(--15px, 15px) 0;
	display: block;
	float: left;
	}

.alignright,
div.alignright {
	margin: 0 0 var(--15px, 15px) var(--15px, 15px);
	display: block;
	float: right;
	}

.sticky-post {
	text-transform: uppercase;
	line-height: 1.5em;
	font-size: var(--14px, 14px);
	color: #686868;
	display: block;
	}

.bypostauthor > article .fn:after {
	font: normal normal normal var(--14px, 14px) FontAwesome;
	content: "\f007";
	position: relative;
	display: none;
	}

.wp-caption { max-width: 100%; }
figcaption.wp-caption-text {
	margin: auto;
	line-height: 1.3em;
	text-align: center;
	font-style: italic;
	font-size: var(--15px, 15px);
	}

/**********************************************************
// Mobile Navigation
**********************************************************/
.Mobile-Nav {
	width: var(--200px, 200px);
	box-shadow: inset var(--1px, 1px) 0 var(--2px, 2px) rgba(0, 0, 0, 0.2);
	overflow: hidden;
	position: fixed;
	z-index: 9000;
	right: calc( var(--200px, 200px) * -1 );
	bottom: 0;
	top: 0;
	}

.Mobile-Nav-Outer {
	width: 15.625rem;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	}

.Mobile-Nav-Inner {
	width: var(--200px, 200px);
	float: left;
	}

.Mobile-Nav-Links li {
	width: 100%;
	min-height: var(--20px, 20px);
	line-height: var(--20px, 20px);
	border-bottom: var(--1px, 1px) solid rgba(0, 0, 0, 0.1);
	}

.Mobile-Nav-Links li ul {
	margin: 0;
	padding: 0;
	border-top: var(--1px, 1px) solid rgba(0, 0, 0, 0.1);
	}

.Mobile-Nav-Links li ul li {
	width: 100%;
	min-height: var(--20px, 20px);
	line-height: var(--20px, 20px);
	border-bottom: var(--1px, 1px) solid rgba(0, 0, 0, 0.1);
	}

.Mobile-Nav-Links li ul li:last-child { border-bottom: 0; }

.Mobile-Nav-Links a {
	padding: var(--10px, 10px) 0 var(--10px, 10px) var(--20px, 20px);
	display: block;
	-webkit-transition: background 0.1s ease-in-out;
	   -moz-transition: background 0.1s ease-in-out;
	    -ms-transition: background 0.1s ease-in-out;
	     -o-transition: background 0.1s ease-in-out;
	        transition: background 0.1s ease-in-out;
	}

.Mobile-Nav-Links a:hover {
	text-decoration: none;
	background-color: rgba(0, 0, 0, 0.05);
	}

.Mobile-Nav-Links li ul li a { padding-left: var(--40px, 40px); }

.Mobile-Nav-Close {
	width: 100%;
	height: 100%;
	display: none;
	position: fixed;
	z-index: 9999;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	}

/**********************************************************
// General >> Background >> Thumbnail
**********************************************************/
.BG-Thumb {
	overflow: hidden;
	position: relative;
	}

.BG-Thumb:after {
	padding-bottom: 150%;
    content: '';
    display: block;
	}

.BG-Thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: top center;
	position: relative;
	z-index: 1000;
	}

/**********************************************************
// Sidebar
**********************************************************/
.Sidebar .widget { margin-top: var(--60px, 60px); }
.Sidebar aside:first-child { margin-top: 0; }

/**********************************************************
// Sidebar >> Widget - Profile
**********************************************************/
.AF-Widget-Profile { text-align: center; }
.AF-Widget-Profile-Image {
	line-height: 0;
	font-size: 0;
	}

.AF-Widget-Profile-Title .widget-title {
	margin-top: var(--15px, 15px);
	margin-bottom: 0;
	}

.AF-Widget-Profile-Text {
	padding-top: var(--10px, 10px);
	line-height: 1.5em;
	font-size: var(--14px, 14px);
	}

.AF-Widget-Profile-Link a {
	text-transform: uppercase;
	letter-spacing: var(--1px, 1px);
	font-size: var(--14px, 14px);
	display: inline-block;
	}

.AF-Widget-Profile-Link a.Link { font-weight: 600; }
.AF-Widget-Profile-Link a.Button:hover { background: #DDD; }
.AF-Widget-Profile-Link a.Button {
	margin-top: var(--15px, 15px);
	padding: var(--3px, 3px) var(--17px, 17px);
	border-radius: var(--3px, 3px);
	font-weight: 500;
	background: #EEE;
	}

/**********************************************************
// Sidebar >> Widget - Image
**********************************************************/
.AF-Widget-Image {
	text-align: center;
	line-height: 0;
	font-size: 0;
	}

.AF-Widget-Image a { display: inline-block; }
.AF-Widget-Image-Title .widget-title {
	margin-top: var(--10px, 10px);
	margin-bottom: 0;
	}

/**********************************************************
// Gutenberg Block >> Gallery
**********************************************************/
.wp-block-gallery li { padding: 0 !important; }
.wp-block-gallery li:before { display: none; }
.wp-block-gallery img { margin: auto; }

/**********************************************************
// WordPress Gallery
**********************************************************/
.gallery { margin-bottom: var(--20px, 20px); }

.gallery:before,
.gallery:after {
	content: "";
	display: table;
	}

.gallery:after { clear: both; }

.gallery-item {
	margin: 0 var(--4px, 4px) var(--4px, 4px) 0;
	overflow: hidden;
	position: relative;
	line-height: 0;
	float: left;
	}

.gallery-columns-1 .gallery-item { max-width: 100%; }

.gallery-columns-2 .gallery-item {
	max-width: 48%;
	max-width: -webkit-calc(50% - var(--4px, 4px) );
	max-width:         calc(50% - var(--4px, 4px) );
	}

.gallery-columns-3 .gallery-item {
	max-width: 32%;
	max-width: -webkit-calc(33.3% - var(--4px, 4px) );
	max-width:         calc(33.3% - var(--4px, 4px) );
	}

.gallery-columns-4 .gallery-item {
	max-width: 23%;
	max-width: -webkit-calc(25% - var(--4px, 4px) );
	max-width:         calc(25% - var(--4px, 4px) );
	}

.gallery-columns-5 .gallery-item {
	max-width: 19%;
	max-width: -webkit-calc(20% - var(--4px, 4px) );
	max-width:         calc(20% - var(--4px, 4px) );
	}

.gallery-columns-6 .gallery-item {
	max-width: 15%;
	max-width: -webkit-calc(16.7% - var(--4px, 4px) );
	max-width:         calc(16.7% - var(--4px, 4px) );
	}

.gallery-columns-7 .gallery-item {
	max-width: 13%;
	max-width: -webkit-calc(14.28% - var(--4px, 4px) );
	max-width:         calc(14.28% - var(--4px, 4px) );
	}

.gallery-columns-8 .gallery-item {
	max-width: 11%;
	max-width: -webkit-calc(12.5% - var(--4px, 4px) );
	max-width:         calc(12.5% - var(--4px, 4px) );
	}

.gallery-columns-9 .gallery-item {
	max-width: 9%;
	max-width: -webkit-calc(11.1% - var(--4px, 4px) );
	max-width:         calc(11.1% - var(--4px, 4px) );
	}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n) { margin-right: 0; }

.gallery-columns-1.gallery-size-medium figure.gallery-item:nth-of-type(1n+1),
.gallery-columns-1.gallery-size-thumbnail figure.gallery-item:nth-of-type(1n+1),
.gallery-columns-2.gallery-size-thumbnail figure.gallery-item:nth-of-type(2n+1),
.gallery-columns-3.gallery-size-thumbnail figure.gallery-item:nth-of-type(3n+1) { clear: left; }

.gallery-caption {
	margin: 0;
	padding: 25% var(--8px, 8px) 0 var(--8px, 8px);
	width: 100%;
	max-width: 100%;
	max-height: 100%;
	line-height: 1.5;
	background: rgba(0, 0, 0, 0.58);
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
	color: #FFF;
	font-size: var(--20px, 20px);
	opacity: 0;
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
	text-align: center;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	}

.gallery-item:hover .gallery-caption { opacity: 1; }

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption { display: none; }
