/**
 * Form elements
 */

input, select {
  border: 1px solid #373737;
  padding: 10px;
  font-size: 0.875rem;
  --tc: #222;
}

input[type=text] {
  -webkit-appearance: none;
}

button, .button {
  color: var(--bc);
  background-color: var(--bbc);
  font: 700 medium var(--sans);
  border: 1px solid transparent;
}

button:hover, 
.button:hover {
  color: var(--bc);
}

.button {
  display: inline-block;
  align-self: flex-start;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  padding: .4em 1em;
  box-sizing: border-box;
  border-radius: 2px;
  --ld: none;
  --lhd: none;
}

.button.big {
  padding: 10px 35px;
}

.button.ghost {
  border-color: #4a4a4a;
}


.button.social {
  border-color: #4a4a4a;
  margin-bottom: 5px;
  width: 100%;
}

.button.social:last-child {
    margin-bottom: 0px;
}

.button.social:before {
  content:'';
  font-family: "Font Awesome 5 Brands";
  display: inline-block;
  margin-right: 10px; 
}

.button.social.facebook:before {
  content:'\f39e';
  color: #3b5998;
}

.button.social.google:before {
  content:'\f1a0';
  color: #b82000;
}

.button.social.apple:before {
  content:'\f179';
  color: #000;
}

.button.social.twitter:before {
  content:'\f099';
  color: #00aae5;
}

.button.social.paypal:before {
  content:'\f1ed';
  color: #00457C;
}

.button.pill {
  border-radius: 1.5em;
}

/**
 * Custom selects 
 * This utilizes expander and buttons
 * */

.select {
  background-color: white;
  border: 1px solid #ddd;
  position: relative;
}

.select .button {
  border: none;
  justify-content: space-between;
  padding-left: 5px;
  padding-right: 10px;
  text-transform: none;
  font-weight: 400;
  text-align: left;
}

.select .options {
  border: 1px solid #ddd;
}

.select .options .button {
  align-self: stretch;
}

.select .options .selected {
  font-weight: 700;
}

.select .expander.open {
  border-bottom-color: transparent;
}

.select .expander.open ~ .options {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: absolute;
  top: 100%;
  left: -1px;
  background-color: white;
  border: 1px solid #ddd;
  border-top: none;
  width: 100%;
  z-index: 100;
}
