.btn {
  padding: 0.5rem 1.25rem;
}
.btn-submit {
  background: #e2001a;
  color: #fff;
  font-weight: bold;
}
.btn-submit:hover {
  background: #f6001d;
  color: #fff;
}

#ng-cc {
  position: fixed;
  z-index: 100;
  left: 0;
  bottom: 0;
  top: 0;
  font-size: 1rem;
}

.ng-cc-toggle {
  position: absolute;
  z-index: 20;
  left: 0;
  bottom: 0;
  background: #e2001a;
  color: #fff;
  font-size: 1rem;
  display: block;
  padding: 0.5rem;
  line-height: 100%;
  cursor: pointer;
}

#ng-cc .ng-cc-modal {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  overflow-y: auto;
  background: #eee;
  color: #494949;
  padding: 2em 2em 3em;
  width: 28em;
  transform: translate3d(-100%, 0, 0);
  transition: transform .4s;
  box-shadow: -6px 0 7px 5px rgba(0,0,0,0.6);
  z-index: 100;
}

#ng-cc .ng-cc-modal p {
  color: inherit;
  font-size: 0.9rem;
}

#ng-cc .ng-cc-modal .ng-cc-close-btn {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 2em;
  text-align: center;
  line-height: 2;
  color: #fff;
}

#ng-cc .ng-cc-modal .ng-cc-close-btn i {
  font-size: 1.25em;
}

#ng-cc .ng-cc-overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.35);
  transform: translate3d(0, -100%, 0);
  opacity: 0;
  transition: opacity .4s;
  z-index: 50;
}

#ng-cc .ng-cc-optional-list {
  list-style-type: none;
  margin: 2em 0 .5em;
  padding: 0;
}

#ng-cc .ng-cc-optional-list > li {
  padding: 1.5em 0;
  border-top: 1px solid #494949;
}

#ng-cc .ng-cc-optional-list > li p {
  margin: 0;
  font-size: 0.9rem;
}

#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox {
  position: absolute;
  pointer-events: all;
}

#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox + label {
  display: block;
  position: relative;
  font-size: 1.25em;
  line-height: 150%;
  font-weight: 700;
  margin: 0 0 .25em;
  padding: 0 0 0 1.25em;
  cursor: pointer;
}

#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox {
  opacity:0;
  left:-9999em
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label {
  padding: 0 0 0 4.5rem;
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon {
  position:absolute;
  left:0;
  top:.25em;
  border-radius:500em;
  width: 3.5rem;
  height:1em;
  background:#fff;
  border: 1px solid #808080;
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon:before {
  content:"";
  position:absolute;
  height:100%;
  width:50%;
  left:0;
  top:0;
  border-radius:500em;
  background:grey;
  -webkit-transition:all .3s;
  transition:all .3s;
  z-index:2
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon span {
  font-size:.5em;
  font-weight:900;
  font-style:normal;
  text-transform:uppercase;
  color:#333;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon span:after,
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon span:before {
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  text-align:center;
  top: 1px;
  position: relative;
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon span:before {
  content:"An"
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox+label .ng-cc-checkbox-icon span:after {
  content:"Aus";
  opacity:.6;
  padding-right: 0.1rem;
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox:checked+label .ng-cc-checkbox-icon:before {
  left:50%;
  background:#e2001a;
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox:disabled+label {
  cursor:default
}
#ng-cc .ng-cc-optional-list .ng-cc-optional-checkbox:disabled+label .ng-cc-checkbox-icon {
  opacity:.2
}

#ng-cc .ng-cc-actions {
  margin: 2rem 0;
  text-align: right;
}

#ng-cc[open] .ng-cc-modal {
  transform: translate3d(0, 0, 0);
}

#ng-cc[open] .ng-cc-overlay {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 600px) {
  #ng-cc .ng-cc-modal {
    width: 100vw;
  }
}
