/*---------------------------------------------------------------------------------

	Theme Name: Five Horizons 2023
    Text Domain: five-horizons
	Version: 2.1.1

-----------------------------------------------------------------------------------
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans:ital,wght@0,100;0,300;0,400;0,500;0,700;0,800;0,900;1,100;1,300;1,400;1,500;1,700;1,800;1,900&display=swap');
@import url('pallette2.css');


* {
	--headerHeight:			20vh;
	margin:					0;
	font-family: 			var(--headingFont), san-serif;
	transition:				250ms;
	box-sizing:				border-box;
	color:					var(--pallette1);
}
label {
	font-family:			var(--headingFont);
	font-size:				0.8em;
	text-transform:			lowercase;
	font-variant:			small-caps;
	letter-spacing:			1px;
}

body {
	font-size:				1.25em;
	font-size:				1em;
	background:				var(--bgColor);
}
h1, h2, h3, h4 {
    margin-bottom:          1em;
	font-family:			var(--headerFont);
}
strong {
}

p {
	line-height:			150%;
	margin-bottom:			1em;
	color:					var(--pallette1);
}

ul.book-contents::-webkit-scrollbar,
#main-content::-webkit-scrollbar {
  width: 					1px;               	/* width of the entire scrollbar */
  margin-right:2em;
}

ul.book-contents::-webkit-scrollbar-track
#main-content::-webkit-scrollbar-track {
  background: 				#d4ddd777;        		/* color of the tracking area */
}

ul.book-contents::-webkit-scrollbar-thumb,
#main-content::-webkit-scrollbar-thumb {
  background-color: 		#ffffff22;  			/* color of the scroll thumb */
}
li.page_item {
    list-style: none;
}


/* STRUCTURE */
#left-panel 	{ 			grid-area: left-panel; }
#site-title		{			grid-area: site-title; }
#collection-contents 	{ 	grid-area: collection-content; }
#page-title 	{ 			grid-area: page-title; height: var(--headerHeight); }
#menu 			{			grid-area: menu; position: relative; top: 50%; transform: translate(0, -50%);}
#main-content 	{ 			grid-area: main; overflow:auto; padding:0em 1em 0.5em 1em; }
#submenu 		{ 			grid-area: submenu; }
#footer 		{ 			grid-area: footer;}


/* STYLE */
#left-panel 	{ 			overflow: hidden; }
#site-title		{			}
#collection-contents 	{ 	background-color: var(--pallette5); overflow: hidden; }
#page-title 	{ 			/*background-color: var(--pallette5);*/ padding: 0em 3em 0em 3em; }
#menu 			{ 			text-align: right; }
#main-content 	{ 			/*background-color: var(--pallette5);*/ overflow:auto; padding:0em 3em 0.5em 3em; }
#submenu 		{ 			/*background-color: var(--pallette5);*/ }
#footer 		{ 			background-color: var(--pallette2); text-align:center; }

#grid-container {
	display: 				grid;
	transition:				1000ms;
	grid-template-areas:
							'site-title left-panel collection-content page-title page-title'
							'site-title left-panel collection-content main submenu';
	grid-template-rows: 	var(--headerHeight) calc(100vh - var(--headerHeight)) ;
	grid-template-columns:	2em 0em 20em 1fr 3em;
	
	&.menu-open {
		display:				grid;
		transition:				1000ms;
		grid-template-columns:	2em 15em 20em 1fr 3em ;
		&.show-contents {
			grid-template-columns:	2em 15em 0em 1fr 3em ;
		}
	}
	&.show-contents {
		
		display:				grid;
		transition:				1000ms;
		grid-template-columns:	2em 0em 0em 1fr 3em ;
		&.menu-open {
			grid-template-columns:	2em 15em 0em 1fr 3em ;
		}
	}
}
.menu-open #left-panel {
    padding-right: 1em;
}

.menu-open ul.main-menu li a {
	font-size:1.5em;
}
.menu-open div#menu::before {
	font-size:3em;
}

.grid-container > div {
}
.poetry, .no-cols {
	column-count: 1 !important;
}

div#menu::before {
		content: 'five horizons';
		color: #fff;
		font-size: 0em;
		font-weight: 900;
		width: 100%;
		display: block;
		margin-top: -2em;
		margin-bottom: 1em;
}

div#main-content-wrapper blockquote {
	column-span: all;
}

#menu li		{ 
	color: #44444400; /*default state is transparent, overridden by .menu-open class */
}

blockquote {    
    /*background:var(--pallette2);
    border-top: solid 1px var(--pallette2);
    border-bottom: solid 1px var(--pallette2);
    */
	margin-bottom:1em;
    text-align:center;
	padding: 0.5em;
    font-style: italic;
	border-radius:10px;
}
p.has-text-align-center {
	text-align:center;
}

cite {
    display:block;
    font-size: 1em;
}

#main-content p, blockquote, cite, cite strong, strong, em {
	font-family: 'Alegreya';
	font-size:1em;
}


#page-title h2 {
    font-family: var(--headerFont);
    color: var(--pallette1);
	font-weight:900;
	text-transform: uppercase; 
    text-align: center;
	margin-right: 2em;
    top: calc(50%);
    position: relative;
    font-size: 2em;
	
}
#page-title h2::after {
    content: "click for contents";
    display: block;
    font-size: 0.5em;
    color: #44444455;
    font-weight: 500;
}

.show-contents #page-title h2 {
}
.sub-page-links,
.nav-links {
	font-size:0.8em;
	margin-bottom: 3em;
	margin-top: 3em;
}
.nav-links a,
.sub-page-links a {
	text-decoration:none;
	color:#444;	
}

.nav-previous {
    display: inline-block;
    left: 0em;
    width: 50%;
}
.nav-previous:before {
    content: '\2BC7\2BC7 ';
    color: #aaa;
    letter-spacing: -5px;
    margin-right: 7px;
}

.nav-next:after {
    content: '\2BC8\2BC8 ';
    color: #aaa;
    letter-spacing: -5px;
    margin-left: 7px;
}

.nav-next {
    display: inline-block;
    width: 50%;
    text-align: right;
}
.sub-page-links a {
	color: #333;
	font-weight: bold;
}

@media screen and (min-width: 2001px) { 
	div#main-content-wrapper {
    	column-count: 4;
	}
}
@media screen and (max-width: 2000px) { 
	div#main-content-wrapper {
    	column-count: 3;
	}
}
@media screen and (max-width: 1400px) { 
	div#main-content-wrapper {
    	column-count: 2;
	}
}
@media screen and (max-width: 1200px) { 
	div#main-content-wrapper {
    	column-count: 1;
	}
}


@media screen and (max-width:1000px) {
	body { 
		font-size:1.0em;
	}
		
	#grid-container {
		grid-template-areas:
			'site-title page-title'
			'site-title left-panel'
			'site-title collection-content'
			'site-title main-content'
			'site-title submenu'
			'site-title footer';
		grid-template-columns: 1em calc(100vw - 1em);
		grid-template-rows: var(--headerHeight) 1fr calc(100vh - 4*var(--headerHeight)) 1em;
	}
	
	#grid-container .menu-open {
	    grid-template-areas:
			'site-title'
        	'page-title'
        	'left-panel'
        	'menu'
        	'main'
        	'submenu'
        	'footer';
   		grid-template-columns: 100vw;
	}
	
	
	
	h1, h2, h3, h4 {
		text-align: center;
	}
}

#main-content h2 {
	top:					0px;
	text-align:				center;

    border-bottom: solid 1px;
    border-image: -webkit-linear-gradient(left, #ffffff00, #ffffff99, #ffffff00);
    border-image-slice: 1;
    margin-bottom: 1em;
    padding-bottom: 1em;
}

#main-content {
}

h1, h2, h3, h4 {
	font-weight:			bold;
}

.content-footer {
    position: sticky;
    bottom: -13px;
    z-index: 19;
    height: calc(0.5*var(--headerHeight));
	background-image: linear-gradient(var(--pallette5tr1) 0%, var(--pallette5) 60%, var(--pallette5));
}

.site-title {
	display:grid;
	height: 100vh;
	width:100%;
}

.site-title a {
	transform-origin: 0 0;
    transform: rotate(-90deg);
    font-family: var(--headerFont);
    color: var(--pallette5);
    z-index: 25;
    text-decoration: none;
    font-size: 1.1em;
    letter-spacing: -1px;
    font-weight: 600;
    display: block;
    bottom: 0em;
    left: 0.25em;
    position: fixed;
	
}
.menu-header:before {

}

.menu-header {
	font-family:		var(--headerFont);
	color: 				#fff;
	position: 			relative;
	font-size: 			8em;
	font-weight: 		bold;
	opacity: 			0.1;
	display: 			block;
	text-align: 		center;
	top:				0px;
	width:				100%;
}


div.menu-toggle {
	z-index:200;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    background: rgba(222,222,222,0.3);
    border-radius: 2em;
	top:5px;
	left:5px;
	padding-top:0px;
	margin-top:0px;
}


div.menu-toggle:before {
    font-family: var(--headerFont);
    content: '\002630';
    text-align: center;
    color: #fff;
    font-size: 1em;
    opacity: 1;
    width: 100%;
    display: inline-block;
}

#grid-container.menu-open .menu-toggle:before {
    width: 1em;
    content: "x";
    color: rgba(255, 255, 255, 1);
    font-family: var(--headerFont);
    text-align: center;
    color: #fff;
    font-size: 1em;
    opacity: 1;
    width: 100%;
    display: inline-block;
    height: 1em;
    vertical-align: middle;
}

.menu-wrapper {

}
ul.main-menu li  {
    font-family: 					var(--headerFont);
	list-style-type:				none;
	font-size:	 					1.5em;
    text-align: 					right;
    line-height: 					1.25;
    margin-bottom: 					12px;
	font-weight:					500;
	letter-spacing:					-1px;
}

ul.main-menu li a {
	
    font-family: 					var(--headerFont);
	font-weight:					900;
	list-style-type:				none;
	font-size:	 					0em;
    text-align: 					right;
    line-height: 					1.25;
    margin-bottom: 					12px;
	text-decoration:				none;
}
ul.main-menu li a:hover {
}

ul.main-menu li a:hover:before {
    content: ' | ';
    color: orange;
}


.sub-menu li a {
	text-decoration: 				none;
	color:							#444;
	font-weight:					300;
	font-size:						1.5em;
}

div.sub-menu li {
	font-size: 						1em;
	text-decoration: 				none;
	font-weight:					300;
}

.page-title {
  height: 100px;
  width: 100px;
  background-color: tomato;
  position: relative;
}

.page-title h2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#grid-container.menu-open .site-title a {
	transform-origin: 0 0;
    transform: rotate(-90deg);
    font-family: var(--headerFont);
    color: var(--pallette5);
    z-index: 25;
    text-decoration: none;
    font-size: 0em;
    letter-spacing: -1px;
    font-weight: 600;
    display: block;
    top: 10em;
    left: 0.25em;
    position: fixed;
	height:1em;

}

#submenu label {
	display:block;
	transform: rotate(90deg);
	white-space:nowrap;
}

p.linked-pages {
    text-align: center;
	width:2em;
}
.floating-menu {
    position: fixed;
}

.floating-menu:before {
    font-family: var(--headerFont);
	font-size:		0.5em;
	text-transform	:	uppercase;
	display: block;
    content: "NAV";
    padding-bottom: 0.5em;
}
p.linked-pages a, p.linked-pages span {
    background: rgba(100, 100, 100, 0.1);
    font-family: var(--headerFont);
    font-size: 0.6em;
    font-weight: 500;
    border-radius: 30px;
    display: block;
    margin-bottom: 1em;
    width: 2.5em;
    height: 2.5em;
    text-decoration: none;
	margin: 1em auto;
}
p.linked-pages span.current {
    background: rgba(255, 255, 255, 0.7);
}

ul.book-contents {

}
ul.book-contents {
    margin-left: 0em;
    overflow-y: auto;
    overflow-x: hidden;
}
ul.book-contents {
	list-style-type: none;
    font-size: 1em;
	line-height: 2.5em;
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
    max-height: 30em;
	/*width:24em;*/

}

ul.book-contents::before {
    font-family: var(--headerFont);
    font-weight: 700;
    content: "Contents";
}

.book-contents a {
    font-family: var(--headerFont);
    font-weight: 400;
    border-bottom: 0px;
	text-decoration:none;
	color: var(--pallette1);
}
.book-contents li.current_page_item a {
	font-weight: 700;
}
.book-contents li.current_page_item a:before {
	color: orange;
}

.book-contents a:before {
	content: '\2bc8';
	color:#44444477;
	margin-left: -1.5em;
    margin-right: 0.7em;
}
.book-contents a:hover:before {
	color:#000000ee;
}


#footer {
	color: #fff;
	font-family:var(--headerFont);
	font-weight:500;
	font-size: 0.7em;
	padding-top:1em;
}

#grid-container .site-title a:before{
	content: "5H ";
	opacity: 0.9;
}
#grid-container .menu-open .site-title a:before{
	content: " ";
	opacity: 0.3;
}

#closeContents {
	font-family:var(--headerFont);
	font-weight:700;
	display: inline;
    margin-left: 10px;
}



@media screen and (max-width:1000px) {
	body { 
		font-size:1.0em;
	}
	
	div#menu::before {
		text-align:center;		
	}
		
	#grid-container {
		grid-template-areas:
			'site-title left-panel collection-content page-title page-title'
			'site-title left-panel collection-content main submenu';
		grid-template-columns: 2em 0em 0em calc(100vw - 4em) 2em;
		grid-template-rows: 3em calc(100vh - 3em);

		&.show-contents {
			display:				grid;
			transition:				1000ms;
			grid-template-columns:	2em 0em calc(100vw - 2em) 0em 0em;
			grid-template-rows:		0em 100vh;	
			transition: 			1000ms;
			&.menu-open {
				grid-template-columns:	2em calc(100vw - 2em) 0em 0em 0em;
			}
			
		}
		&.menu-open {
			display:				grid;
			transition:				1000ms;
			grid-template-columns:	2em calc(100vw - 2em) 0em 0em 0em;
			grid-template-rows:		2em calc(100vh - 2em);
		}
	}

	#left-panel {
		padding:0em;
	}
	
	div#main-content-wrapper {
    	column-count: 1;
	}
	
	ul.main-menu li {
		text-align:center;
	}
	ul.main-menu li a:hover:after {
    	content: ' | ';
    	color: orange;
	}	
	h1, h2, h3, h4 {
		text-align: left;
	}
	h2 {
		font-size: 1em;
	}
	#main-content {
		padding: 1em;
	}
	.menu-open #main-content {
		padding: 0em;
	}
	
	#page-title {
		height: 1em;
	}
	#page-title 	{ padding: 0em; }
	
	#page-title h2 {
		font-size: 1em;
		padding: 0em 1em;
		height: auto;

	}
	ul.book-contents {
		padding: 2em;
		padding: 2em;
    	width: 100%;
   		font-size: 1em;
    	text-align: center;
	}
	.main-menu li {
			text-align: center;
	}

}


ul.main-menu {
	margin:0;
	padding:0;
}



.show-contents #collection-contents * {
	color:#00000000;
}

.menu-open #menu li a {
	color:#444444ff;
	transition-duration: 1000ms;
}

.show-contents #collection-contents li a:before,
.show-contents #collection-contents * {
	color:#000000ff;
}

.sub-page-links {
	margin-top: 3em;	
}
span.page-link {
	display:inline-block;
	width:49%;
}

.sub-page-links span.next-page {
    position: relative;
    right: calc(-100% + 4em);
    display: inline-block;
}
.sub-page-links span.prev-page {
    position: relative;
    right: 0;
    display: inline-block;
}