.hidden {
  display: none !important;
  visibility: hidden !important; }

.nbtcs-swatches {
  position: relative;
  overflow: hidden;
  padding: 5px; }

.nbtcs-swatches .swatch:not(.swatch-radio) {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  margin-right: 15px;
  cursor: pointer;
  border: 1px solid #999;
  position: relative;
  opacity: 0.7; }

.nbtcs-swatches .swatch:not(.swatch-radio).circle {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%; }

.nbtcs-swatches .swatch:not(.swatch-radio).selected {
  -webkit-box-shadow: 0 0 5px;
  -moz-box-shadow: 0 0 5px;
  box-shadow: 0 0 5px;
  border-color: #999;
  opacity: 1; }

.nbtcs-swatches .swatch.disabled {
  opacity: 0.1; }

.nbtcs-swatches .swatch-color {
  text-indent: -9999px; }

.swatches-radio {
  margin: 0;
  padding: 0;
  list-style: none; }

.swatches-radio li {
  color: #aaa;
  display: block;
  position: relative;
  width: 100%; }

.swatches-radio li input[type=radio] {
  position: absolute;
  visibility: hidden; }

.swatches-radio li label {
  display: inline-block;
  position: relative;
  font-weight: 300;
  padding: 0 21px 5px 20px;
  z-index: 9;
  cursor: pointer;
  -webkit-transition: all 0.25s linear; }

.swatches-radio li:hover label {
  color: #fff; }

.swatches-radio li .check {
  display: block;
  position: absolute;
  border: 2px solid #aaa;
  height: 15px;
  width: 15px;
  top: 5px;
  left: 0;
  z-index: 5;
  transition: border 0.25s linear;
  -webkit-transition: border 0.25s linear; }

.swatches-radio li .check.circle {
  border-radius: 100%; }

.swatches-radio li:hover .check {
  border: 2px solid #fff; }

.swatches-radio li .check::before {
  display: block;
  position: absolute;
  content: '';
  height: 7px;
  width: 7px;
  top: 2px;
  left: 2px;
  margin: auto;
  transition: background 0.25s linear;
  -webkit-transition: background 0.25s linear; }

.swatches-radio li .check.circle::before {
  border-radius: 100%; }

.swatches-radio input[type=radio]:checked ~ .check {
  border: 2px solid #000; }

.swatches-radio input[type=radio]:checked ~ .check::before {
  background: #000; }

.swatches-radio input[type=radio]:checked ~ label {
  color: #000; }

.nbtcs-swatches .swatch-color.selected {
  border-color: transparent; }

.nbtcs-swatches .swatch-color.selected:before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
  width: 6px;
  height: 10px;
  display: block;
  border: solid #ff7a7a;
  border-width: 0 2px 2px 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -4px;
  margin-top: -8px; }

.nbtcs-swatches .swatch-label {
  background-color: #f1f1f1; }

.nbtcs-swatches .swatch-text.selected {
  background: #dcdcdc; }

.nbtcs-swatches .swatch-image {
  overflow: hidden; }

#nbtcs-unlinebreak table.variations tbody td {
  display: table-cell;
  border-bottom: 1px solid #efefef;
  vertical-align: middle; }

#nbtcs-unlinebreak table.variations tbody td.label {
  width: 25%; }

#nbtcs-unlinebreak .nbtcs-swatches {
  padding: 10px 0 5px 5px;
  vertical-align: middle;
  display: inline-table; }

#nbtcs-unlinebreak table.variations tbody > tr:first-child .nbtcs-swatches {
  padding-top: 5px;
  padding-bottom: 15px; }

.no-selected {
  display: none; }

.variations tbody tr:last-child td.label {
  margin-bottom: 25px; }
