:root {
  --color-main: #002662;
  --color-main-rect1: #285ba0;
  --color-main-rect2: #538dcf;
  --color-main-rect3: #8fc0ef;
  --color-main-rect4: #c5e0f7;
  --color-secondary: #36aba5;
  --color-secondary-rect1: #63ccbd;
  --color-secondary-rect2: #87e5d0;
  --color-secondary-rect3: #b3f6e1;
  --color-secondary-rect4: #d8faec;
  --text-dark-primary: #1d2433;
  --text-dark-secondary: #4a505c;
  --text-dark-disabled: #6c717a;
  --text-light-primary: #ffffff;
  --text-light-secondary: #c1c2c4;
  --text-light-disabled: #9d9ea1;
  --base-background: #f8f9fc;
  --secondary-background: #f1f3f9;
  --border: #f1f1f1;
  --info-pressed: #003f68;
  --info-hover: #00547c;
  --info-default: #016d91;
  --info-background: #ebf9fe;
  --success-pressed: #0a571b;
  --success-hover: #0e681b;
  --success-default: #147a19;
  --success-background: #e0fddf;
  --warning-pressed: #9a8000;
  --warning-hover: #b89c00;
  --warning-default: #d6b900;
  --warning-background: #fcf8ca;
  --error-pressed: #970f1a;
  --error-hover: #b51616;
  --error-default: #d32e1f;
  --error-background: #fce3d1;
  --gradient-info: linear-gradient(to right, rgba(0, 76, 232, 1), rgba(111, 158, 255, 1));
  --gradient-success: linear-gradient(to right, rgba(0, 194, 71, 1), rgba(115, 255, 166, 1));
  --gradient-warning: linear-gradient(to right, rgba(255, 225, 106, 1), rgba(255, 229, 128, 0.21));
  --gradient-error: linear-gradient(to right, rgba(255, 51, 51, 1), rgba(255, 138, 155, 1));
  --greyscale-900: rgba(33, 33, 33, 1);
  --greyscale-800: rgba(66, 66, 66, 1);
  --greyscale-700: rgba(97, 97, 97, 1);
  --greyscale-600: rgba(117, 117, 117, 1);
  --greyscale-500: rgba(158, 158, 158, 1);
  --greyscale-400: rgba(189, 189, 189, 1);
  --greyscale-300: rgba(224, 224, 224, 1);
  --greyscale-200: rgba(238, 238, 238, 1);
  --greyscale-100: rgba(245, 245, 245, 1);
  --greyscale-50: rgba(250, 250, 250, 1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  border: none;
  text-decoration: none;
}

html,
body {
  font-family: "Montserrat", sans-serif;
  scroll-behavior: smooth;
  background-color: var(--base-background);
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.68) 75.48%, rgba(197, 224, 247, 0.5) 100%);
}

h1 {
  font-weight: bold;
  font-size: 48px;
}

h2 {
  font-weight: bold;
  font-size: 40px;
}

h3 {
  font-weight: bold;
  font-size: 32px;
}

h4 {
  font-weight: bold;
  font-size: 24px;
}

h5 {
  font-weight: bold;
  font-size: 20px;
}

h6 {
  font-weight: bold;
  font-size: 18px;
}

/* header style  */

header {
  background-color: var(--base-background);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 7%;
  border-bottom: 1px solid var(--text-light-secondary);
}

header .logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

header .logo img {
  width: 199px;
  height: 37px;
}

header .navigation {
  display: flex;
  justify-content: center;
  align-items: center;
}

header .navigation a {
  color: var(--color-main);
  font-weight: bold;
  margin: 0 1rem;
}

header .navigation .avatar {
  margin: 0 1rem;
}

header .hamburger {
  display: none;
}

/* main style  */

main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.68) 75.48%, rgba(197, 224, 247, 0.5) 100%);
}

main .main-image {
  width: 800px;
  max-width: 1000px;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  background: linear-gradient(0deg, rgba(1, 1, 3, 0.8) 10%, rgba(0, 38, 98, 0.3) 100%), linear-gradient(0deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%), url(./image/Picture_Kereta.png), lightgray 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid #101010;
  position: relative;
  flex-shrink: 0;
  color: var(--text-light-primary);
}

main .main-image .rectangle {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 745px;
  margin: 1.7rem 0 1.7rem 1.7rem;
}

main .main-image .rectangle .location {
  display: flex;
  align-items: center;
  justify-content: center;
}

main .main-image .rectangle .location .pin-location {
  padding: 10px;
  border-radius: 4px;
  background: rgba(197, 224, 247, 0.5);
}

main .main-image .rectangle .current-location {
  margin-left: 10px;
}

main .main-image .rectangle .nonslide {
  display: flex;
  justify-content: flex-end;
}

main .main-image .rectangle .nonslide .slide {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 7px;
}

main .main-image .rectangle .nonslide .slide:nth-child(1) {
  background-color: var(--color-secondary);
}

main .main-image .rectangle .nonslide .slide:nth-child(2) {
  background-color: #e0e0e0;
}

main .main-image .rectangle .nonslide .slide:nth-child(3) {
  background-color: #e0e0e0;
}

main .container {
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.68) 75.48%, rgba(197, 224, 247, 0.5) 100%);
}

main .container .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  align-self: stretch;
}

main .container .logo img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  margin-bottom: 12px;
}

main .container .logo h6 {
  color: var(--text-dark-primary);
  margin-bottom: 6px;
}

main .container .logo p {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  color: var(--text-dark-secondary);
  font-style: normal;
  font-weight: 400;
  line-height: 22.4px;
  letter-spacing: 0.2px;
  padding: 0 3.5rem;
  margin-bottom: 10px;
}

main .container form {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

main .container .form {
  display: flex;
  margin-top: 10px;
}

input,
select {
  width: 15rem;
  padding: 10px;
  box-sizing: border-box;
  font-size: 16px;
  color: var(--text-dark-disabled);
  border-right: 1px solid var(--border);
  background: var(--primary-background);
  cursor: pointer;
}

main .container .btn1 {
  background-color: var(--color-main);
  color: var(--text-light-primary);
  border: none;
  padding: 10px;
  font-size: 16px;
  margin-top: 24px;
  width: 18rem;
  border-radius: 5px;
}

main .container .btn2 {
  background-color: var(--color-main-rect4);
  color: var(--color-main);
  border: none;
  padding: 10px;
  font-size: 16px;
  margin-top: 10px;
  width: 18.1rem;
  border-radius: 5px;
}

main .container .footer {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 12px;
  font-style: normal;
  color: var(--text-dark-secondary);
  width: 100%;
}

/*===================== responsive media ===================*/
/* laptop */
@media (max-width: 1366px) {
  html {
    font-size: 75%;
  }

  input,
  select {
    width: 22rem;
  }

  main .container .btn1,
  main .container .btn2 {
    width: 27rem;
  }
}

/* tablet */
@media (max-width: 768px) {
  html {
    font-size: 62.5%;
  }

  header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  }

  header .logo img {
    width: auto;
    height: 21px;
    margin: 10px 0;
  }

  header .navigation {
    display: none;
  }

  header .hamburger {
    display: inline-block;
    cursor: pointer;
  }

  main .main-image {
    display: none;
  }

  input,
  select {
    width: 22rem;
  }

  main .container {
    padding: 10rem 0 0 0;
  }

  main .container .btn1,
  main .container .btn2 {
    width: 27rem;
  }

  main .container .footer {
    position: absolute;
    bottom: 4rem;
  }
}

/* handphone */
@media (max-width: 450px) {
  html {
    font-size: 55%;
  }

  header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  }

  header .logo img {
    width: auto;
    height: 21px;
    margin: 10px 0;
  }

  header .navigation {
    display: none;
  }

  header .hamburger {
    display: inline-block;
    cursor: pointer;
  }

  main .main-image {
    display: none;
  }

  input,
  select {
    width: 22rem;
  }

  main .container {
    padding: 10rem 0 0 0;
  }

  main .container .btn1,
  main .container .btn2 {
    width: 27rem;
  }

  main .container .footer {
    position: relative;
    margin: 10rem 0;
  }
}
