:root {
  --background: #ecf0f3;
  --shadow1: #d4dbe7;
  --shadow2: #fdfefe;
  --textColor: #000;
  --bgRounded: #e2e6e9;
}

[data-theme="light"] {
  --background: #ecf0f3;
  --shadow1: #d4dbe7;
  --shadow2: #fdfefe;
  --textColor: #7f7f7f;
  --bgRounded: #e2e6e9;
}

[data-theme="dark"] {
  --background: #303030;
  --shadow1: #282828;
  --shadow2: #383838;
  --textColor: #9f9f9f;
  --bgRounded: #272727;
}

.invert-svg {
  filter: invert(0.5);
  -webkit-filter: invert(0.5);
}

*,
html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

body {
  background: var(--background);
  font-family: "Nunito", sans-serif;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

button {
  background: transparent;
  border: none;
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 768px) {
  .container {
    width: 752px;
  }
}

@media (min-width: 1024px) {
  .container {
    width: 972px;
  }
}

@media (min-width: 1312px) {
  .container {
    width: 90vw;
  }
}

/* header */

header {
  margin-bottom: 50px;
}

.header {
  padding-top: 50px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.round-buttons-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 24px;
}

.user {
  background: var(--background);
  box-shadow: 10px 10px 12px var(--shadow1), -10px -10px 12px var(--shadow2);
  border: none;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 65px;
  width: 65px;
}

.user img {
  width: 24px;
}

/* Form */

.form-center {
  width: 100%;
  /* height: 80vh; */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

form .form-input {
  position: relative;
  background: var(--background);
  box-shadow: 21px 21px 42px var(--shadow1), -21px -21px 42px var(--shadow2);
  border: none;
  width: 550px;
  height: 90px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 25px;
}

form input {
  outline: none;
  width: 100%;
  padding: 20px 15px;
  background: transparent;
  border: none;
  color: var(--textColor);
}

.g-logo,
.mic-logo {
  width: 27px;
}

.mic-logo {
  width: 22px;
}

.round-buttons-grid {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 35px;
}

.round-buttons {
  background: var(--bgRounded);
  height: 50px;
  width: 50px;
  position: relative;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.round-buttons img {
  width: 18px;
}

/* Footer */

footer {
  height: 80px;
}

.footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.geolocation {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.geolocation img {
  width: 24px;
  margin-right: 15px;
}

.info-img,
.settings-img {
  width: 24px;
}

.info-img {
  margin-right: 24px;
}

/* Switch */

.dark-light-mode {
  display: flex;
  align-items: center;
}

input[type="checkbox"] {
  height: 0;
  width: 0;
  visibility: hidden;
}

label {
  cursor: pointer;
  text-indent: -9999px;
  width: 60px;
  height: 30px;
  display: block;
  border-radius: 100px;
  position: relative;
  background: #ecf0f3;
  box-shadow: inset 2px 2px 5px #d4dbe7, inset -2px -2px 5px #fdfefe;
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

label:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 20px;
  height: 20px;

  background: #fdfefe;
  box-shadow: 2px 2px 5px #d4dbe7, -2px -2px 5px #fdfefe;
  border-radius: 90px;
  transition: 0.3s;
}

input:checked + label {
  background: #4762ff;
  box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2),
    inset -2px -2px 3px rgb(37 36 84 / 20%);
}

input:checked + label:after {
  left: calc(100% - 5px);
  transform: translateX(-100%);

  box-shadow: 0px 0px 0px transparent, -0px -0px 0px transparent;
}

label:active:after {
  width: 30px;
}

@media (max-width: 992px) {
  .header {
    padding-top: 25px;
  }

  footer {
    height: 50px;
  }

  form .form-input {
    width: 90vw;
    height: 70px;
  }

  .mic-logo {
    width: 18px;
  }
}
