@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
}
p {
    font-size: 0.9rem;
}
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
    /*background-color: #402218cf;*/
}

::-webkit-scrollbar {
    width: 12px;
    border-radius: 10px;
}

::-webkit-scrollbar-track {
    background-color: rgb(242, 242, 242);
}

::-webkit-scrollbar-thumb {
    background-color: #ffce09;
    border-radius: 10px;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.nav-top {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	display: flex;
	align-items: center;
	padding: 0 3vw 0 5vw;
	box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
	height: 91px;
}
.nav-top > div:first-child {
	display: flex;
	gap: 9px;
	align-items: center;
}
.nav-top > div:first-child > div > div:first-child {
	color: red;
	font-family: 'Montserrat', sans-serif;
	font-size: 3vw;
	font-weight: bold;
	text-shadow: 0 0 2px #39f, 0 0 1px #1f7;
}
.nav-top > div:first-child > div > div:last-child {
	font-size: 2.5vw;
	font-weight: bold;
	text-shadow: 0 0 2px #39f, 0 0 1px #1f7;
}
.nav-top img {
	max-height: 85px;
	max-width: 85px;
}
.nav-top > div.nav-space {
	flex: 1 1 auto;
}
.nav-content1 {
	border-radius: 9px 0 0 9px;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	font-size: 1.1rem;
	font-weight: bold;
	position: fixed;
	top: 21px;
	right: 0;
	transform: translateX(100%);
	padding: 95px 3vw 1rem 5vw;
	align-items: flex-end;
	max-width: 100vw;
	transition: transform 0.5s;
	background: rgba(0,0,0,0.7);
}
.nav-content1 a {
	color: white;
	text-decoration: none;
}
.nav-burger {
	position: fixed;
	top: 21px;
	right: 3vw;
	font-size: 1.5rem;
	font-weight: bold;
	border: 3px solid #ccc;
	border-radius: 9px;
	padding: 5px 11px;
	cursor: default;
}
.nav-content1.active {
	transform: translateX(0%);
}
@media only screen and (min-width: 600px) {
	.nav-top {
		padding: 0 1vw;
	}
	.nav-top > div:first-child > div > div:first-child {
		font-size: 1.3rem;
	}
	.nav-top > div:first-child > div > div:last-child {
		font-size: 1rem;
	}
	.nav-burger {
		display: none;
	}
	.nav-content1 {
		position: static;
		flex-direction: row;
		align-self: center;
		align-items: center;
		background: none;
		height: 91px;
		transform: translateX(0%);
		padding: 0 5vw;
		gap: 1.5rem;
	}
	.nav-content1 > a {
		color: #313131;
	}
}

/*--------------------------------------------------------------
# theme
--------------------------------------------------------------*/

.theme1 {
	color: #990000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: 1vmin;
	width: 100vw;
}
.theme1 p { text-align: justify; }
.theme1 > h1, .theme1 h3 {
	margin-bottom: 1vmin;
	text-align: center;
}
.theme1 > div {
	display: flex;
	flex-direction: column;
	gap: 5vh;
	padding: 7vmin;
}
.theme1 > div > div {
	border-radius: 11px;
	box-shadow: 0 0 21px 3px rgba(0,0,0,0.1);
	padding: 5vmin;
}
@media only screen and (min-width: 600px) {
	.theme1 {
		padding: 1vh 1vw;
	}
	.theme1 > h1 {
		letter-spacing: 2px;
	}
	.theme1 > div {
		display: flex;
		flex-flow: row wrap;
		gap: 3vw;
		justify-content: center;
	}
	.theme1 > div > div {
		padding: 2.1vh 1.5vw;
		width: 25vw;
	}
}

.theme2 {
	color: #990000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: 1vmin;
	width: 100vw;
}
.theme2 p { text-align: justify; }
.theme2 > h1 {
	text-align: center;
}
.theme2 > h1, .theme2 h3, .theme2 h4 {
	margin-bottom: 1vmin 0;
}
.theme2 > div {
	display: flex;
	flex-direction: column;
	gap: 5vh;
	padding: 7vmin;
}
.theme2 > div > div {
	border-radius: 11px;
	box-shadow: 0 0 21px 3px rgba(0,0,0,0.1);
	padding: 5vmin;
}
@media only screen and (min-width: 600px) {
	.theme2 {
		padding: 1vh 1vw;
	}
	.theme2 > h1 {
		letter-spacing: 2px;
	}
	.theme2 > div {
		display: flex;
		flex-flow: row wrap;
		gap: 3vw;
		justify-content: center;
	}
	.theme2 > div > div {
		padding: 2.1vh 1.5vw;
		width: 25vw;
	}
}

.theme3 {
	color: #990000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: 1vmin;
	width: 100vw;
}
.theme3 > h1 {
	margin-bottom: 1vmin;
	text-align: center;
}
.theme3 > div {
	display: flex;
	flex-direction: column;
	gap: 5vh;
	padding: 7vmin;
}
.theme3 > div > div {
	display: grid;
	gap: 5px;
	grid-template-columns: min-content min-content 1fr;
	padding: 5vmin;
}
.theme3 img {
	align-self: center;
	height: 31px;
	margin-right: 3px;
}
.theme3 > div > div h3 {
	align-self: end;
	grid-column: 2/4;
}
.theme3 p { text-align: justify; }
@media only screen and (min-width: 600px) {
	.theme3 {
		padding: 1vh 1vw;
	}
	.theme3 > h1 {
		letter-spacing: 2px;
	}
	.theme3 > div {
		flex-flow: row wrap;
		gap: 5vw;
		justify-content: center;
		padding: 1vmin 5vw;
	}
	.theme3 > div > div {
		padding: 2.1vh 1.5vw;
		width: 30vw;
	}
}

.lokasi {
	color: #990000;
	display: flex;
	flex-direction: column;
	gap: 1vmin;
	justify-content: center;
	min-height: 100vh;
	padding: 1vmin;
	width: 100vw;
}
.lokasi > h1, .lokasi h3 {
	text-align: center;
}
.lokasi > div {
	display: flex;
	flex-direction: column;
	gap: 5vh;
	padding: 7vmin;
}
.lokasi > div > div {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 5vmin;
}
@media only screen and (min-width: 600px) {
	.lokasi {
		padding: 1vh 1vw;
	}
	.lokasi > h1 {
		letter-spacing: 2px;
	}
	.lokasi > div {
		flex-flow: row wrap;
		gap: 5vw;
		justify-content: center;
		padding: 1vmin 5vw;
	}
	.lokasi > div > div {
		padding: 2.1vh 1.5vw;
		width: 30vw;
	}
}

.container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 70px 0px 40px;
}

.judul {
    font-size: 35px;
    text-align: center;
    font-weight: 600;
    letter-spacing: 2px;
    color: #990000;
    margin: 10px 0px 15px;
}

/*--------------------------------------------------------------
# Beranda
--------------------------------------------------------------*/
.beranda {
	width: 100vw;
	height: 100vh;
    background-image: url(../img/img2.jpg);
    background-size: contain;/*cover;*/
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.beranda span {
	color: #fff;
	font-size: 3.3vw;
	/*text-transform: uppercase;*/
	letter-spacing: 2px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	max-width: 90%;
	text-align: center;
	text-shadow: 0 0 3px #901515;
	white-space: pre;
}

.map {
    height: 350px;
}

.area-kontak {
    width: 500px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
	background-color: #001921;
	color: #000000;
	font-family: 'Montserrat', sans-serif;
	width: 100%;
	padding: 50px 20px;
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

.footer-1 .footer-logo {
    display: flex;
    align-items: center;
}

.footer-logo img {
    width: 60px;
    height: 60px;
    margin-right: 10px;
}

.footer-logo h1 {
    font-size: 20px;
    letter-spacing: 1px;
}

.footer-1 p {
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
    margin-bottom: 20px;
    color: #fff;
}

.sosial-media img {
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

.footer-1,
.footer-2,
.footer-3,
.footer-4 {
	color: #fff;
	display: flex;
	flex-direction: column;
	margin: 10px;
}

.footer-2 h1,
.footer-3 h1,
.footer-4 h1 {
    font-size: 20px;
    margin-bottom: 10px;
}

.footer-2 a,
.footer-4 a {
    color: #fff;
    margin-bottom: 5px;
}

.footer-4 a:hover {
    color: #ffce09;
}

.footer-3 p {
    font-size: 15px;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

footer {
    width: 100%;
    height: 100%;
    background-color: #001921;
}

footer h1 {
    text-align: center;
    line-height: 50px;
    color: rgb(0, 0, 0);
    font-size: 1rem;
}

footer h1 a {
    color: #000000;
    display: inline-block;
}

footer h1 a:hover {
    color: #ffce09;
}

@media screen and (max-width:768px) {
    .footer {
        flex-direction: column;
    }

}

@media only screen and (min-width: 768px) {
	.map {
		width: 30vw;
	}
}