/**
 * CONTENTS
 *
 * COMPONENTS
 * Tab..................Tab-groups and tab styling.
 * Buttons..............Button elements.
 * Dropdown ............Dropdown.
 * Toast................Toast Style notifications
 * Loader...............Spinning loader animation
 * Input................Spinning loader animation
 * Modal ...............Modal window
 *
 */





/*------------------------------------*\
  #Tab
\*------------------------------------*/

.tab-group {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.tab {
  width: 17rem;
  height: 3.5rem;
  background: #F9F9F9;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.3rem;
  font-family: Barlow, sans-serif;
  color: #444444;
  cursor: pointer;
  box-sizing: border-box;
  margin: 0.25rem;
  border: 1px solid transparent;
  flex: 1;
  text-decoration: none;
}

.tab:hover {
  border: 1px solid #3F4F5C;
  box-shadow: 0px 0px 5px #3F4F5C;
}

.tab:not(.selected):hover {
  background: transparent radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.tab.selected {
  background: #AEEA00;
}

.tab.disabled {
  background: #F9F9F9;
  color: #B3B3B3;
  cursor: not-allowed;
}

.tab.disabled:active { pointer-events: none; }

.tab:not(.disabled) {
  background-position: center;
  transition: background 0.8s;
}

.tab:not(.disabled):active, .tab.selected:active {
  background-color: #3F4F5C33 !important;
  background-size: 100% !important;
  transition: background 0s !important;
}


.tab.selected:hover {
  background: #AEEA00 radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.tab.disabled:hover {
  border: 1px solid #EB321766;
  box-shadow: none;
}





/*------------------------------------*\
  #Buttons
\*------------------------------------*/

.myButton {
	box-shadow: 0 0 2px 0 #83c244;
  background: #b3b3b3;
  border-radius:4px;
	border:1px solid #ffffff;
	cursor:pointer;
	color:#fcfcfc;
	font-family:Dosis, sans-serif;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0 0 1px #525252;
  display: block;
  /*height: 1.4rem;*/
  font-size: 1.2rem;
  flex-grow: 0;
  text-wrap: nowrap;
  margin: 0 1em;

  &:first-child
  {
    margin-left:0;
  }

  &:hover {
    background: #b3b3b3;
  }
  &:active {
    position:relative;
    top:1px;
  }

  &.toggle{
    &.off{
      background: #F9F9F9;
      color: #444444;
    }
    &.on{
      background: #90CA0A;
    }
  }
}




.button {
  width: 17rem;
  height: 2.8rem;
  background: #F9F9F9;
  border: 1px solid #BEBEBE;
  border-radius: 17rem;
  box-sizing: border-box;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);

  margin: 0.25em;

  text-decoration: none;
  text-align: center;
  font-size: 1.2rem;
  line-height: 2.5rem;
  font-family: Barlow, sans-serif;
  color: #444444;
  cursor: pointer;
}

.button.circle {
  width: 2.8rem;
}

.button:hover {
  border: 1px solid #BEBEBE;
  box-shadow: 0px 0px 5px #3F4F5C;
}

.tab.disabled {
  background: #F9F9F9;
  color: #B3B3B3;
  cursor: not-allowed;
}

.button.disabled:hover {
  border: 1px solid #EB321766;
  box-shadow: none;
}

.button:not(.primary):hover {
  background: transparent radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.button.primary { background: #AEEA00; }

.button.primary:hover {
  background: #AEEA00 radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.button.secondary { background: #EEFF41; }

.button.secondary:hover {
  background: #EEFF41 radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.button.alert { background: #FF9D8E; }

.button.alert:hover {
  background: #FF9D8E radial-gradient(circle, transparent 1%, #3F4F5C33 1%) center/15000%;
}

.button:not(.disabled) {
  background-position: center;
  transition: background 0.8s;
}

.button:not(.disabled):active, .button.primary:active, .button.secondary:active {
  background-color: #3F4F5C33 !important;
  background-size: 100% !important;
  transition: background 0s !important;
}

/*button, .button {*/
/*  box-sizing: border-box;*/
/*  border: 1px solid transparent;*/
/*}*/

/*button:hover, .button:hover {*/
/*  border: 1px solid #3F4F5C;*/
/*  box-shadow: 0px 0px 5px #3F4F5C;*/
/*}*/

/*a.button.yellow, button.circle.yellow {*/
/*  background: #EEFF41;*/
/*}*/

/*a.button.circle, button.circle {*/
/*  outline: none;*/
/*  width: 44px;*/
/*  height: 44px;*/
/*  line-height: 38px;*/
/*  text-align: center;*/
/*  text-decoration: none;*/
/*  color: black;*/
/*  border-radius: 50%;*/
/*  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.25);*/
/*  cursor: pointer;*/
/*}*/

/*------------------------------------*\
  #Dropdown
\*------------------------------------*/

.dropdown {
  position: relative;
  width: 100%;
}

.dropdown > input[type="checkbox"] {
  position: absolute;
  left: -100vw;
  max-width: 10em;
  width: auto;
}

.dropdown > label,
.dropdown > a[role="button"] {
  /*padding: 6px 15px;*/
  /*color: #333;*/
  /*line-height: 1.5em;*/
  text-decoration: none;
  /*border: 1px solid #8c8c8c;*/
  cursor: pointer;
  /*-webkit-border-radius: 3px;*/
  /*-moz-border-radius: 3px;*/
  /*border-radius: 3px;*/

  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-top: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-width: 1px;
  border-radius: 0.375rem;
  border-color: rgb(229, 231, 235);
  border-right-color: rgb(174, 175, 179);
  border-bottom-color: rgb(174, 175, 179);

  height: 2.5rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dropdown > label:hover,
.dropdown > a[role="button"]:hover,
.dropdown > a[role="button"]:focus {
  border-color: rgb(174, 175, 179);
}

/*.dropdown > label:after,*/
/*.dropdown > a[role="button"]:after {*/
/*  content: "\f0d7";*/
/*  font-family: FontAwesome;*/
/*  display: inline-block;*/
/*  margin-left: 6px;*/
/*}*/

.dropdown > ul {
  position: absolute;
  z-index: 999;
  display: block;
  left: -100vw;
  top: calc(1.5em + 14px);
  border: 1px solid rgb(229, 231, 235);
  border-radius: 0.375rem;
  background: #fff;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  width: 100%;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-box-shadow: 0 3px 8px rgba(0,0,0,.15);
  -moz-box-shadow: 0 3px 8px rgba(0,0,0,.15);
  box-shadow: 0 3px 8px rgba(0,0,0,.15);
}

.dropdown > ul a {
  display: block;
  padding: 6px 15px;
  text-decoration: none;
  color: #333;
}

.dropdown > ul a:hover,
.dropdown > ul a:focus {
  background: #ececec;
}

.dropdown > input[type="checkbox"]:checked ~ ul,
.dropdown > ul:target {
  left: 0;
  max-width: 10em;
  width: auto;
}

/*.dropdown > [type="checkbox"]:checked + label:after,*/
/*.dropdown > ul:target ~ a:after {*/
/*  content: "\f0d8";*/
/*}*/

.dropdown a.close {
  display: none;
}

.dropdown > ul:target ~ a.close {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  text-indent: -100vw;
  z-index: 1000;
}


/*------------------------------------*\
  #Toast
\*------------------------------------*/
.toast-group {
  list-style: none;
  /*background: #fefefe;*/
  padding: 1em 0.3em;
  border-radius: 8px;
  position: absolute;
  right: 2em;
  top: 4em;
  z-index: 100;
}

.toast-group__toast {
  font-family: Dosis, sans-serif;
  background: #3F4F5C;
  color: whitesmoke;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  height: 34px;
  border-radius: 25px;
  border: none;
  outline: none;
  font-size: 14px;
  display: block;
  text-align: center;
  width: 100%;
  margin: 0.5em 0;
  text-decoration: none;
  padding: 0 2em;
  line-height: 240%;
  float: right;
}


/*------------------------------------*\
  #Loader
\*------------------------------------*/

.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.loader:after {
  background: #0dc5c1;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.loader--horizontal,
.loader--horizontal:before,
.loader--horizontal:after {
  border-radius: 50%;
  width: 1em;
  height: 1em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}

.loader--horizontal {
  text-decoration: none;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
  display: inline-block;
  margin-right: 2.5em;
  margin-left: 2.5em;
  top: -2.5em;
}

.loader--horizontal:before,
.loader--horizontal:after {
  content: '';
  position: absolute;
  top: 0;
}

.loader--horizontal:before {
  left: -1.8em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader--horizontal:after {
  left: 1.8em;
}

@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}


/*------------------------------------*\
  #Input
\*------------------------------------*/

label.small-label {
  display: block;
  color: #B3B3B3;
  font-size: 1em;
}

input[type=text], input[type=email], input[type=password] {
  display: block;
  width: 100%;
  border-radius: 0;
  outline: none;
  border: none;
  border-bottom: 2px solid black;
  font-family: "Barlow", sans-serif;
  font-size: 1.4em;
}

input::placeholder {
  color: #f3f3f3;
}

input:read-only
{
  border-color: #9c9c9c;
  color: #9c9c9c;
  cursor: not-allowed;
}


/* ------------------------------------ *\
  #Modal
\* ------------------------------------ */

.modal__background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100;
}

.modal__container {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 10px;
  transform: translate(-50%, -50%);
  z-index: 101;
  box-sizing: border-box;
  padding: 1em 2em;
}
