


@font-face {
	font-family: Ginto;
	src: url(fonts/GintoNormal-Light.otf);
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: Ginto;
	src: url(fonts/GintoNormal-LightIta.otf);
	font-weight: normal;
	font-style: italic;
}


/* Variables */
:root {
    --main-padding: 1rem;
    --large-padding: 10rem;
    --header-height: 64px; 
    --header-height-mobile-open: 15rem;
}


* {
	box-sizing: border-box;
}
a {
	cursor: pointer;
	color: inherit;
	text-decoration: none;
}
p a, .td-desc a {
	border-bottom: 1.25px solid black;
}
nav  a {
	white-space: nowrap;
}
.underline {
	border-bottom: 1.25px solid black;	
}
p {
	margin: 0;
	/*padding: 8px;*/
}
img {
	width: 100%;
	height: auto;
	display: block
}




html {
	font-family: Ginto, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 23px;
	line-height: 1.4;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: always;
	text-rendering: optimizeLegibility;
	scroll-behavior: smooth;
	hyphens: auto;
}
@media only screen and (max-width: 480px) {
html {
	font-size: 18px;
}
}

body {
	position: relative;
	height: 100%;
    width: 100%;
    max-width: 1824px;
    margin: 0;
    /*padding: 24px;*/
    /*padding-top: 0;*/
}
@media only screen and (max-width : 768px) {
body {
	padding: 0;
}
}

header, #gallery-container {
	background-color: white;
}
header {
	position: fixed;
	width: 100%;
	height: var(--header-height);
	padding: 0;
	background-color: white;
	font-style: italic;
	z-index: 2;
	opacity: 1;
	transition: height 200ms;
}
#header-desktop {
	display: block;
}
#header-mobile {
	display: none;
}
#header-logo {
	display: inline-block;
	padding: 1rem 8px;
}
.nav-mobile-closed {
	display: none;
}
.nav-mobile-open {
	display: block;
}

#nav, #socialmedia, #lang-sel {
	transition: opacity 100ms;
}


.is-visible {
    opacity: 1;
}
.is-hidden {
    opacity: 0;
}

/*.open {
	height: var(--header-height);
}
.closed {
	height: 0;
}*/

.header-mobile-open {
	height: var(--header-height-mobile-open);
}

@media only screen and (max-width : 768px) {
	header {
		/*height: auto;
		padding: 8px;*/
		border-bottom: 1.25px solid black;;
	}
	#header-desktop {
		display: none;
	}
	#header-mobile {
		display: block;
	}
}

nav a {
	padding: 0 0.5rem;
}
nav a:first-of-type {
	padding-left: 0;
}
#lang-sel a, .socialmedia-icons a {
	padding: 0 0.25rem;
}
#lang-sel a:last-of-type {
	padding-right: 0;
}
.socialmedia-icons a:last-of-type {
	padding-right: 1rem;
}

@media only screen and (max-width : 768px) {
nav a {
	padding: 0;
}
nav a:first-of-type {
	padding-left: 0;
}
.socialmedia-icons a:last-of-type {
	padding-right: 0;
}
#lang-sel a, .socialmedia-icons a {
	padding: 1rem 0.25rem 0 0;
}
}

nav, #lang-sel, .socialmedia-icons {
	display: flex;
	flex-direction: row;
	position: absolute;
	top: 50%;
	transform: translate( 0%, -50%);
	z-index: 2;
}
nav {
	justify-content: flex-start;
	left: 1rem;
	/*width: calc(50% - (24px + 24px));*/
	width: 75%;
}
#lang-sel, .socialmedia-icons {
	justify-content: flex-end;
}

#lang-sel {
	/*right: 24px;*/
	right: 1rem;
	width: auto;
}

.socialmedia-icons {
	right: 5rem;
	/*width: 5rem;*/
	width: auto;
}
.img-socialmedia {
	width: 20px;
	height: 20px;
}

@media only screen and (max-width : 768px) {
/*nav, #lang-sel, .socialmedia-icons {
	display: none;
}*/
nav {
	position: relative;
	top: 8px;
	left: 8px;
	transform: none;
	width: auto;
	flex-direction: column;
}
#lang-sel {
	position: relative;
	justify-content: flex-start;
	top: unset;
	right: unset;
	left: 8px;
	transform: none;
	/*width: 80px;*/
}
.socialmedia-icons {
	position: relative;
	justify-content: flex-start;
	top: unset;
	right: unset;
	left: 8px;
	transform: none;
	width: auto;
}
.img-socialmedia {
	width: 20px;
	height: 20px;
}
}





#gallery-container {
	position: relative;
	/*width: auto;*/
	width: 100vw;
	/*height: calc( 100vh - ( 64px + 24px ) );*/
	min-height: 100vh;
	padding-top: var(--header-height);
	overflow: hidden;
}
@media only screen and (max-width : 768px) {
#gallery-container {
	bottom: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}
}
.content{
	position: absolute;
	width: auto;
	bottom: 0;
	height: 100%;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
@media only screen and (max-width : 768px) {
.content {
	height: auto;
}
}
.no-opacity{
	opacity: 0;
}

/*#start-gallery, .event {	
	height: 100%;
}*/
#start-gallery, .event {
	top: var(--header-height);
	left: 50%;
	transform: translate(-50%, 0px);
	width: auto;
	height: calc(100vh - 2 * var(--header-height));
}

@media only screen and (max-width : 768px) {
#start-gallery, .event {
	height: auto;
	width: 100%;
	left: 0;
	transform: none;
}
}

.slideshow {
	position: relative;
	height: 100%;
	width: auto;
	/*background: #3c6;*/
}

/*.slideshow img {*/
.slide {
	position: relative;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	/*filter: grayscale(100%);
	mix-blend-mode: multiply;*/
	/*mix-blend-mode: overlay;*/
	transition: 200ms;
}

@media only screen and (max-width : 768px) {
	.slideshow {
		height: auto;
	}
	.slide {
	/*.slideshow img {*/
		position: relative;
		top: unset;
		bottom: 0;
		left: 0%;
		height: auto;
		width: 100%;
	}
}

.prev {
	position: absolute;
	top: 5px;
	left: 10px;
	font-size: 32px;
	z-index: 100;
	cursor: pointer;
}
.next {
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 32px;
	z-index: 100;
	cursor: pointer;
}
.gallery-nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.next-area {
	position: absolute;
	width: 50vw;
	height: 100%;
	bottom: 0;
	left: 50%;
	z-index: 1;
	
}
.previous-area {
	position: absolute;
	width: 50%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 1;
}
#right-arrow-mobile, #left-arrow-mobile {
	display: none;
	position: absolute;
	/*bottom: 0.5rem;*/
	top: 50%;
	top: calc(50% - var(--header-height)/2);
	color: white;
	font-size: 2rem;
}
@media only screen and (max-width : 768px) {
	#right-arrow-mobile, #left-arrow-mobile {
		display: block;
	}
}
#right-arrow-mobile {
    right: 1rem;
}
#left-arrow-mobile {
    left: 1rem;
}


.side {
	min-height: 100vh;
	width: 80%;
	margin: 0 auto;
	padding: var(--header-height) 0 calc(2 * var(--header-height)) 0;
	/*background-color: #d1cbc3;*/
	/*overflow-y: scroll;*/
	z-index: 3;
	transition: 500ms;
}
/*.side img {
	height: calc(100vh - 2 * var(--header-height));
	width: auto;
	margin: 0 auto;
}*/
.side img {
	height: auto;
	width: 50%;
	margin: 0 auto;
}

.side-header {
	position: relative;
	height: 64px;
	margin-bottom: 32px;
}
@media only screen and (max-width : 768px) {
	.side {
		width: 100%;
		margin: 0;
		/*padding: calc(var(--header-height) + 8px) 8px 0 8px;*/
		padding:  1rem 8px;
		padding-top: calc(var(--header-height) + 1rem);
	}
	.side img {
		height: auto;
		width: 100%;
		margin: 0 auto;
	}
}

.close-icon {
	position: absolute;
	top: 50%;
	left: 8px;
	transform: translate(0, -50%);
	font-size: 28px;
	padding-top: 6px;
}

#tags {
	display: flex;
	flex-wrap: wrap;
	padding-top: 0px;
	/*padding-left: 8px;*/
	padding-bottom: 32px;
}

button.tag {
	margin-right: 20px;
	font-family: inherit;
  	margin: 0.25rem 0.25rem 0.25rem 0;
    padding: 0.25em 0.5em 0.25em 0.5em;
    border: 1px solid black;
    border-radius: 1em;
    font-size: 1rem;
    transition-duration: 200ms;
    cursor: pointer;
}
button.active {
	background-color: white !important;
}

.a-event {
	z-index: 3;
	cursor: pointer;
}
.a-event-gallery {
	z-index: 4;
}

#events-text {
	padding-bottom: 32px;
	/*padding-left: 8px;
	padding-right: 8px;*/
}



#map-embed {
	width: 50vw;
	height: calc( 50vw / 3 * 2);
}
@media only screen and (max-width : 768px) {
	#map-embed {
		width: calc(100vw - 16px);
		height: calc( (100vw - 16px) / 4 * 3);
	}
}



table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	padding: 8px;
}
.tr {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0px;
	border-bottom: 1.25px solid black;
}

th {
	font-weight: normal;
}
td, th {
	vertical-align: top;
	text-align: left;
	padding: 8px;
}

.td-date, .th-date, .td-time, .th-time, .td-title, .th-title, .td-tag, .th-tag, .td-desc {
	display: inline-block;
	padding: 8px;
	/*padding-left: 0;*/
}

.td-date, .th-date {
	width: 20%;
}
.td-time, .th-time {
	width: 20%;
}
.td-title, .th-title {
	width: 60%;
}
.td-tag, .th-tag {
	width: 25%
}
.td-desc {	
	display: none;
	width: 60%;
	margin-left: 40%;
}
.td-desc p {
	padding: 0;
}
.td-desc img {
	width: 100%;
}

@media only screen and (max-width : 768px) {
	.td-date, .th-date, .td-time, .th-time, .td-title, .th-title, .td-tag, .th-tag, .td-desc {
		padding-top: 4px;
		padding-bottom: 4px;
	}
	.td-date, .th-date {
		width: 25%;
	}
	.td-time, .th-time {
		width: 15%;
	}
	.td-title, .th-title {
		width: 60%;
	}
	.td-tag, .th-tag {
		width: 100%;
		padding-top: 0px;
	}
	.td-tag {
		display: none;
	}

	.td-desc {
		padding-top: 1em;
		width: 100%;
		margin-left: 0;
	}
	#thead {
		display: none;
	}
}





/* Fading animation */  
        .fade {  
            -webkit-animation-name: fade;  
            -webkit-animation-duration: 400ms;  
            animation-name: fade;  
            animation-duration: 400ms;  
        }  
        @-webkit-keyframes fade {  
            from {  
                opacity: .0  
            }  
            to {  
                opacity: 1  
            }  
        }  
  
        @keyframes fade {  
            from {  
                opacity: .0 
            }  
            to {  
                opacity: 1  
            }  
        }  













/* media queries

mobile 2 :
@media only screen and (min-width : 375px) (max-width: 767px) {}

ipad :
@media only screen and (min-width : 768px) and (max-width : 1024px) {}

desktop :
@media only screen and (min-width: 1025px) {}

desktop large :
@media only screen  and (min-width : 1824px) {}

*/