.cc-overlay {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 100;
}
.cc-banner {
  position: fixed;
  z-index: 101;
  background: white;
  padding-top: 15px;
  padding-bottom: 15px;
  transition: all 0.15s linear;
  box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.07);
}
.cc-banner.cc-banner-top {
  top: 0;
  left: 0;
  right: 0;
}
.cc-banner.cc-banner-top.cc-banner-closed {
  transform: translate(0, -100%);
}
.cc-banner.cc-banner-bottom {
  bottom: 0;
  left: 0;
  right: 0;
}
.cc-banner.cc-banner-bottom.cc-banner-closed {
  transform: translate(0, 100%);
}
.cc-icon {
  position: fixed;
  left: 10px;
  bottom: 9px;
  z-index: 99;
  cursor: pointer;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  background-color: white;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20%20width%3D%2250%22%20height%3D%2250%22%20viewBox%3D%220%200%2050%2050%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2300B9FC%22%20d%3D%22M24.4%2C3.4c-11.6%2C0-21%2C9.4-21%2C21s9.4%2C21%2C21%2C21s21-9.4%2C21-21c0-0.6%2C0-1.2-0.1-1.8c0-0.3-0.2-0.7-0.6-0.8%20c-0.3-0.2-0.7-0.1-1%2C0.1c-0.6%2C0.4-1.2%2C0.6-1.9%2C0.6c-1.5%2C0-2.7-0.9-3.2-2.2c-0.1-0.3-0.3-0.5-0.6-0.6c-0.3-0.1-0.6-0.1-0.8%2C0.1%20c-0.8%2C0.5-1.8%2C0.7-2.8%2C0.7c-3.3%2C0-6-2.7-6-6c0-1%2C0.3-2%2C0.7-2.8c0.1-0.3%2C0.2-0.6%2C0.1-0.8c-0.1-0.3-0.3-0.5-0.6-0.6%20c-1.3-0.5-2.2-1.8-2.2-3.2c0-0.7%2C0.2-1.3%2C0.6-1.9c0.2-0.3%2C0.2-0.7%2C0.1-1c-0.2-0.3-0.5-0.5-0.8-0.6C25.7%2C3.5%2C25.1%2C3.4%2C24.4%2C3.4z%20M37.4%2C3.4c-1.1%2C0-2%2C0.9-2%2C2s0.9%2C2%2C2%2C2s2-0.9%2C2-2S38.5%2C3.4%2C37.4%2C3.4z%20M24.4%2C5.4c0.1%2C0%2C0.3%2C0%2C0.4%2C0c-0.2%2C0.5-0.4%2C0.9-0.4%2C1.5%20c0%2C1.9%2C1.1%2C3.5%2C2.7%2C4.5c-0.4%2C0.9-0.7%2C2-0.7%2C3c0%2C4.4%2C3.6%2C8%2C8%2C8c1.1%2C0%2C2.1-0.3%2C3-0.7c1%2C1.5%2C2.5%2C2.7%2C4.5%2C2.7c0.5%2C0%2C1-0.3%2C1.5-0.4%20c0%2C0.1%2C0%2C0.3%2C0%2C0.4c0%2C10.5-8.5%2C19-19%2C19s-19-8.5-19-19S13.9%2C5.4%2C24.4%2C5.4z%20M35.9%2C11.4c-0.8%2C0-1.5%2C0.7-1.5%2C1.5s0.7%2C1.5%2C1.5%2C1.5%20s1.5-0.7%2C1.5-1.5S36.8%2C11.4%2C35.9%2C11.4z%20M20.9%2C14.4c-0.8%2C0-1.5%2C0.7-1.5%2C1.5c0%2C0.8%2C0.7%2C1.5%2C1.5%2C1.5s1.5-0.7%2C1.5-1.5%20C22.4%2C15.1%2C21.8%2C14.4%2C20.9%2C14.4z%20M44.4%2C14.4c-0.6%2C0-1%2C0.4-1%2C1s0.4%2C1%2C1%2C1s1-0.4%2C1-1S45%2C14.4%2C44.4%2C14.4z%20M14.4%2C19.4c-1.7%2C0-3%2C1.3-3%2C3%20s1.3%2C3%2C3%2C3s3-1.3%2C3-3S16.1%2C19.4%2C14.4%2C19.4z%20M23.9%2C23.4c-0.8%2C0-1.5%2C0.7-1.5%2C1.5s0.7%2C1.5%2C1.5%2C1.5s1.5-0.7%2C1.5-1.5S24.8%2C23.4%2C23.9%2C23.4%20z%20M16.4%2C30.4c-1.1%2C0-2%2C0.9-2%2C2c0%2C1.1%2C0.9%2C2%2C2%2C2s2-0.9%2C2-2C18.4%2C31.3%2C17.5%2C30.4%2C16.4%2C30.4z%20M29.9%2C31.4c-1.4%2C0-2.5%2C1.1-2.5%2C2.5%20s1.1%2C2.5%2C2.5%2C2.5s2.5-1.1%2C2.5-2.5S31.3%2C31.4%2C29.9%2C31.4z%22%2F%3E%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 25px 25px;
  display: none;
}
.cc-icon.cc-icon-visible {
  display: block;
}
.cc-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
  /* Phone landscape and bigger */
  /* Tablet landscape and bigger */
  /*
	 * Open
	 */
}
@media (min-width: 640px) {
  .cc-modal {
    padding: 50px 30px;
  }
}
@media (min-width: 960px) {
  .cc-modal {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.cc-modal.cc-open {
  opacity: 1;
}
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.cc-modal-page {
  overflow: hidden;
}
/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.cc-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
  /*
	 * Open
	 */
}
.cc-open > .cc-modal-dialog {
  opacity: 1;
  transform: translateY(0);
}
.cc-modal-body {
  display: flow-root;
  padding: 30px 30px;
}
.cc-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
}
.cc-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
}
/*
 * Remove margin from the last-child
 */
.cc-modal-body > :last-child,
.cc-modal-header > :last-child,
.cc-modal-footer > :last-child {
  margin-bottom: 0;
}
/* Title
 ========================================================================== */
.cc-modal-title {
  font-size: 2rem;
  line-height: 1.3;
}
/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*='cc-modal-close-'] {
  position: absolute;
  z-index: 1010;
  top: 10px;
  right: 10px;
  padding: 5px;
}
/*
 * Remove margin from adjacent element
 */
[class*='cc-modal-close-']:first-child + * {
  margin-top: 0;
}
.cc-float-right {
  float: right;
}
.cc-text-center {
  text-align: center;
}
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.cc-container {
  display: flow-root;
  /* 1 */
  box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  /* Phone landscape and bigger */
  /* Tablet landscape and bigger */
}
@media (min-width: 640px) {
  .cc-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 960px) {
  .cc-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.cc-container > :last-child {
  margin-bottom: 0;
}
.cc-container .cc-container {
  padding-left: 0;
  padding-right: 0;
}
.cc-container.cc-container-xsmall {
  max-width: 750px;
}
.cc-container.cc-container-small {
  max-width: 900px;
}
.cc-container.cc-container-large {
  max-width: 1400px;
}
.cc-container.cc-container-xlarge {
  max-width: 1600px;
}
.cc-container.cc-container-expand {
  max-width: none;
}
/* Size modifier
 ========================================================================== */
input.cc-checkbox {
  position: relative;
  -webkit-appearance: none;
  outline: none;
  width: 34px;
  height: 20px;
  background-color: #D9DADC;
  border: 1px solid #D9DADC;
  border-radius: 50px;
  /*box-shadow: inset -20px 0 0 0 #fff;*/
  transition: all 0.15s ease-in;
}
input.cc-checkbox:checked {
  background-color: #4ed164;
  border-color: #4ed164;
}
input.cc-checkbox:checked:after {
  left: 15px;
  box-shadow: -2px 4px 3px rgba(0, 0, 0, 0.05);
}
input.cc-checkbox:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  background: #FFF;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.15s ease-in;
}
input.cc-checkbox:disabled {
  opacity: 0.5;
}
