html, body{
    margin:0;
    padding:0;
    overflow-x:hidden;
}

body{
  background: #f2f2f2;
  margin: 0;
}

.header-icon{
    width: 40px;
    margin: 8px 15px;
    position: absolute;
}

.container{
  font-family: "Rubik Storm", system-ui;
  font-weight: 400;
  text-align: center;
  color: #3B7597;
  margin-bottom: 30px;
  font-style: normal;
}

.hero-title{
  font-family: "Creepster", system-ui;
  font-weight: 400;
  font-size: 60px;
  font-style: normal;
}

.hero-title span {
  color: #d18b2c;
  font-weight: bold;
}

/* ---------------------------------- Image Slider---------------------------------- */

.section-slider {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 30px;
    margin-bottom: 40px;
}

.image-slider {
    position: relative;
    width: 640px;
    height: 426px;
    z-index: 10;
}

.slide {
    width: 100%;
    position: absolute;
    clip-path: circle(0% at 0 50%);
    transition: clip-path 1.5s ease-in-out;
}


.slide img {
    width: 100%;
    border-radius: 15px;
}

.slide-text {
    position: absolute;
    bottom: 50px;
    left: 30px;
    background-color: rgba(220, 220, 220, 0.609);
    padding: 15px;
    border-radius: 10px;
}

.slide-text h2 {
    font-size: 30px;
    padding: 0;
    margin: 0;
}

.slide-text p {
    font-size: 15px;
    padding: 0;
    margin: 0;
}

.navigation {
    position: absolute;
    display: flex;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.slider-btn {
    background-color: rgb(151, 151, 151);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    cursor: pointer;
    margin: 0 5px;
}

.slide.active {
    clip-path: circle(150% at 50% 50%);
    transition: 2s;
    transition-property: clip-path;
}

.slider-btn.active {
    background-color: rgb(38, 70, 83);
}

/* ================= PENDAFTARAN ================= */

.form-card{
border:none;
border-radius:25px;
}

.form-title{
font-family:"Rubik Storm", system-ui;
text-align:center;
font-size:50px;
color:#3B7597;
margin-bottom:30px;
}

/* label di kiri */

.form-card label{

display:block;
text-align:left;
font-family:Arial,sans-serif;
font-size:18px;
margin-bottom:8px;
color:#3B7597;
font-weight: bold;

}

/* input pakai Arial */

.form-card .form-control,
.form-card .form-select,
.form-card textarea{

font-family:Arial,sans-serif;
font-size:16px;
padding:14px;
border-radius:12px;
border:1px solid #ddd;

}

.form-card .form-control::placeholder,
.form-card textarea::placeholder{

font-family:Arial,sans-serif;

}

.form-card .form-control:focus,
.form-card .form-select:focus{

border-color:#0d6efd;
box-shadow:0 0 10px rgba(13,110,253,.2);

}

.form-btn{

padding:14px;
font-weight:bold;
font-family:Arial,sans-serif;
border-radius:12px;

}

@media(max-width:768px){

.form-title{

font-size:35px;

}

}

/* dashboard */
.dashboard{

padding:50px 0;

}

.dashboard-title{

text-align:center;
margin-bottom:40px;

}

.dashboard-title h1{

font-size:45px;
font-weight:bold;
color:#1B3098;

}

.dashboard-title p{

color:gray;

}

.card{

border-radius:20px;

overflow:hidden;

}

.table thead{

background:#1B3098;
color:white;

}

.table td{

vertical-align:middle;

}

.btn{

border-radius:10px;

}

.btn-warning{

color:white;

}

@media(max-width:768px){

.dashboard-title h1{

font-size:30px;

}

}

/* program */
.program-title{

font-size:50px;
font-weight:bold;
color:#1B3098;
margin-bottom:50px;

}

.program-card{

border:none;
border-radius:20px;
overflow:hidden;
transition:.4s;

}

.program-card:hover{

transform:translateY(-10px);

}

.program-card img{

height:220px;
object-fit:cover;

}

.card-body{

padding:20px;

}

.card-body h4{

color:#1B3098;
font-weight:bold;

}

.card-body p{

font-size:15px;

}

@media(max-width:768px){

.program-title{

font-size:35px;

}

}   

/* visi misi */
.visi-misi{

background:#111827;
padding:80px 0;

}

.visi-misi h1{

color:white;
font-weight:bold;
font-size:45px;
font-family: "Rubik Storm", system-ui;

}

.visi-card,
.misi-card{

background:white;
padding:30px;
border-radius:20px;
height:100%;
transition:.4s;

}

.visi-card{

border-top:6px solid #1B3098;

}

.misi-card{

border-top:6px solid #d4af37;

}

.visi-card:hover,
.misi-card:hover{

transform:translateY(-8px);

}

.visi-card h3,
.misi-card h3{

color:#1B3098;
font-weight:bold;
margin-bottom:20px;
font-family: "Rubik Storm", system-ui;;

}

.misi-card ul{

padding-left:18px;

}

/* about us */
.tentang-kami{

background:linear-gradient(
135deg,
#111111,
#1c1c1c
);

padding:100px 0;
overflow:hidden;

}

.tentang-kami h1{

font-size:50px;
font-weight:bold;
color:white;
margin-bottom:25px;

}

.tentang-kami p{

color:#d9d9d9;
line-height:30px;
font-size:17px;
font-family: Arial, Helvetica, sans-serif;

}

.gallery-box{

position:relative;
height:350px;

}

.foto1{

width:230px;
height:280px;
object-fit:cover;
border-radius:20px;
position:absolute;
top:20px;
left:50px;
box-shadow:0 10px 30px rgba(0,0,0,.4);

}

.foto2{

width:230px;
height:280px;
object-fit:cover;
border-radius:20px;

position:absolute;
top:90px;
right:50px;

border:5px solid #1B3098;

box-shadow:0 10px 30px rgba(0,0,0,.4);

}

.btn{

margin-top:15px;
padding:12px 30px;
border-radius:30px;

}

@media(max-width:768px){

.tentang-kami{

text-align:center;

}

.gallery-box{

height:auto;
display:flex;
justify-content:center;
gap:20px;
margin-top:40px;
flex-wrap:wrap;

}

.foto1,
.foto2{

position:static;
width:160px;
height:200px;

}

}

.footer-section{
    background-color: #0b0f1a;
    border-top: 3px solid #1B3098;
    width: 100%;
    margin-top: 0;
}

.text-purple{
    color: #1B3098;
}

.footer-logo{
    transition: 0.3s;
}

.footer-logo:hover{
    transform: scale(1.1);
}

/* kontak */
.kontak-section{

padding:80px 0;
background-color: #f2f2f2;

}

.kontak-section h1{

font-size:45px;
font-weight:bold;
color:#1B3098;

}

.info-box,
.form-box{

background:white;
padding:30px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.1);

}

.map-box iframe{

width:100%;
height:250px;
border:none;
border-radius:15px;
margin-top:20px;

}

.form-control{

padding:12px;
border-radius:10px;
font-family: Arial, Helvetica, sans-serif;

}