/*
Theme Name: GutenTheme
Theme URI: http://wordpress.org/
Description: Custom Gutenberg Theme
Author: The Graphix Works
Version: 5.0
Tags: blank
Text Domain: gutentheme
*/

/*	Global Colours
	
*/

/* Reset All */

* {
	margin: 0px;
	padding: 0px;
}

body {
	font-family: var(--theme-font-body);
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	background-color: white;
}

a {
	color: #000000;
}

a:hover {
	text-decoration: none;	
}

a img {
	border: none;
}

h1 { /* The Only Heading Potentially not in a Block */
	
}

.block-grid {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

body {
	position: relative;
}

header {
	width: 100%;
	padding:10px 0;
}

header .logo img {
	width: 150px;
	height: auto;
}

a.theme-button {
	position: relative;
	font-weight: 400;
	text-transform: none;
	font-size: clamp(15px, calc(100vw * (24/1440)), 24px);
	line-height: 1.1;
	padding: clamp(10px, calc(100vw * (15/1440)), 15px) clamp(20px, calc(100vw * (30/1440)), 30px);
	display: inline-block;
	text-decoration: none;
	color: #FFFFFF;
	background-color: var(--theme-color-primary);
	transition: all 0.3s ease-out;
}

a.theme-button:hover,
a.theme-button:focus-within {
	background-color: var(--theme-color-secondary);
}

/* To allow div to vertical center, apply height to grid */
#specificDiv .grid-container > .grid-x {
	height: 740px;
}

.allPosts .post {
	padding-bottom: 20px;
}

footer {
	padding: 10px;
	font-size: 14px;
}

/*= Accessibility
-------------------------------------------------------------- */
a:focus-visible,
input.gform_button:focus-visible {
	outline: 2px dotted var(--theme-color-primary);
	outline-offset: 2px;
}

/* =Alignment Classes
-------------------------------------------------------------- */
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-justify {
  text-align: justify;
}

/* =Menu
-------------------------------------------------------------- */
nav {
	display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
	transition: all 0.5s ease-out;
}

nav ul,
nav ul li {
	margin-bottom: 0px;
}

nav li.promote-btn a {
	background-color: var(--theme-color-secondary);
	color:white;
	border-radius: 4px;
	padding:15px 20px;
	text-align: center;
	text-transform: uppercase;
	transition:all 0.3s;
	margin-left: 10px;
}

nav li.promote-btn a:hover {
	color:white;
	background-color: var(--theme-color-secondary-roll);
}

nav ul {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* Change Alignment of Nav Items Here */
	list-style: none;
	z-index: 999;
	padding-left: 0px;
}

nav ul li {
	display: flex;
	align-items: center;
	position: relative;
}

nav li a,
.menu-link {
	font-size: 15px;
	line-height: 1;
}

nav li a {
	display: flex;
    flex: 0 1 auto;
	color: #202020;
    padding: 10px 20px;
    max-width: 250px;
    text-decoration: none;
	transition: all 0.3s;
	font-family: var(--theme-font-heading);
	text-transform: uppercase;
}

/* Dropdown Appearance */
nav ul ul, /* 1st Dropdown */
nav ul ul ul, /* 2nd Dropdown */
nav ul ul ul ul { /* 3rd Dropdown */
	position: absolute;
	left: 0px;
	top: 100%;
	min-width: 175px;
	background-color: var(--theme-color-primary);
}

nav ul ul ul, /* 2nd Dropdown */
nav ul ul ul ul { /* 3rd Dropdown */
	left: 100%;
	top: 0px;
}

/* Hover States */
nav ul li:hover a,
nav ul li:focus-within a { /* Top Level */
	color: var(--theme-color-primary);
}

nav ul ul li:hover a,
nav ul ul li:focus-within a { /* 1st Dropdown */
	background-color: var(--theme-color-secondary);
}

nav ul ul ul li:hover a,
nav ul ul ul li:focus-within a { /* 2nd Dropdown */
	background-color: red;
}

nav ul ul ul ul li:hover a,
nav ul ul ul ul li:focus-within a { /* 3rd Dropdown */
	background-color: orange;
}

nav ul li:hover ul,
nav ul ul li:hover ul,
nav ul ul ul li:hover ul,
nav ul li:hover ul li:hover ul,
nav ul li:hover ul li:hover ul li:hover ul,
nav ul li:focus-within ul,
nav ul ul li:focus-within ul,
nav ul ul ul li:focus-within ul,
nav ul li:focus-within ul li:focus-within ul,
nav ul li:focus-within ul li:focus-within ul li:focus-within ul {
	display: block;
}

nav ul ul, /* 1st Dropdown */
nav ul ul ul, /* 2nd Dropdown */
nav ul ul ul ul, /* 3rd Dropdown */
nav ul li:hover ul ul, /* Hide 2nd on 1st Hover */
nav ul li:hover ul li:hover ul ul,
nav ul li:focus-within ul ul, /* Hide 2nd on 1st Hover */
nav ul li:focus-within ul li:focus-within ul ul { /* Hide 3rd on 2nd Hover */ 
	display: none;
}

/* Current Page Highlight */
nav ul li.current_page_item a {
	color: var(--theme-color-primary);
}

.menu-link {
	color: #FFFFFF;
	background-color: var(--theme-color-primary);
	padding: 10px 50px 10px 20px;
	text-decoration: none;
	text-transform: uppercase;
	position: relative;
	display: none;
}

.menu-link::before {
	content: 'View ';
}

.menu-link.active::before {
	content: 'Hide ';
}

.menu-link::after {
	content: url( images/vector/menu.svg );
	width: 20px;
	right: 14px;
	top: 50%;
	margin-top: -8px;
	position: absolute;
}

/* =Auxilary Pages
-------------------------------------------------------------- */
body.search .entry-utility,
body.search .entry-meta {
	display: none;
}

body.blog .pagination {
	padding: 15px 0;
}

body.blog .pagination a,
body.blog .pagination span {
	padding: 15px;
	color: #FFFFFF;
	background-color: var(--theme-color-primary);
	transition: all 0.3s ease-out;
	text-decoration: none;
}

body.blog .pagination a:hover {
	background-color: var(--theme-color-secondary);	
}

body.blog .pagination span {
	background-color: black;
	color: #EEEEEE;
}

body.blog .pagination .columns {
	text-align: center;
}

body.blog .pagination .columns {
	text-align: center;
}

/* =Images
-------------------------------------------------------------- */
#main img {
	margin: 0;
	max-width: 100%;
}

.entry-content img {
	max-width: 1440px;
}

#main .alignleft,
#main img.alignleft {
	display: inline;
	float: left;
	margin-right: clamp(0px, calc(100vw * (125/1440)), 125px);
	margin-top: 4px;
}

#main .alignright,
#main img.alignright {
	display: inline;
	float: right;
	margin-left: clamp(0px, calc(100vw * (125/1440)), 125px);
	margin-top: 4px;
}

#main .aligncenter,
#main img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#main img.alignleft,
#main img.alignright,
#main img.aligncenter {
	margin-bottom: 12px;
}

/* =MEDIA QUERIES
-------------------------------------------------------------- */
@media only screen and (max-width: 1440px) { /* Template Width */
	
}
@media only screen and (max-width: 1023px) { /*  Medium Breakpoint  */
	
}
@media only screen and (max-width: 960px) { /* Navigation Switch */
	/* Mobile Menu */
	nav {
		line-height: 1;
	}

	nav ul li:hover > ul,
	nav ul ul li:hover > ul,
	nav ul ul ul li:hover > ul,
	nav ul li.hover ul.sub-menu li ul.sub-menu,
	nav ul li.hover ul.sub-menu li.hover ul.sub-menu li ul.sub-menu {
		display: none;
	}
	
	nav li a {
		max-width: unset;
	}

	nav ul {
		position: absolute;
		background-color: var(--theme-color-primary);
	}

	nav ul ul,
	nav ul ul ul,
	nav ul ul ul ul {
		width: 100%;
		position: relative;
		top: unset;
		left: unset;
	}

	nav ul li {
    	width: 100%;
    	border-bottom: 1px solid #666;
    }

	.active {
        display: block !important;
    }

    .menu-item-has-children {
    	width: 100%;
    	display: flex;
    	flex-wrap: wrap;
    	justify-content: space-between;
    }

    .menu-item-has-children > a,
    .menu-item-has-children .more {
    	display: flex;
    	flex: 0 1 auto;
    }

    .menu-item-has-children > a {
    	width: 80%;
    	max-width: unset;
    }

    .menu-item-has-children .more {
    	width: 20%;
    	border-left: 1px solid #666666;
    	background-color: var(--theme-color-secondary);
		padding: 5px 10px;
        cursor: pointer;
    	z-index: 200;
    	text-align: center;
    	font-size: 0px; /* remove blank space */
    }

    .menu-item-has-children .more:after {
    	content: '+';
		color: #FFFFFF;
		font-size: 25px;
		line-height: 1.2;
		font-family: Arial, Helvetica, sans-serif;
		display: inline-block;
		margin: 0px auto;
    }

	li.hover.menu-item-has-children > .more:after {
		content: '-';
	}

	nav ul li.hover > ul.sub-menu,
	nav ul li.hover ul.sub-menu li.hover ul.sub-menu,
	nav ul li.hover ul.sub-menu li.hover ul.sub-menu li.hover ul.sub-menu {
		display: block;
	}
}

@media only screen and (max-width: 639px) { /* Small Breakpoint */
	.footer span.pipe {
		display: none;
	}

	.footer span.design {
		display: block;
	}
}