@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  gap: 1em;
}

.form-container {
  box-shadow: 0 4px 8px 0 rgba(53, 105, 128, 0.3),
    0 6px 20px 0 rgba(165, 200, 213, 0.41);
  display: flex;
  border-radius: 10px;
  background: #fff;
  margin: 1em;
  width: 50%;
}

.form-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
  padding: 2em;
  margin-top: 4em;
  width: 50%;
  box-shadow: 0 4px 8px 0 rgba(53, 105, 128, 0.3),
    0 6px 20px 0 rgba(165, 200, 213, 0.41);
  background: #fff;
  border-radius: 10px;
}

.form-header img {
  width: 40%;
}

form {
  width: 100%;
  padding: 2em;
  padding-top: 0;
}

form .input-group {
  display: flex;
  flex-direction: column;
  gap: 1em;
  width: 100%;
  margin: 2em 0;
}

.input-group small{
    color: #aaa;
}

form .divisor {
  margin-top: 5em;
}

.input-group input,
select {
  border-radius: 5px;
  padding: 0.5em;
  border: 1px solid #ccc;
  font-size: 1.1rem;
}

.input-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2em;
  margin: 2em 0;
}

.input-3-grid{
  display: grid;
  grid-template-columns: 40% 30% 20%;
  gap: 2em;
  margin: 2em 0;
}

.radios-group {
  display: flex;
  gap: 4em;
  margin-bottom: 2em;
}

form p {
  margin: 1em 0;
}

.input-grid .input-group {
  margin: 0;
}

.label-active {
  background: #0a5582 !important;
}

.file input {
  width: min-content;
  font-size: 0.5em;
  display: none;
}

.file .label {
  display: grid;
  grid-template-columns: 1fr 9fr;
  align-items: center;
  background: #8A8C8F;
  color: #fff;
  padding: 1em;
  border-radius: 5px;
}

.label ion-icon {
  font-size: 1.5em;
}

.file {
  display: flex;
  flex-direction: column;
  max-width: 100%;
}

.file img {
  width: 50%;
  object-fit: cover;
  align-self: center;
}

input:focus {
  outline: none;
  border: 1px solid #0a5582;
}

.btn-submit {
  margin: 2em 0;
  padding: 1em 3em;
  border: 0;
  border-radius: 20px;
  background: #0a5582;
  color: #fff;
}


@media screen and (max-width: 768px) {

  form{
    padding: 1em;
  }

  .input-grid{
    grid-template-columns: 1fr;
    gap: 1em;
    margin: 1em 0;
  }

  .input-grid .input-group, .input-3-grid .input-group{
    margin: 1em 0;
  }

  .input-3-grid{
    grid-template-columns: 1fr;
    gap: 1em;
    margin: 1em 0;
  }

  .radios-group{
    flex-direction: column;
    gap: 1em;
    margin: 0;
  }

  .form-container, .form-header{
    width: 90%;
  }
}