/*!
Theme Name: Territorio
Author: Marco Reixa
*/

@font-face {
    font-family: 'Hershey Noailles Futura';
    src: url('fountain/hershey-noailles-futura-simplex-regular.eot');
    src: url('fountain/hershey-noailles-futura-simplex-regular.eot?#iefix') format('embedded-opentype'),
         url('fountain/hershey-noailles-futura-simplex-regular.woff2') format('woff2'),
         url('fountain/hershey-noailles-futura-simplex-regular.woff') format('woff'),
         url('fountain/hershey-noailles-futura-simplex-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Hershey Noailles French';
    src: url('fountain/hershey-noailles-oldfrench-regular.eot');
    src: url('fountain/hershey-noailles-oldfrench-regular.eot?#iefix') format('embedded-opentype'),
         url('fountain/hershey-noailles-oldfrench-regular.woff2') format('woff2'),
         url('fountain/hershey-noailles-oldfrench-regular.woff') format('woff'),
         url('fountain/hershey-noailles-oldfrench-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

:root {
    --black: 		#000000;
	--gray:			#EEEEEE;
	--gray-med:		#CCCCCC;
	--white: 		#FFFFFF;

	--menuH:		60px;

	--grid:			repeat(6, 1fr);
	--gap:			10px;
	--gap2x:		20px;
	--gap3x:		30px;
	--gap4x:		40px;
	--gap5x:		50px;
	--gap6x:		60px;
	--gapHalf:		 5px;
  }

*					{ box-sizing: border-box !important; }
img					{ border: none; display: block; }
a					{ color: var(--black); text-decoration: underline; }
a:visited			{ color: var(--black); }
a:hover				{ color: var(--black); text-decoration: underline; }

p					{ margin-top: 1em; margin-bottom: 1em; }
p:first-of-type		{ margin-top: 0; }
p:last-of-type		{ margin-bottom: 0; }

/*
——————————————————————————————————————————
TYPOGRAPHY 
——————————————————————————————————————————
*/

/* FAMILIES */

body, html, h1, h2, h3, h4, h5									{ font-family: 'Hershey Noailles French', serif; font-weight: normal; font-style: normal; }

#masthead *, 
#colophon *, 
.sticky-header h1, 
.simple, 
.useful-info, 
.team-list, 
.link-list, 
.link, 
.eyebrow,
.entries-filter-bt,
.mapboxgl-popup,
.mapboxgl-popup-close-button,
.column-header,
.entry-notes,
.memory-notes,
.memories-list__item h2											{ font-family: 'Hershey Noailles Futura', sans-serif; font-weight: normal; font-style: normal; }

/* VARIANTS & SIZES */

body, html 														{ font-size: 24px; line-height: 1.15em; }

h1, h2, h3, h4, h5												{ font-weight: normal; line-height: 1.00em; letter-spacing: 0.09em; }

h1 																{ font-size: 32px; }
h2 																{ font-size: 32px; }
h3 																{ font-size: 32px; }
h4 																{ font-size: 24px; } /* SAME SIZE AS TEXT */
h5 																{ font-size: 20px; } /* SMALLER THAN TEXT */
h6 																{ font-size: 16px; }
 															
h1.small 														{ font-size: 32px; }
h2.big 															{ font-size: 32px; }
.sticky-header h1												{ font-size: 16px; text-transform: uppercase; }
.entries-list thead th											{ font-size: 16px; line-height: 1.00em; font-weight: normal; text-transform: uppercase; }
.column-header 													{ font-size: 16px; line-height: 1.00em; font-weight: normal; text-transform: uppercase; }

#masthead 														{ font-size:   30px; line-height: 1.00em; }
#masthead .language-switcher									{ font-size: 0.75em; line-height: 1.00em; letter-spacing: 0.09em; }
#masthead .menu-toggle											{ font-size: 1.00em; line-height: 1.00em; }
#masthead .main-navigation										{ font-size: 1.00em; line-height: 1.00em; }
#masthead .sub-menu												{ font-size: 2.00em; line-height: 1.00em; }

.lead 															{ font-size:   32px; line-height: 1.00em; }

.entry-text.primary, .memory-text.primary						{ font-size:   32px; line-height: 1.15em; }
.entry-text.secondary, .memory-text.secondary					{ font-size:   20px; line-height: 1.30em; }
.entry-entries-none, .entry-memories-none						{ font-size:   20px; line-height: 1.30em; }

.simple 														{ font-size:   20px; line-height: 1.30em; letter-spacing: 0.05em; }

.contextual-info 												{ font-size:   20px; line-height: 1.30em; }
.useful-info													{ font-size:   20px; line-height: 1.00em; }

.team-list 														{ font-size:   20px; line-height: 1.30em; letter-spacing: 0.05em; }
.team-role														{ text-decoration: underline; }

.link-list, .link 												{ font-size:   16px; line-height: 1.00em; letter-spacing: 0.05em; text-transform: uppercase; }
.eyebrow 														{ font-size:   16px; line-height: 1.00em; letter-spacing: 0.05em; text-transform: uppercase; }
.entries-filter-bt												{ font-size:   16px; line-height: 1.00em; letter-spacing: 0.09em; text-transform: uppercase; }
.mapboxgl-popup  												{ font-size:   16px; line-height: 1.00em; letter-spacing: 0.09em; text-transform: uppercase; }
.mapboxgl-popup-close-button									{ font-size:   16px; line-height: 1.00em; letter-spacing: 0.09em; text-transform: uppercase; }
.memories-list__item h2											{ font-size:   16px; line-height: 1.30em; letter-spacing: 0.09em; text-transform: uppercase; }
.entry-notes, .memory-notes										{ font-size:   16px; line-height: 1.30em; }

#colophon 														{ font-size:   14px; line-height: 1.00em; letter-spacing: 0.09em; text-transform: uppercase; }
#footer-menu													{ font-size:   16px; line-height: 1.20em; letter-spacing: 0.09em; text-transform: uppercase; }

/*
——————————————————————————————————————————
STRUCTURE
——————————————————————————————————————————
*/

html, body														{ margin: 0 !important; padding: 0 !important; background-color: var(--gray); color: var(--black); }

#page 															{ width: 100%; height: auto; margin: 0; padding: 0; background-color: var(--gray); }
#primary 														{ width: 100%; height: auto; margin: 0; padding: 0; position: relative; }


/*
——————————————————————————————————————————
UI ELEMENTS
——————————————————————————————————————————
*/


/*
——————————————————————————————————————————
HEADER & NAV
——————————————————————————————————————————
*/

#masthead 														{ width: 100%; height: var(--menuH); margin: 0; padding: 0; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; position: sticky; top: 0; left: 0; z-index: 900; background-color: var(--gray); background-image: url('img/patterns/rvlr-pattern-01.png'); background-size: 80px; background-repeat: repeat; }

/* SITE NAVIGATION */
#site-navigation												{ width: auto; height: auto; margin: 0; padding: 0; flex: 1; }

.menu-toggle                                                	{ width: 100%; height: var(--menuH); margin: 0; padding: 0 0 2px 10px; display: flex; align-items: center; justify-content: flex-start; color: var(--black); text-decoration: none; background: transparent; border-radius: 0; border: none; cursor: pointer; }
.menu-toggle:hover 												{ text-decoration: none; }

#primary-menu 													{ width: 100%; height: auto; margin: 0; padding: 0; list-style: none; position: fixed; top: var(--menuH); left: 0; display: none; flex-direction: column; gap: 0; background-color: var(--gray); background-image: url('img/patterns/rvlr-pattern-01.png'); background-size: 80px; background-repeat: repeat; }
#primary-menu > li												{ width: 100%; height: auto; margin: 0; padding: 0; border-top: solid 1px var(--black); display: flex; flex-direction: column; }
#primary-menu > li:last-of-type									{ border-bottom: solid 1px var(--black); }
#primary-menu > li > a 											{ width: 100%; height: var(--menuH); margin: 0; padding: 0 0 2px 10px; position: relative; display: flex; align-items: center; justify-content: flex-start; color: var(--black); text-decoration: none; }
#primary-menu > li > a::after									{ content: ''; width: var(--menuH); height: var(--menuH); position: absolute; right: 0; top: 0;  background-image: url('img/icons/icn-chevron-down.svg'); background-size: 20px; background-position: center; background-repeat: no-repeat;}
#primary-menu > li > a:hover 									{ text-decoration: none; }
#primary-menu > li.current-menu-item > a, 
#primary-menu > li.current-menu-ancestor > a, 
#primary-menu > li.current_page_item > a, 
#primary-menu > li.current_page_ancestor > a,
#primary-menu > li.open > a,								
.single-memories #primary-menu > li.menu-item-26 > a,
.single-entries #primary-menu > li.menu-item-27 > a,
.single-projects #primary-menu > li.menu-item-27 > a,
.single-events #primary-menu > li.menu-item-28 > a				{ text-decoration: none; }
#primary-menu > li.open > a::after 								{ background-image: url('img/icons/icn-chevron-up.svg'); }

#primary-menu .sub-menu 										{ width: 100%; height: auto; margin: 0; padding: 0; list-style: none; position: relative; display: none; flex-direction: column; gap: 0; background-color: var(--gray);  }
#primary-menu .sub-menu li										{ width: 100%; height: auto; margin: 0; padding: 0; border-top: solid 1px var(--black); }
#primary-menu .sub-menu a										{ width: 100%; height: auto; margin: 0; padding: 0 10px 10px 10px; align-items: center; justify-content: flex-start; color: var(--black); text-decoration: none; }
#primary-menu .sub-menu a:hover 								{ text-decoration: none; }
#primary-menu .sub-menu .current-menu-item a, 
#primary-menu .sub-menu .current_page_item a,
.single-memories #primary-menu .sub-menu .menu-item-362 a,
.single-entries #primary-menu .sub-menu .menu-item-170 a,
.single-projects #primary-menu .sub-menu .menu-item-151 a,
.single-events #primary-menu .sub-menu .menu-item-148 a			{ text-decoration: line-through; }

#site-navigation.toggled #primary-menu                    		{ display: flex; }
#primary-menu > li.open .sub-menu								{ display: flex; }

/* SITE HOME */
.site-home 														{ width: var(--menuH); height: var(--menuH); margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; }
.site-home a													{ width: auto; height: auto; margin: 0; padding: 4px; text-decoration: none; }
.site-home a:hover												{ text-decoration: none; }

.site-home .home-icon 											{ width: 20px; height: 20px; border-radius: 50%; border: solid 2px var(--black); background-color: var(--black); }
.site-home a:hover .home-icon 									{ background-color: var(--black);}

.home .site-home .home-icon										{ background-color: transparent; }

/* LANGUAGE SWITCHER */
.language-switcher 												{ width: auto; height: auto; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: row; gap: 0; }
.language-switcher li 											{ width: var(--menuH); height: var(--menuH); margin: 0; padding: 0; }
.language-switcher a 											{ width: 100%; height: 100%; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--black); text-decoration: none;}
.language-switcher a:visited									{ color: var(--black); text-decoration: none; }
.language-switcher a:hover										{ color: var(--white); background-color: var(--black); text-decoration: none; }
.language-switcher .active a									{ color: var(--white); background-color: var(--black); text-decoration: none; }

/*
——————————————————————————————————————————
CONTENT
——————————————————————————————————————————
*/

h1, h2, h3, h4, h5												{ margin: 0; padding: 0; }

.link-list 														{ width: 100%; height: auto; margin: 0; padding: 0 0 var(--gap2x) 0; display: flex; flex-direction: column; gap: var(--gap); }
.link															{ text-decoration: none; }
.link:hover														{ text-decoration: underline; }
.link::before 													{ content: '['; margin-right: 3px; display: inline-block; }
.link::after 													{ content: ']'; margin-left: 3px; display: inline-block; }

.sticky-header 													{ width: 100%; height: auto; margin: 0; padding: 0; position: relative; top: 0; background-color: var(--gray); border-bottom: solid 1px var(--black); transition: none; }
.sticky-header.is-sticky 										{ position: sticky; top: var(--menuH); transition: top 0.3s ease; cursor: pointer; z-index: 800; }
.sticky-header h1 												{ padding: var(--gap); }


/* HOMEPAGE */
.site-cover-wrapper 											{ width: 100%; height: calc(100dvh - (var(--menuH))); margin: 0; padding: 0; background-color: var(--gray); border-bottom: solid 1px var(--black); z-index: 0; position: sticky; top: var(--menuH); z-index: 100;  z-index: 100; transform: translateZ(0); -webkit-transform: translateZ(0); }
.site-cover 													{ width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; isolation: isolate; position: relative; }
.site-cover-element 											{ width: 130vw; min-width: 130vw; height: auto; margin: 0; padding: 0; position: absolute; will-change: transform; transition: all 0.3s ease; }

.featured-home 													{ width: 100%; height: auto; margin: 0; padding: 0; position: relative; z-index: 200;  transform: translateZ(0); -webkit-transform: translateZ(0); }
.featured-home .column-header									{ border-bottom: solid 1px var(--black); }

/* PAGES */
.page-thumbnail 												{ width: 100%; height: auto; margin: 0; padding: var(--gap) var(--gap) 0 var(--gap) ; }
.page-thumbnail-wrapper 										{ width: 100%; height: auto; margin: 0; padding: 0; aspect-ratio: 1 / 1; position: relative; }
.page-thumbnail figure 											{ width: 100%; height: 100%; margin: 0; padding: 0; position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.page-thumbnail img 											{ width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; filter: grayscale(1); }

.page article 													{ width: 100%; height: auto; margin: 0; padding: var(--gap4x) var(--gap) 0 var(--gap); display: grid; grid-template-columns: var(--grid); gap: var(--gap4x); }
.page article .lead												{ width: auto; height: auto; margin: 0; padding: 0; grid-column: 1 / span 6; }
.page article .the-content										{ width: auto; height: auto; margin: 0; padding: 0; grid-column: 1 / span 6; }


/* BASE LIST */
.base-list 														{ width: 100%; height: auto; margin: 0; padding: 0; background-color: var(--gray); display: flex; flex-direction: column; gap: 0; list-style: none; }

.base-list__item												{ width: 100%; height: auto; margin: 0; padding: 0; }
.base-list__link												{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: row; flex-wrap: wrap; gap: 0; border-bottom: solid 1px var(--black); color: var(--black); text-decoration: none; }
.base-list__link:hover											{ background-color: var(--black); color: var(--gray); text-decoration: none; }
.base-list__link:hover .base-list__thumb-img					{ filter: grayscale(0); }

.base-list__thumb												{ width: 100%; height: auto; margin: 0; padding: var(--gap); overflow: hidden; }
.base-list__thumb-wrapper										{ width: 100%; height: 0; margin: 0; padding: 75% 0 0 0; position: relative; }
.base-list__thumb-figure										{ width: 100%; height: 100%; margin: 0; padding: 0; position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.base-list__thumb-img											{ width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; filter: grayscale(1); }							

.base-list__title												{ width: auto; height: auto; margin: 0; padding: var(--gap); display: flex; align-items: center; justify-content: center; flex: 1; }
.base-list__details												{ width: auto; height: auto; margin: 0; padding: var(--gap); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; border-left: solid 1px var(--black); }

/* BASE SINGLE */
.base-single 													{ width: 100%; height: auto; margin: 0; padding: 0; display: grid; grid-template-columns: var(--grid); grid-auto-rows: min-content; gap: 0; }
.base-single__cover												{ width: 100%; height: auto; margin: 0; padding: 0; grid-row: 1; grid-column: 1 / span 6; }
.base-single__main												{ width: 100%; height: auto; margin: 0; padding: 0; grid-row: 2; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.base-single__aside												{ width: 100%; height: auto; margin: 0; padding: 0; grid-row: 3; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.base-single__related											{ width: 100%; height: auto; margin: 0; padding: 0; grid-row: 4; grid-column: 1 / span 6; }

.single-projects .base-single__aside 							{ grid-row: 4; }
.single-projects .base-single__related							{ grid-row: 3; }

.base-single-thumb												{ width: 100%; height: auto; margin: 0; padding: var(--gap); }
.base-single-thumb figure										{ width: 100%; height: auto; margin: 0; padding: 0; }
.base-single-thumb img											{ width: 100%; height: auto; }

.base-single-header												{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: row; border-bottom: solid 1px var(--black); }
.base-single-title												{ width: auto; height: auto; margin: 0; padding: var(--gap); display: flex; align-items: center; justify-content: center; flex: 1; }
.base-single-details											{ width: auto; height: auto; margin: 0; padding: var(--gap); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; border-left: solid 1px var(--black); }

.base-single-content											{ width: 100%; height: auto; margin: 0; padding: var(--gap4x); }

.useful-info													{ width: 100%; height: auto; margin: 0; padding: var(--gap2x) var(--gap); display: flex; flex-direction: column; gap: var(--gap); }
.contextual-info												{ width: 100%; height: auto; margin: 0; padding: var(--gap2x) var(--gap); display: flex; flex-direction: column; gap: var(--gap); }

/* PROFILE LIST */
.profile-list 													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; list-style: none; }
.profile-item													{ width: 100%; height: auto; margin: 0; padding: 0; display: grid; grid-template-columns: var(--grid); gap: 0; border-bottom: solid 1px var(--black); }

.profile-image 													{ width: 100%; height: auto; margin: 0; padding: var(--gap); grid-column: 1 / span 6; overflow: hidden; }
.profile-main 													{ width: 100%; height: auto; margin: 0; padding: var(--gap); grid-column: 1 / span 6; display: flex; flex-direction: column; gap: var(--gap2x); }
.profile-links 													{ width: 100%; height: auto; margin: 0; padding: var(--gap); grid-column: 1 / span 6; display: flex; flex-direction: column; gap: var(--gap2x); }

.profile-image-wrapper											{ width: 100%; height: 0; margin: 0; padding: 100% 0 0 0; position: relative; }
.profile-image-wrapper figure									{ width: 100%; height: 100%; margin: 0; padding: 0; position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.profile-image-wrapper img										{ width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

.profile-image-wrapper.entidade, 
.profile-image-wrapper.entity									{ width: 100%; height: 0; margin: 0; padding: 50% 0 0 0; position: relative; }
.profile-image-wrapper.entidade img, 
.profile-image-wrapper.entity img								{ width: 70%; height: auto; object-fit: contain; }

.profile-item img												{ filter: grayscale(1); }
.profile-item:hover img											{ filter: grayscale(0); }

.profile-main header 											{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }


/* TEAM */
.team-list														{ width: auto; height: auto; margin: 0; padding: var(--gap4x) var(--gap4x) 0 var(--gap4x); display: grid; grid-template-columns: var(--grid); gap: var(--gap4x); list-style: none; }
.team-list li 													{ width: auto; height: auto; margin: 0; padding: 0; grid-column: 1 / span 6; display: flex; flex-direction: column; gap: var(--gap2x); }
.team-list li .team-empty										{ height: var(--gap2x); }


/* ENTRIES MAP */

.map-block														{ width: 100%; height: 60dvh; margin: 0; padding: 0; position: sticky; top: var(--menuH); border-bottom: solid 1px var(--black); z-index: 100; transform: translateZ(0); -webkit-transform: translateZ(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; will-change: transform; }
.map-block-single												{ width: 100%; height: auto; aspect-ratio: 1/1; margin: 0; padding: 0; position: relative; }
.map-wrapper 													{ width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; position: relative; touch-action: pan-y pinch-zoom; }

/* map controls */
.mapboxgl-ctrl-top-right 										{ top: 30px !important; right: 30px !important; }
.mapboxgl-ctrl-bottom-right 									{ bottom: 30px !important;  right: 30px !important; display: none; }
.mapboxgl-ctrl 													{ margin: 0 !important; }

.mapboxgl-ctrl-group 											{ border-radius: 14px !important; box-shadow: none !important; background-color: none !important; }
.mapboxgl-ctrl-group button 									{ width: 52px !important; height: 52px !important; background-color: var(--gray) !important; border: solid 1px var(--black) !important; cursor: pointer; transition: background-color 0.3s; }
.mapboxgl-ctrl-group button:hover 								{ background-color: var(--black) !important; color: var(--white) !important; }
.mapboxgl-ctrl-group button:first-child 						{ border-radius: 14px 14px 0 0 !important; border-bottom: none !important; }
.mapboxgl-ctrl-group button:last-child 							{ border-radius: 0 0 14px 14px !important; border-top: none !important; }
.mapboxgl-ctrl-group button:only-child  						{ border-radius: 14px !important; border: solid 1px var(--black) !important; }

.mapboxgl-ctrl-group button:hover svg,
.mapboxgl-ctrl-group button:hover .mapboxgl-ctrl-icon 			{ filter: invert(1) !important; }

.mapboxgl-ctrl-icon												{ background-size: 32px 32px !important; background-position: center !important; background-repeat: no-repeat !important; filter: none !important; /* Remove filtro para usar SVG original */ }
.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon 						{ background-image: url('../style/img/icons/icn-plus.svg') !important; }
.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon 					{ background-image: url('../style/img/icons/icn-minus.svg') !important; }

.mapboxgl-ctrl-logo 											{ display: none !important; }
.mapboxgl-ctrl-attrib 											{ display: none !important; }

/* map filters */
.entries-filter 												{ width: auto; height: auto; margin: 0; padding: 8px; background-color: var(--gray); border: solid 1px var(--black); border-radius: 14px; position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 8px; z-index: 1 !important; }
.entries-filter-bt 												{ width: auto; height: auto; margin: 0; padding: 6px 30px 8px 30px; border: 1px solid var(--gray); border-radius: 10px; background: var(--gray); cursor: pointer; transition: all 0.3s ease; }
.entries-filter-bt:hover 										{ border: 1px solid var(--black); }
.entries-filter-bt.active 										{ background-color: var(--black); color: var(--white); border: 1px solid var(--black); }

/* markers & labels */
.custom-marker 													{ cursor: pointer; }

.marker-circle 													{ margin: 0; padding: 0; background: var(--black); border: 1px solid var(--gray); border-radius: 50%; transition: all 0.3s ease; }
.custom-marker:hover .marker-circle								{ transform: scale(1.5); }
.current-entry-marker:hover .marker-circle 						{ transform: scale(1.25); transition: all 0.3s ease; animation: none; }
.current-entry-marker .marker-circle 							{ animation: pulse 2s ease-in-out infinite; }
@keyframes pulse 												{ 0%, 100% { transform: scale(1); } 50% { transform: scale(1.25); }}

.mapboxgl-popup 												{ width: auto; height: auto; margin: 0; padding: 0; }
.mapboxgl-popup-content											{ width: auto; min-width: max-content; height: auto; margin: 0; padding: 0 !important; border: solid 1px var(--black); border-radius: 10px !important; background: var(--gray) !important; box-shadow: none !important; display: flex !important; flex-direction: row; align-items: center; justify-content: center; gap: 0; overflow: hidden; }

.marker-popup 													{ width: auto; height: auto; margin: 0; padding: 0; }
.marker-popup a 												{ width: auto; height: 30px; margin: 0; padding: 0 20px; color: var(--black); text-decoration: none; outline: none; display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
.marker-popup a:hover 											{ background: var(--black); color: var(--white); text-decoration: none; }
.mapboxgl-popup-tip 											{ display: none !important; }
.mapboxgl-popup-close-button 									{ width: 30px; height: 30px; margin: 0; padding: 0 !important; border: none; border-radius: 0 !important; color: var(--black); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; position: relative !important; }
.mapboxgl-popup-close-button:hover 								{ background: var(--black) !important; color: var(--white) !important; text-decoration: none; }


/* ENTRIES LIST */

.entries-list 													{ width: 100%; height: auto; margin: 0; padding: 0; background-color: var(--gray); display: table; position: relative; z-index: 200; transform: translateZ(0); -webkit-transform: translateZ(0); }

.entries-list__header-row 										{ width: auto; height: auto; margin: 0; padding: 0; display: table-row; }
.entries-list__header-cell 										{ width: auto; height: auto; margin: 0; padding: 0; display: table-cell; border-bottom: solid 1px var(--black); border-right: solid 1px var(--black); }
.entries-list__header-cell:first-of-type 						{ display: none; }
.entries-list__header-cell:last-of-type 						{ border-right: none; }
.entries-list__header-cell:not(.header-counter) span			{ margin-left: -9999px; overflow: hidden; }

.entries-container 												{ display: contents; }

.entries-list__row 												{ width: auto; height: auto; margin: 0; padding: 0; display: table-row; }
.entries-list__row:hover 										{ background-color: var(--black); color: var(--gray); }
.entries-list__cell 											{ width: auto; height: auto; margin: 0; padding: var(--gap2x) var(--gap); display: table-cell; vertical-align: middle; border-bottom: solid 1px var(--black); border-right: solid 1px var(--black); }
.entries-list__cell:first-of-type 								{ display: none; }
.entries-list__cell:last-of-type 								{ border-right: none; }

.entries-list__cell .entry-thumb-wrap							{ width: 100%; height: 100%; margin: 0; padding: var(--gap); box-sizing: border-box; position: absolute; top: 0; left: 0; }
.entries-list__cell .entry-thumb								{ width: 100%; height: 100%; margin: 0; padding: 0; position: relative; display: flex; align-items: center; justify-content: center; }
.entries-list__cell .entry-thumb img							{ width: 100%; height: 100%; object-fit: contain; display: block; filter: grayscale(1); }

.entries-list__row:hover .entry-thumb img						{ filter: grayscale(0); }

/* ENTRIES SINGLE */

.entry-template 												{ width: 100%; height: auto; margin: 0; padding: 0; display: grid; grid-template-columns: var(--grid); gap: 0; }

.entry-template__main 											{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 1; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.entry-template__side 											{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 3; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.entry-template__extra:nth-child(odd)							{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 2; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.entry-template__extra:nth-child(even)							{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 4; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }

.entry-template__side .column-header							{ border-bottom: solid 1px var(--black); }
.entry-template__extra .column-header							{ border-bottom: solid 1px var(--black); }

.entry-single 													{ width: 100%; height: auto; margin: 0; padding: 0; }
.entry-single__header											{ width: 100%; height: auto; margin: 0; padding: var(--gap2x) var(--gap); border-bottom: solid 1px var(--black); display: flex; flex-direction: column; gap: var(--gapHalf); }
.entry-single__content											{ width: 100%; height: auto; margin: 0; padding: var(--gap); display: flex; flex-direction: column; gap: var(--gap); }

.entry-text.primary 											{ width: 100%; height: auto; margin: 0; padding: var(--gap4x); }
.entry-text.secondary 											{ width: 100%; height: auto; margin: 0; padding: var(--gap) 0; }
.entry-images 													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gap); }
.entry-images figure 											{ width: 100%; height: auto; margin: 0 ; padding: 0; }
.entry-images img 												{ width: 100%; height: auto; display: block; }
.entry-media-embed 												{ position: relative; padding-bottom: 56.25%; /* 16:9 ratio */ height: 0; overflow: hidden; }
.entry-media-embed iframe 										{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.entry-notes 													{ width: 100%; height: auto; margin: 0; padding: var(--gap) 0; }
  
.entry-meta 													{ width: 100%; height: auto; margin: 0; padding: 0; display: table; }
.entry-meta-row 												{ width: auto; height: auto; margin: 0; padding: 0; display: table-row; }
.entry-meta-cell 												{ width: auto; height: auto; margin: 0; padding: var(--gapHalf) var(--gap); display: table-cell; border-bottom: solid 1px var(--black); }

.entry-entries 													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.entry-entries-card												{ width: 100%; height: auto; margin: 0; padding: var(--gap); text-decoration: none; color: var(--black); border-bottom: solid 1px var(--black); display: flex; flex-direction: column; gap: var(--gap); }
.entry-entries-card:hover										{ background-color: var(--black); color: var(--gray); text-decoration: none; }
.entry-entries-card:hover img									{ filter: grayscale(0); }
.entry-entries-card:last-of-type								{ margin-bottom: -1px; }
.entry-entries-card img											{ width: 100%; height: auto; margin: 0; padding: 0; display: block; filter: grayscale(1); }
.entry-entries-none												{ width: 100%; height: auto; margin: 0; padding: var(--gap); }

.entry-map 														{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }

.entry-memories													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.entry-memories-card											{ width: 100%; height: auto; margin: 0; padding: var(--gap2x) var(--gap4x); text-decoration: none; color: var(--black); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.entry-memories-none											{ width: 100%; height: auto; margin: 0; padding: var(--gap2x); }

.entry-memories-card img										{ filter: grayscale(1); width: 80%; }
.entry-memories-card:hover img									{ filter: grayscale(0); }

/* entry common */
.entry-tags 													{ display: flex; flex-direction: row; gap: var(--gapHalf) var(--gap); flex-wrap: wrap; }
.entry-header 													{ display: flex; flex-direction: column; gap: var(--gapHalf); }


/* MEMORIES LIST */
.memories-list 													{ width: 100%; height: auto; margin: 0; padding: var(--gap4x); list-style: none; display: grid; grid-template-columns: repeat(1, 1fr); gap: var(--gap4x); position: relative; }
.memories-list__item											{ width: 100%; height: auto; min-height: 50vh; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.memories-list__item a 											{ width: auto; height: auto; margin: 0; padding: 0; text-decoration: none; color: var(--black); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--gap2x); }
.memories-list__item a .memory-excerpt							{ width: 90%; }
.memories-list__item a:hover .memory-excerpt					{ text-decoration: underline; }
.memories-list__item h2 										{ margin: 0; padding: 0; text-align: center; }

.memories-list__item img 										{ filter: grayscale(1); }
.memories-list__item:hover img 									{ filter: grayscale(0);}

/* Horizontal Alignment (5n) */
.memories-list__item:nth-child(5n+1) 							{ align-items: flex-start; }
.memories-list__item:nth-child(5n+2) 							{ align-items: center; }
.memories-list__item:nth-child(5n+3)							{ align-items: flex-end; }
.memories-list__item:nth-child(5n+4)							{ align-items: center; }
.memories-list__item:nth-child(5n+5)							{ align-items: flex-start; }

/* Vertical Alignment (7n) */
.memories-list__item:nth-child(7n+1)							{ justify-content: flex-start; }
.memories-list__item:nth-child(7n+2)							{ justify-content: flex-end; }
.memories-list__item:nth-child(7n+3)							{ justify-content: center; }
.memories-list__item:nth-child(7n+4)							{ justify-content: flex-start; }
.memories-list__item:nth-child(7n+5)							{ justify-content: center; }
.memories-list__item:nth-child(7n+6)							{ justify-content: flex-end; }
.memories-list__item:nth-child(7n+7)							{ justify-content: center; }

/* Link Alignments */
.memories-list__item:nth-child(11n+2) a,
.memories-list__item:nth-child(11n+4) a,
.memories-list__item:nth-child(11n+7) a							{ flex-direction: column-reverse; }
.memories-list__item:nth-child(13n+1) a							{ align-items: flex-start; }
.memories-list__item:nth-child(13n+5) a							{ align-items: flex-end; }



/* MEMORIES SINGLE */

.memory-template 												{ width: 100%; height: auto; margin: 0; padding: 0; display: grid; grid-template-columns: var(--grid); gap: 0;}
.memory-single 													{ display: contents; }

.memory-template__header										{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 1; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.memory-template__side 											{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 2; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.memory-template__main 											{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 3; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }
.memory-template__extra 										{ width: auto; height: auto; margin: 0; padding: 0; grid-row: 4; grid-column: 1 / span 6; border-bottom: solid 1px var(--black); }

.memory-header 													{ margin: 0; padding: var(--gap2x) var(--gap); display: flex; flex-direction: column; gap: var(--gapHalf); }
.memory-tags 													{ margin: 0; padding: 0; display: flex; flex-direction: row; gap: var(--gapHalf) var(--gap); flex-wrap: wrap; }
									
.memory-single-content											{ width: 100%; height: auto; margin: 0; padding: var(--gap6x); display: flex; flex-direction: column; gap: var(--gap6x); }

.memory-text.primary 											{ width: 100%; height: auto; margin: 0; padding: var(--gap4x); }
.memory-text.secondary 											{ width: 100%; height: auto; margin: 0; padding: var(--gap); }
.memory-images 													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gap6x); }
.memory-images figure 											{ width: 100%; height: auto; margin: 0 ; padding: 0; }
.memory-images img 												{ width: 100%; height: auto; display: block; }
.memory-media-embed 												{ position: relative; padding-bottom: 56.25%; /* 16:9 ratio */ height: 0; overflow: hidden; }
.memory-media-embed iframe 										{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.memory-notes 													{ width: 100%; height: auto; margin: 0; padding: var(--gap); }
  
.memory-meta 													{ width: 100%; height: auto; margin: 0; padding: 0; display: table; }
.memory-meta-row 												{ width: auto; height: auto; margin: 0; padding: 0; display: table-row; }
.memory-meta-cell 												{ width: auto; height: auto; margin: 0; padding: var(--gapHalf) var(--gap); display: table-cell; border-bottom: solid 1px var(--black); }
.memory-meta-row:last-child  .memory-meta-cell					{ border-bottom: none; }


/*
——————————————————————————————————————————
MIX
——————————————————————————————————————————
*/

.placeholder-wrapper											{ width: 100%; height: 0; margin: 0; padding: 75% 0 0 0; position: relative; }
.image-placeholder 												{ width: 100%; height: 100%; margin: 0; padding: 0; position: absolute; top: 0; left: 0; background-color: var(--gray); background-image: url('img/patterns/rvlr-pattern-01.png'); background-size: 80px; background-repeat: repeat;  }
.column-header  												{ width: 100%; height: auto; margin: 0; padding: var(--gap); background-color: var(--gray); background-image: url('img/patterns/rvlr-pattern-01.png'); background-size: 80px; background-repeat: repeat; text-align: center; }

.rotated-wrap 													{ width: 100%; height: 100%; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; }
.rotated 														{ writing-mode: vertical-rl; transform: rotate(180deg); display: block; word-wrap: none; text-align: center; }

.no-content 													{ width: 100%; height: auto; margin: 0; padding: var(--gap4x); }

/*
——————————————————————————————————————————
FOOTER
——————————————————————————————————————————
*/

#colophon 														{ width: 100%; height: auto; margin: 20vh 0 0 0; padding: 0; position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; background-color: var(--gray); z-index: 888; }

.footer-top 													{ width: 100%; height: auto; margin: 0; padding: 0; border-top: solid 1px var(--black); }
.footer-middle 													{ width: 100%; height: auto; margin: 0; padding: var(--gap2x) var(--gap); border-top: solid 1px var(--black); }
.footer-bottom 													{ width: 100%; height: auto; margin: 0; padding: var(--gap); border-top: solid 1px var(--black); display: flex; flex-direction: row; align-items: center; justify-content: flex-end; }

#footer-menu 													{ width: 100%; height: auto; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start;  gap: 0; }
#footer-menu li 												{ margin: 0; padding: 0; flex: 1; border-bottom: solid 1px var(--black); }
#footer-menu li:last-of-type 									{ border: none; }
#footer-menu a 													{ width: 100%; height: 100%; margin: 0; padding: var(--gap); display: flex; align-items: flex-start; justify-content: flex-start; color: var(--black); text-decoration: none; }
#footer-menu li.current-menu-item a,
#footer-menu a:hover 											{ background-color: var(--black); color: var(--white); text-decoration: none; }


.footer-logos 													{ width: 100%; height: auto; margin: 0; padding: 0; display: flex; flex-direction: row; align-items: stretch; justify-content: flex-start; flex-wrap: nowrap; gap: 80px; overflow: hidden; overflow-x: scroll ; list-style: none; }
.footer-logos 													{ overflow-x: scroll; scrollbar-width: none; -ms-overflow-style: none; }
.footer-logos::-webkit-scrollbar 								{ display: none; }

.footer-logos li												{ width: auto; height: auto; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; flex-shrink: 0; gap: 20px; }	
.logo-label 													{ width: auto; height: auto; margin: 0; padding: 0; }
.logo-container 												{ width: auto; height: auto; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; flex-grow: 1 ; }

.logo-small 													{ width: auto; height: 30px; }
.logo-regular 													{ width: auto; height: 40px; }
.logo-medium 													{ width: auto; height: 50px; }
.logo-large 													{ width: auto; height: 60px; }
.logo-extralarge 												{ width: auto; height: 70px; }