
/* ######################## CSS Reset ########################
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	/*vertical-align: baseline;*/
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
em {
	font-style: italic;
 }
/* ################################################ */



/* ########################General styles ######################## */
* { font-family: Arial, Helvetica, sans-serif; }
strong { font-weight: bold; }



/* ########################
Header styles
######################## */



/* ########################
Navigation styles
######################## */
.nav { border-bottom: 0; margin: 0; background-color: #0CF; }
.nav li a { display: block; text-decoration: none; padding: 0.75em; }
.nav li ul.sub-menu li a, .nav li ul.children li a { padding-left: 30px; }
.nav { border: 0; }
.nav ul { background: #0CF; margin-top: 0; list-style: none; padding-left: 0px; }
.nav li { float: left; position: relative; }
.nav li a { border-bottom: 0; }
.nav li a:hover, .nav li a:focus { color: white; }
.nav li ul.sub-menu, .nav li ul.children { margin-top: 0; border: 1px solid #ccc; border-top: 0; position: absolute; visibility: hidden; z-index: 8999; }
.nav li ul.sub-menu li a, .nav li ul.children li a { padding-left: 10px; border-right: 0; display: block; width: 180px; border-bottom: 1px solid #ccc; }
.nav li ul.sub-menu li:last-child a, .nav li ul.children li:last-child a { border-bottom: 0; }
.nav li ul.sub-menu li ul, .nav li ul.children li ul { top: 0; left: 100%; }
.nav li:hover > ul { top: auto; visibility: visible; }



/* ########################
Content styles
######################## */
.main img { max-width: 100%; max-height: 100%; }
.main .wp-block-gallery img { width: 100%; height: 100%; }
img.alignright { float: right; margin: 0 0 1em 1em; }
img.alignleft { float: left; margin: 0 1em 1em 0; }
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-block-columns { margin-bottom: 1.75em; }
.wp-block-columns .wp-block-column p:last-child { padding-bottom: 0; margin-bottom: 0; }
p:has(+ hr) { padding-bottom: 0; margin-bottom: 0; }
.wp-block-separator { border-color: var(--secondary); margin: 1.75em 0; }


/* Element Padding */
.pad-top { padding-top: 5%; }
.pad-bottom { padding-bottom: 5%; }
.pad-top-bottom { padding-top: 5%; padding-bottom: 5%; }
.pad-left { padding-left: 5%; }
.pad-right { padding-right: 5%; }
.pad-left-right, .pad-default { padding-left: 5%; padding-right: 5%; }
.pad-all { padding: 5%; }


/* Aspect Ratios */
.Fit-Content { height: auto; }
.Square { aspect-ratio: 1/1; }
.Four-to-Three { aspect-ratio: 4/3; }
.Three-to-Four { aspect-ratio: 3/4; }
.Three-to-Two { aspect-ratio: 3/2; }
.Two-to-Three { aspect-ratio: 2/3; }
.Sixteen-to-Nine { aspect-ratio: 16/9; }
.Nine-to-Sixteen { aspect-ratio: 9/16; }
.TwentyOne-to-Nine { aspect-ratio: 21/9; }
.ThirtyTwo-to-Nine { aspect-ratio: 32/9; }



/* ########################
404 Page styles
######################## */
body.error404 #content { min-height: 650px; }
body.error404 .content h1.page-title { font-size: 150px; line-height: 150px; text-align: center; margin-bottom: 10px; }
body.error404 .content .article-header h2 { font-size: 30px; line-height: normal; text-align: center; margin-bottom: 30px; }
body.error404 .content p { font-size: 20px; line-height: normal; text-align: center; }
body.error404 .content a.button { background-color: #000; color: #fff; font-size: 16px; line-height: 16px; text-align: center; display: block; width: 200px; padding: 20px; border: 2px solid #fff; border-radius: 25px; margin: 20px auto; }
body.error404 .content a.button:hover { text-decoration: none; opacity: 0.7; }



 /* ########################
Footer styles
######################## */



/* ########################
Button styles
######################## */
.buttons { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; justify-content: flex-start; flex-wrap: wrap; gap: 0.5em; }
.wp-block-buttons { gap: 0.5em; }
a.button, a.wp-block-button__link { background-color: #E87200; color: #fff; font-size: 20px; font-weight: 400; text-align: center; text-decoration: none; display: inline-block; min-width: 170px; padding: 10px 20px; border: 1px solid #E87200; border-radius: 3px !important; }
a.button:hover, a.wp-block-button__link:hover { background-color: transparent; color: #232D3E; border-color: #232D3E; }



/* ########################
Blog/News Posts styles
######################## */
.blog-grid { justify-content: space-between; gap: 40px 20px; }
.blog-grid h3 { font-size: 1.1em; line-height: 1.3em; padding-bottom: 0px; }
.blog-grid p.post-date { padding-bottom: 5px; font-size: 0.8em; }
.blog-grid p.post-excerpt { font-size: 0.8em; }

.blog-grid .blog-grid-item { padding: 0px; }

.blog-grid .d-1of2.blog-grid-item { width: calc(50% - 10px); flex-basis: calc(50% - 10px); }
.blog-grid .d-1of3.blog-grid-item { width: calc(33.3333333333% - 13.33333333333333px); flex-basis: calc(33.3333333333% - 13.33333333333333px); }
.blog-grid .d-1of4.blog-grid-item { width: calc(25% - 15px); flex-basis: calc(25% - 15px); }

.blog-grid.latest { justify-content: flex-start; }
.blog-grid.latest h1 { width: 100%; }
.blog-grid-item { display: flex; text-align: center; padding: 0 1%; }
.blog-grid-item .post-wrap { display: flex; flex-direction: column; }
.blog-grid-item .post-wrap p { flex: 1 0 auto; padding-bottom: 0.8em; }
.blog-grid-item .post-image { margin-bottom: 20px; }
.blog-grid-item a.button, #content .all-blog .blog-grid-item a.button { width: fit-content; margin-left: auto; margin-right: auto; }
.blog-grid-item a.readMore { color: #fff; text-decoration: underline; width: fit-content; display: block; margin: 0 auto 2em auto; }
.blog-grid-item a.readMore:hover { color: #95C11F; }
.blog .view-all { margin-top: 1em; margin-bottom: 1em; }

/*Blog Page*/
.all-blog.blog-grid { padding-left: 5%; padding-right: 5%; }

/* Featured Image - Different Aspect Ratios Fix */
.post-image-container { position: relative; padding-top: 66.66%; margin-bottom: 20px; }
.post-image-container a { position: absolute; height: 100%; width: 100%; line-height: 0; top: 0; left: 0; }
.post-image-container img, .main .post-image-container img { width: 100%; height: 100%; object-fit: cover; }

/* Latest News */
.latest-blog .blog-grid-item a.button { margin-bottom: 0; }
.latest-blog .view-all { width: 100%; flex-basis: 100%; display: flex; justify-content: center; margin-top: 0; margin-bottom: 0; }
.latest-blog .view-all a.button { width: 30%; margin-bottom: 0; }

/*Single Post*/
body.single .post-featured-image { margin-bottom: 1.5em; }
body.single p.byline.entry-meta { color: #95C11F; }



/* ########################
Pagination styles
######################## */
.pagination, #content .pagination { text-align: center; width: 100%; clear: both; padding: 20px 0px; }
.pagination ul, #content .pagination ul { display: inline-block; background-color: #fff; white-space: nowrap; padding: 0; margin: 0; clear: both; border-radius: 3px; }
.pagination li, #content .pagination li { padding: 0; margin: 0; float: left; display: inline; overflow: hidden; border-right: 1px solid #eaedf2; }
.pagination a, .pagination span, #content .pagination a, #content .pagination span { margin: 0; text-decoration: none; padding: 0; line-height: 14px; font-size: 14px; font-weight: normal; padding: 0.75em; min-width: 1em; display: block; color: #2592E9; }
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus { background-color: #2592E9 !important; color: #fff !important; }
.pagination .current, #content .pagination .current { cursor: default; color: #fff !important; background-color: #2592E9; }
.pagination .current:hover, .pagination .current:focus { background-color: #2592E9; color: #fff !important; }

/*==================== Pagination - copy into style.css to overwrite ====================*/
	.pagination ul, #content .pagination ul { background-color: #fff; }
	.pagination li, #content .pagination li { border-right: 1px solid #eaedf2; }
	.pagination a, .pagination span, #content .pagination a, #content .pagination span { color: #2592E9; }
	.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus { background-color: #2592E9 !important; color: #fff !important; }
	.pagination .current, #content .pagination .current { color: #fff !important; background-color: #2592E9; }
	.pagination .current:hover, .pagination .current:focus { background-color: #2592E9; color: #fff !important; }
/**/



/*==================== Gutenberg Blocks ====================*/

	/* ----- Accordion Block ----- */
	.c-accordion__title, .inner-content .c-accordion__title { background-color: #000000; color: #fff; font-size: 1.2em; font-weight: normal; text-align: left; padding: 20px; padding-right: 40px; margin-bottom: 10px; }
	.c-accordion__title:after { color: #fff; font-size: 25px; right: 20px; }
	.wp-block-pb-accordion-item.is-open .c-accordion__title { margin-bottom: 20px; }
	.wp-block-pb-accordion-item:last-of-type { margin-bottom: 1em; }

	/* ----- Details Block (WordPress Show/Hide Block) ----- */
	.wp-block-details { user-select: none; margin-bottom: 10px; }
	.wp-block-details summary { background-color: #000; color: #fff; font-size: 1em; font-weight: normal; padding: 20px; cursor: pointer; transition: margin 150ms ease-out; }
	.wp-block-details.large summary { font-size: 1.2em; }
	.wp-block-details[open] summary { margin-bottom: 10px; }
	.wp-block-details summary ~ * { padding-left: 20px; padding-right: 20px; }

	/* ----- Gallery Block ----- */
	.wp-block-gallery.has-nested-images.gallery-1-1 figure.wp-block-image { aspect-ratio: 1/1; }
	.wp-block-gallery.has-nested-images.gallery-4-3 figure.wp-block-image { aspect-ratio: 4/3; }
	.wp-block-gallery.has-nested-images.gallery-3-2 figure.wp-block-image { aspect-ratio: 3/2; }
	.wp-block-gallery.has-nested-images.gallery-16-9 figure.wp-block-image { aspect-ratio: 16/9; }
	.wp-block-gallery.has-nested-images.gallery-21-9 figure.wp-block-image { aspect-ratio: 21/9; }
	.wp-block-gallery.has-nested-images.gallery-32-9 figure.wp-block-image { aspect-ratio: 32/9; }


/*==================== Responsive Lightbox (Plugin) ====================*/
	.tos-wrapper.tos-fixed { z-index: 999999; }



/*==================== Responsive - Media Queries ====================*/

	@media (max-width: 1439px)
	{
		.inner-content { padding-left: 5%; padding-right: 5%; }
		body.fullWidth .inner-content { padding-left: 0; padding-right: 0; }
		body.fullWidth .inner-width { padding-left: 5%; padding-right: 5%; }
	}
	@media (max-width: 1280px)
	{
		/*Small Desktop*/
		.blog-grid .sd-1of3.blog-grid-item { width: calc(33.3333333333% - 13.33333333333333px); flex-basis: calc(33.3333333333% - 13.33333333333333px); }
		.blog-grid .sd-1of2.blog-grid-item { width: calc(50% - 10px); flex-basis: calc(50% - 10px); }
		.blog-grid .sd-all.blog-grid-item { width: 100%; flex-basis: 100%; }
		body.fullWidth .tablet-width { padding-left: 5%; padding-right: 5%; }
	}
	@media (max-width: 1029px)
	{
		/*Tablet*/
		.blog-grid .t-1of3.blog-grid-item { width: calc(33.3333333333% - 13.33333333333333px); flex-basis: calc(33.3333333333% - 13.33333333333333px); }
		.blog-grid .t-1of2.blog-grid-item { width: calc(50% - 10px); flex-basis: calc(50% - 10px); }
		.blog-grid .t-all.blog-grid-item { width: 100%; flex-basis: 100%; }
		body.fullWidth .post-width { padding-left: 5%; padding-right: 5%; }
	}
	@media (max-width: 960px)
	{
		body.fullWidth .mobile-width { padding-left: 5%; padding-right: 5%; }
	}
	@media (max-width: 767px)
	{
		/*Mobile*/
		.blog-grid .m-1of3.blog-grid-item { width: calc(33.3333333333% - 13.33333333333333px); flex-basis: calc(33.3333333333% - 13.33333333333333px); }
		.blog-grid .m-1of2.blog-grid-item { width: calc(50% - 10px); flex-basis: calc(50% - 10px); }
		.blog-grid .m-all.blog-grid-item { width: 100%; flex-basis: 100%; }
		.latest-blog .view-all a.button { width: 50%; }
		.blog-grid h3 { font-size: var(--fs-h3); }
		.blog-grid p.post-excerpt { font-size: var(--fs-normal); }
	}
	@media (max-width: 599px)
	{
		/*WordPress Mobile*/
		body.single .wp-block-image figure { width: 100%; text-align: center; }
	}
	@media (max-width: 480px)
	{
		/*Small Mobile*/
		.blog-grid .sm-1of3.blog-grid-item { width: calc(33.3333333333% - 13.33333333333333px); flex-basis: calc(33.3333333333% - 13.33333333333333px); }
		.blog-grid .sm-1of2.blog-grid-item { width: calc(50% - 10px); flex-basis: calc(50% - 10px); }
		.blog-grid .sm-all.blog-grid-item { width: 100%; flex-basis: 100%; }
		.latest-blog .view-all a.button { width: 75%; }
		.buttons, .buttons > .button, .wp-block-buttons, .wp-block-buttons > .wp-block-button, .wp-block-buttons > .wp-block-button .wp-block-button__link { width: 100%; }
	}
