// -------------------------------------
//   User defined
// -------------------------------------

$item-background-color: #0A833D;
$item-color: #ffffff;

$button-small-size: 2em;
$button-middle-size: 3em;
$button-big-size: 4em;

$li-small-top: 2.6em;
$li-middle-top: 3.3em;
$li-big-top: 4.5em;

$a-small-size: 8em;
$a-middle-size: 10em;
$a-big-size: 14em;


// -------------------------------------
//   Sizing
// -------------------------------------

// are calculated
$wrapper-small-size: $a-small-size * 1.75;
$wrapper-middle-size: $a-middle-size * 1.75;
$wrapper-big-size: $a-big-size * 1.75;
$li-small-size: $a-small-size;
$li-middle-size: $a-middle-size;
$li-big-size: $a-big-size;

// sizing buttons
.cn-button {
  margin-top: - $button-middle-size / 2;
  margin-left: - $button-middle-size / 2;
  width: $button-middle-size;
  height: $button-middle-size;
}
.cn-button.small {
  margin-top: - $button-small-size / 2;
  margin-left: - $button-small-size / 2;
  width: $button-small-size;
  height: $button-small-size;
}
.cn-button.big {
  margin-top: - $button-big-size / 2;
  margin-left: - $button-big-size / 2;
  width: $button-big-size;
  height: $button-big-size;
}

// sizing wrapper
.cn-wrapper {
  margin-top: - $wrapper-middle-size / 2;
  margin-left: - $wrapper-middle-size / 2;
  width: $wrapper-middle-size;
  height: $wrapper-middle-size;
}
.cn-wrapper.small {
  margin-top: - $wrapper-small-size / 2;
  margin-left: - $wrapper-small-size / 2;
  width: $wrapper-small-size;
  height: $wrapper-small-size;
}
.cn-wrapper.big {
  margin-top: - $wrapper-big-size / 2;
  margin-left: - $wrapper-big-size / 2;
  width: $wrapper-big-size;
  height: $wrapper-big-size;
}

// sizing items
.cn-wrapper li {
  margin-top: - $li-middle-top;
  margin-left: - $li-middle-size;
  width: $li-middle-size;
  height: $li-middle-size;
}
.cn-wrapper.small li {
  margin-top: - $li-small-top;
  margin-left: - $li-small-size;
  width: $li-small-size;
  height: $li-small-size;
}
.cn-wrapper.big li {
  margin-top: - $li-big-top;
  margin-left: - $li-big-size;
  width: $li-big-size;
  height: $li-big-size;
}

.cn-wrapper li a {
  right: - $a-middle-size / 2;
  bottom: - $a-middle-size / 2;
  width: $a-middle-size;
  height: $a-middle-size;
}
.cn-wrapper.small li a {
  right: - $a-small-size / 2;
  bottom: - $a-small-size / 2;
  width: $a-small-size;
  height: $a-small-size;
}
.cn-wrapper.big li a {
  right: - $a-big-size / 2;
  bottom: - $a-big-size / 2;
  width: $a-big-size;
  height: $a-big-size;
}


// -------------------------------------
//   Main
// -------------------------------------

circular *, .circular * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative
}

circular, .circular {
  position: absolute;
  top: 100%;
  left: 50%;
}


// -------------------------------------
//   central Button
// -------------------------------------

.cn-button {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 11;
  padding-top: 0em;
  border: none;
  border-radius: 50%;
  background: none;
  background-color: $item-background-color;
  color: $item-color;
  text-align: center;
  font-weight: 700;
  font-size: 1.3em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
  outline: 0;
}

// -------------------------------------
//   Zooming
// -------------------------------------
.cn-wrapper {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 10;
  border-radius: 50%;
  background: transparent;
  opacity: 0;
  -webkit-transition: all .3s ease 0.3s;
  -moz-transition: all .3s ease 0.3s;
  transition: all .3s ease 0.3s;
  -webkit-transform: scale(0.1);
  -ms-transform: scale(0.1);
  transform: scale(0.1);
  pointer-events: none;
  overflow: hidden;
}

.opened-nav {
  border-radius: 50%;
  opacity: 1;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  pointer-events: auto;
}


// -------------------------------------
//   basic Items
// -------------------------------------

.cn-wrapper li {
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  font-size: 1.3em;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  pointer-events: none;
}

.cn-wrapper li a {
  position: absolute;
  display: block;
  border-radius: 50%;
  background: $item-background-color;
  opacity: 0.7;
  color: $item-color;
  text-align: center;
  text-decoration: none;
  font-size: 1.2em;
  line-height: 2.5;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  pointer-events: auto;
  cursor: pointer;
}

.cn-wrapper li a.is-active {
  opacity: 1;
}

.cn-wrapper li a:hover,
.cn-wrapper li a:active,
.cn-wrapper li a:focus {
  opacity: 0.9;
}

.cn-wrapper li a.is-active:hover,
.cn-wrapper li a.is-active:active,
.cn-wrapper li a.is-active:focus {
  opacity: 0.9;
}
.cn-wrapper li a span {
  position: relative;
  top: 1.8em;
  display: block;
  font-size: .5em;
  font-weight: 700;
  text-transform: uppercase;
}

.opened-nav li {
  -webkit-transition: all .3s ease .3s;
  -moz-transition: all .3s ease .3s;
  transition: all .3s ease .3s;
}


// -------------------------------------
//   rotated items
// -------------------------------------

@mixin prefix($property, $value) {
  @each $prefix in -webkit-, -ms-, '' {
    #{$prefix}#{$property}: $value;
  }
}

$skew: 60deg;
// odd
.item-odd-left-5 {
  @include prefix(transform, rotate(-85deg) skew($skew));
}
.item-odd-left-4 {
  @include prefix(transform, rotate(-53deg) skew($skew));
}
.item-odd-left-3 {
  @include prefix(transform, rotate(-21deg) skew($skew));
}
.item-odd-left-2 {
  @include prefix(transform, rotate(11deg) skew($skew));
}
.item-odd-left-1 {
  @include prefix(transform, rotate(43deg) skew($skew));
}
.item-odd-center {
  @include prefix(transform, rotate(75deg) skew($skew));
}
.item-odd-right-1 {
  @include prefix(transform, rotate(107deg) skew($skew));
}
.item-odd-right-2 {
  @include prefix(transform, rotate(139deg) skew($skew));
}
.item-odd-right-3 {
  @include prefix(transform, rotate(171deg) skew($skew));
}
.item-odd-right-4 {
  @include prefix(transform, rotate(203deg) skew($skew));
}
.item-odd-right-5 {
  @include prefix(transform, rotate(235deg) skew($skew));
}

// even
.item-even-left-5 {
  @include prefix(transform, rotate(-69deg) skew($skew));
}
.item-even-left-4 {
  @include prefix(transform, rotate(-37deg) skew($skew));
}
.item-even-left-3 {
  @include prefix(transform, rotate(-5deg) skew($skew));
}
.item-even-left-2 {
  @include prefix(transform, rotate(27deg) skew($skew));
}
.item-even-left-1 {
  @include prefix(transform, rotate(59deg) skew($skew));
}
.item-even-right-1 {
  @include prefix(transform, rotate(91deg) skew($skew));
}
.item-even-right-2 {
  @include prefix(transform, rotate(123deg) skew($skew));
}
.item-even-right-3 {
  @include prefix(transform, rotate(155deg) skew($skew));
}
.item-even-right-4 {
  @include prefix(transform, rotate(187deg) skew($skew));
}
.item-even-right-5 {
  @include prefix(transform, rotate(219deg) skew($skew));
}

// ----- Default -----
.cn-wrapper li {
  @extend .item-odd-center;
}
// ----- Content -----
.cn-wrapper li a {
  @include prefix(transform, skew(- $skew) rotate(-75deg)  scale(1));
}

// ----- items-1 -----
  .opened-nav.items-1 li:first-child {
    @extend .item-odd-center;
  }

// ----- items-2 -----
  .opened-nav.items-2 li:first-child {
    @extend .item-even-left-1;
  }
  .opened-nav.items-2 li:nth-child(2) {
    @extend .item-even-right-1;
  }

// ----- items-3 -----
  .opened-nav.items-3 li:first-child {
    @extend .item-odd-left-1;
  }

  .opened-nav.items-3 li:nth-child(2) {
    @extend .item-odd-center;
  }

  .opened-nav.items-3 li:nth-child(3) {
    @extend .item-odd-right-1;
  }

// ----- items-4 -----
  .opened-nav.items-4 li:first-child {
    @extend .item-even-left-2;
  }

  .opened-nav.items-4 li:nth-child(2) {
    @extend .item-even-left-1;
  }

  .opened-nav.items-4 li:nth-child(3) {
    @extend .item-even-right-1;
  }

  .opened-nav.items-4 li:nth-child(4) {
    @extend .item-even-right-2;
  }

// ----- items-5 -----
  .opened-nav.items-5 li:first-child {
    @extend .item-odd-left-2;
  }

  .opened-nav.items-5 li:nth-child(2) {
    @extend .item-odd-left-1;
  }

  .opened-nav.items-5 li:nth-child(3) {
    @extend .item-odd-center;
  }

  .opened-nav.items-5 li:nth-child(4) {
    @extend .item-odd-right-1;
  }

  .opened-nav.items-5 li:nth-child(5) {
    @extend .item-odd-right-2;
  }

// ----- items-6 -----
  .opened-nav.items-6 li:first-child {
    @extend .item-even-left-3;
  }

  .opened-nav.items-6 li:nth-child(2) {
    @extend .item-even-left-2;
  }

  .opened-nav.items-6 li:nth-child(3) {
    @extend .item-even-left-1;
  }

  .opened-nav.items-6 li:nth-child(4) {
    @extend .item-even-right-1;
  }

  .opened-nav.items-6 li:nth-child(5) {
    @extend .item-even-right-2;
  }

  .opened-nav.items-6 li:nth-child(6) {
    @extend .item-even-right-3;
  }

// ----- items-7 -----
  .opened-nav.items-7 li:first-child {
    @extend .item-odd-left-3;
  }

  .opened-nav.items-7 li:nth-child(2) {
    @extend .item-odd-left-2;
  }

  .opened-nav.items-7 li:nth-child(3) {
    @extend .item-odd-left-1;
  }

  .opened-nav.items-7 li:nth-child(4) {
    @extend .item-odd-center;
  }

  .opened-nav.items-7 li:nth-child(5) {
    @extend .item-odd-right-1;
  }

  .opened-nav.items-7 li:nth-child(6) {
    @extend .item-odd-right-2;
  }

  .opened-nav.items-7 li:nth-child(7) {
    @extend .item-odd-right-3;
  }

// ----- items-8 -----
  .opened-nav.items-8 li:first-child {
    @extend .item-even-left-4;
  }

  .opened-nav.items-8 li:nth-child(2) {
    @extend .item-even-left-3;
  }

  .opened-nav.items-8 li:nth-child(3) {
    @extend .item-even-left-2;
  }

  .opened-nav.items-8 li:nth-child(4) {
    @extend .item-even-left-1;
  }

  .opened-nav.items-8 li:nth-child(5) {
    @extend .item-even-right-1;
  }

  .opened-nav.items-8 li:nth-child(6) {
    @extend .item-even-right-2;
  }

  .opened-nav.items-8 li:nth-child(7) {
    @extend .item-even-right-3;
  }

  .opened-nav.items-8 li:nth-child(8) {
    @extend .item-even-right-4;
  }

// ----- items-9 -----
  .opened-nav.items-9 li:first-child {
    @extend .item-odd-left-4;
  }
  .opened-nav.items-9 li:nth-child(2) {
    @extend .item-odd-left-3;
  }

  .opened-nav.items-9 li:nth-child(3) {
    @extend .item-odd-left-2;
  }

  .opened-nav.items-9 li:nth-child(4) {
    @extend .item-odd-left-1;
  }

  .opened-nav.items-9 li:nth-child(5) {
    @extend .item-odd-center;
  }

  .opened-nav.items-9 li:nth-child(6) {
    @extend .item-odd-right-1;
  }

  .opened-nav.items-9 li:nth-child(7) {
    @extend .item-odd-right-2;
  }

  .opened-nav.items-9 li:nth-child(8) {
    @extend .item-odd-right-3;
  }

  .opened-nav.items-9 li:nth-child(9) {
    @extend .item-odd-right-4;
  }

// ----- items-10 -----
  .opened-nav.items-10 li:first-child {
    @extend .item-even-left-5;
  }

  .opened-nav.items-10 li:nth-child(2) {
    @extend .item-even-left-4;
  }

  .opened-nav.items-10 li:nth-child(3) {
    @extend .item-even-left-3;
  }

  .opened-nav.items-10 li:nth-child(4) {
    @extend .item-even-left-2;
  }

  .opened-nav.items-10 li:nth-child(5) {
    @extend .item-even-left-1;
  }

  .opened-nav.items-10 li:nth-child(6) {
    @extend .item-even-right-1;
  }

  .opened-nav.items-10 li:nth-child(7) {
    @extend .item-even-right-2;
  }

  .opened-nav.items-10 li:nth-child(8) {
    @extend .item-even-right-3;
  }

  .opened-nav.items-10 li:nth-child(9) {
    @extend .item-even-right-4;
  }

  .opened-nav.items-10 li:nth-child(10) {
    @extend .item-even-right-5;
  }

// ----- items-11 -----
  .opened-nav.items-11 li:first-child {
    @extend .item-odd-left-5;
  }

  .opened-nav.items-11 li:nth-child(2) {
    @extend .item-odd-left-4;
  }

  .opened-nav.items-11 li:nth-child(3) {
    @extend .item-odd-left-3;
  }

  .opened-nav.items-11 li:nth-child(4) {
    @extend .item-odd-left-2;
  }

  .opened-nav.items-11 li:nth-child(5) {
    @extend .item-odd-left-1;
  }

  .opened-nav.items-11 li:nth-child(6) {
    @extend .item-odd-center;
  }

  .opened-nav.items-11 li:nth-child(7) {
    @extend .item-odd-right-1;
  }

  .opened-nav.items-11 li:nth-child(8) {
    @extend .item-odd-right-2;
  }

  .opened-nav.items-11 li:nth-child(9) {
    @extend .item-odd-right-3;
  }

  .opened-nav.items-11 li:nth-child(10) {
    @extend .item-odd-right-4;
  }

  .opened-nav.items-11 li:nth-child(11) {
    @extend .item-odd-right-5;
  }