html, body {
 	margin: 0;
 	padding: 0;
  	width: 100%;
  	height: 100%;
	overflow-y: visible;
}

/* ----------------------------------------------------------------------------------------------- */



h1, h2, h3, h4, h5, p, div, img, a, hr, section {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, p {
	cursor: default;
}



body {
	margin: 0px;
	overflow-x: hidden;

	background-color: var(--colorBackground);
	color: var(--colorText);

	font-family: 'Graebenbach Mono';
	font-weight: normal;
    font-style: normal;

	transition: background-color 0.3s ease, color 0.3s ease;
}


P {
	text-align: justify;
}

a {
	text-decoration: none;
	color: inherit;
}

button {
	background-color: transparent;
	font-family: 'Graebenbach Mono';
	font-weight: normal;
    font-style: normal;
	border: none;
	color: var(--colorText);
	font-size: 16px;
	cursor: pointer;
	width: 100%;
	height: 100%;
}

.tomHr {

	width: 100%;
	height: 5vh;

	background-color: var(--colorText);
	color: var(--colorBackground);

	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: hidden;
}

.container {
	display: flex;
	justify-content: center;
	align-items: center;

	border-radius: 8px;

	background-color: var(--colorText);
	color: var(--colorBackground);

	height: 90%;
	width: 30%;
}



#grain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    pointer-events: none; /* allows clicks through */
    z-index: 9999;

    background-image: url("IMG/grain.png"); /* your noise texture */
    background-repeat: no-repeat;
	background-size: cover;

    opacity: 0.6;

    mix-blend-mode: overlay; 
}

#backToTop {
	background-color: var(--colorBackgroundLighter);
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 50%;
	font-size: 24px;
	cursor: pointer;
	display: none;
}




/* ----------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------- */

header {
	height: 70px;

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;

	padding: 0 20px;

	background-color: var(--colorBackground);
}

#theme_icon {
  	height: 30px;
 	cursor: pointer;
	margin-right: 10px;
}

header h1 {
	color: var(--colorText);
	font-size: x-large;
}

header div a {
	margin-left: 15px;
	text-decoration: none;
}

header div a:hover {
	text-decoration: underline;
	margin-left: 15px;
}





















/* Image */
.trigger-image {
  	height: 30px;
  	cursor: pointer;
}

/* sidebar */
#sidebar {
  	position: fixed;
  	top: 0;
  	right: -340px;          /* hidden */
  	width: 300px;
  	height: 100%;
  	background: var(--colorBackgroundLight);
  	box-shadow: -2px 0 10px rgba(0,0,0,0.2);
  	transition: right 0.5s ease;
  	padding: 20px;
  	z-index: 1001;

  	display: flex;
  	flex-direction: column;
}

#sidebar.active {
  	right: 0;
}

#sidebar button {
  	height: 10%;
}

/* Overlay */
#overlay {
  	position: fixed;
  	inset: 0;
  	background: #000000;
  
  	opacity: 0;
  	pointer-events: none;
  	transition: opacity 0.3s ease;
  	z-index: 1000;
}

#overlay.active {
  	opacity: 0.5;
  	pointer-events: all;
}

/* close button */
#closeSidebar {
  	background: none;
  	border: none;
  	font-size: 30px;
  	cursor: pointer;
  	margin-bottom: 20px;
}

#currentButton {
  	text-decoration: underline;
}













#main {
	height: 80%;

	display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    position: relative;

	background-image: url(IMG/main.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

#main_para {
	grid-column: 2;
    position: relative;
    z-index: 1;
    width: min(380px, 80%);
    margin: 0;

	padding: 20px 10px;


	font-weight: 500;
	box-shadow: 0 0 40px black;
	color: #e2dbc9;

	background: rgba(0, 0, 0, 0.384);
	border-radius: 4px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

#main_para p {
	line-height: 1.6;
    font-size: clamp(14px, 1.2vw, 18px);
}

#main_para button {
	border: 2px solid #e2dbc900;
	background-color: #e2dbc917;;
	color: #e2dbc985;

	height: 44px;
    padding: 0 18px;

	border-radius: 16px;
	margin-top: 20px;

	transition: 0.25s ease-out;
}

#main_para button:hover {
	border: 2px solid #e2dbc93f;
	background-color: #e2dbc92a;;
	color: #e2dbc9;

	transition: 0.2s ease-out;
}


/* --------------------------------------------------- */

.carousel {
	width: 100%;
	height: 90vh;
	overflow: hidden;


	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}

.track {
	display: flex;
	height: 50%;
	width: max-content;
	animation: scroll 30s linear infinite;
}

.slide {
	flex: 0 0 auto;
	height: 100%;
	margin-right: 12px;
}

.slide img {
	height: 100%;
	width: auto;
	display: block;
	border-radius: 10px;
	object-fit: cover;
}

/* seamless loop */
@keyframes scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

#gallery_button {
	border: 2px solid var(--colorTextLighter);
	background-color: var(--colorBackgroundLight);
	color: var(--colorText);

	height: 10%;
	width: 150px;
    /* padding: 5px 10px; */

	display: flex;
	justify-content: center;
	align-items: center;

	margin-left: auto;
	margin-right: auto;

	border-radius: 16px;

	transition: 0.25s ease-out;
}

#gallery_button:hover {
	border: 2px solid var(--colorText);
	background-color: var(--colorTextLight);
	color: var(--colorBackground);

	transition: 0.2s ease-out;
}




























/* ----------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------- */

.pc-only {
	display: block;
}

.mobile-only {
	display: none;
}



/* Desktop */
@media (max-width: 1440px) {

}

/* Tablet */
@media (max-width: 1024px) {
	.tomHr span:nth-child(n+5) {
		display: none;
	}
}

/* Phone */
@media (max-width: 600px) {

	.pc-only {
		display: none;
	}

	.mobile-only {
		display: block;
	}

    #main {
		background-image: url(IMG/main_phone.jpg);

        grid-template-columns: 1fr;
        justify-items: center;
		align-items: end;
    }

    #main_para {
        grid-column: 1;
        width: 90%;
		margin-bottom: 30px;
    }

	.tomHr span:nth-child(n+3) {
		display: none;
	}
}




