* {
  box-sizing: border-box;
}

body {
  margin: 0px;
  font-family: 'Montserrat', sans-serif;
  background-color: #fafafa;
  color: #2E2F42;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: background-color 150ms ease-in-out;
}
ul{
  list-style: none;
  padding: 0;
}
button{
  display: block;
  border-color: transparent;
  font-weight: 500;
  background-color: #4e75ff;
  color: #fff;
  font-family: inherit;
  border-radius: 8px;
  padding: 8px 16px;
  transition: background-color 150ms ease-in-out;
}
button:hover{
  background-color: #6c8cff;
}
input{
  display: block;
  outline: transparent;
  border-radius: 4px;
  border: 1px solid #808080; 
  width: 360px;
  height: 40px;
  transition: border-color 150ms ease-in-out;
}
input:hover{
  border-color: black;
}

.widget{
  text-align: center;
  display: block;
  margin-top: 100px;
}
.change-color{
  margin: 16px auto 0;
  width: 148px;
  height: 40px;
}
.login-form{
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 480px;
  margin: auto;
}
.login-form label{
  display: block;
}
.login-form:nth-child(2){
  margin-top: 8px;
}
.login-form input{
  margin-top: 8px;
}
.login-form button{
  display: block;
  margin-top: 8px;
  width: 86px;
  height: 40px;
}


#name-input{
  display: block;
  margin: auto;
  margin-bottom: 16px;
  padding-left: 16px;
}
#name-input::placeholder{
  font-family: 'Montserrat', sans-serif;
  padding: 8px 0px;
  color: inherit;
}
h1{
  text-align: center;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.33;
}


.gallery{
  margin: 0 auto;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  width: 1200px;
}
.gallery-item{
  flex-basis: calc((100% - 2*24) / 3);
}


#categories{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.item{
  background-color:  #f6f6fe;
  padding: 16px;
  width: 392px;
  margin: 0 auto;
}
.item h2{
  font-weight: 600;
  font-size: 24px;
  line-height: 1.33;
}
.item ul{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.item ul li{
  border: 1px solid #808080;
  border-radius: 4px;
  padding: 8px 0px 8px 16px;
}