/*******************
  BUTTONS
*******************/


.btn,
.btn-container a,
.wp-element-button {
  --s: 1.75em;
  --color: var(--color1);
  z-index: 3;
  position: relative;
  display: inline-block;
  font-size: 1em;
  line-height: 1em;
  padding: 0.9em calc(1.5em + (var(--s) * 1)) 0.9em 1.5em;
  background-color: transparent !important;
  color: currentColor;
  border: currentColor 1px solid;
  font-weight: 400;
  border-radius: 9999px;
  transition: 0.3s;
  transition-delay: 0s;
}
.btn:hover,
.btn.active,
.btn-container a:hover,
.wp-element-button:hover {
  background-color: #fff;
  border-color: var(--textColor);
  color: var(--textColor);
}

.btn::before,
.btn-container a::before,
.wp-element-button::before {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  right: calc(var(--s) * 0.5);
  margin-top: calc(var(--s) * -0.5);
  width: var(--s);
  height: var(--s);
  background-color: var(--color1);
  border-radius: 99999px;
  transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;
}
.btn::after,
.btn-container a::after,
.wp-element-button::after {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  right: calc(var(--s) * 0.5);
  margin-top: calc(var(--s) * -0.5);
  width: var(--s);
  height: var(--s);
  background-image: url(../../img/rarr-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(var(--s) * 0.5) auto;
  transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;
}
.btn:hover,
.btn.active,
.btn-container a:hover,
.wp-element-button:hover {
  border-color: transparent;
  color: #fff;
}
.btn:hover::before,
.btn.active::before,
.btn-container a:hover::before,
.wp-element-button:hover::before {
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin-top: 0;
}
.btn:hover::after,
.btn.active::after,
.btn-container a:hover::after,
.wp-element-button:hover::after {
  right: calc(var(--s) * 0.25);
}



.btn.light,
.btn-container.light a,
.wp-element-button.light {
  border: none;
  padding: 0 var(--s) 0 0;
}
.btn.simple-arrow::before,
.btn-container.simple-arrow a::before,
.wp-element-button.simple-arrow::before {
  display: none;
}
.btn.simple-arrow::after,
.btn-container.simple-arrow a::after,
.wp-element-button.simple-arrow::after {
  right: 0;
  background-image: url(../../img/rarr.svg);
}
.ncodin-box .btn.simple-arrow::after,
.ncodin-box .btn-container.simple-arrow a::after,
.ncodin-box .wp-element-button.simple-arrow::after {
  background-image: url(../../img/rarr-white.svg);
}
.btn.simple-arrow:hover,
.btn-container.simple-arrow a:hover,
.wp-element-button.simple-arrow:hover {
  text-decoration: underline;
}
.btn.simple-arrow:hover::after,
.btn-container.simple-arrow a:hover::after,
.wp-element-button.simple-arrow:hover::after {
  right: calc(var(--s) * -0.25);
}

.btn.alt,
.btn-container.alt a,
.wp-element-button.alt {
  background-color: #fff;
  color: var(--textColor);
  border-color: var(--textColor);
}
.btn.alt:hover,
.btn-container.alt a:hover,
.wp-element-button.alt:hover {
  background-color: var(--color1);
  color: #fff;
  border-color: var(--color1);
}

.btn.blue,
.btn-container.blue a,
.wp-element-button.blue,
.blue > .wp-element-button {
  background-color: var(--color1) !important;
  color: #fff;
  border-color: var(--color1);
}
.btn.blue::before,
.btn-container.blue a::before,
.wp-element-button.blue::before,
.blue > .wp-element-button::before {
  background-color: var(--color1);
}
.btn.blue:hover,
.btn-container.blue a:hover,
.wp-element-button.blue:hover,
.blue > .wp-element-button:hover {
  background-color: #fff !important;
  color: var(--color1);
  border-color: #fff;
}
.btn.blue:hover::before,
.btn-container.blue a:hover::before,
.wp-element-button.blue:hover::before,
.blue > .wp-element-button:hover::before {
  background-color: #fff;
}
.btn.blue:hover::after,
.btn-container.blue a:hover::after,
.wp-element-button.blue:hover::after,
.blue > .wp-element-button:hover::after {
  background-image: url(../../img/rarr-blue.svg);
}

.btn.simple {
  --s: 0.01em;
}
.btn.black {
  --color1: #000000;
}

.btn.small {
  font-size: 0.85em;
}
.btn.big {
  font-size: 1.25em;
  letter-spacing: 0.03em;
}
.btn.wide {
  padding: 1em 2.25em 1em 2.25em;
}
.btn.fat {
  font-size: 1.15em;
  padding: 1em calc(1.5em + (var(--s) * 1)) 1.15em 1.5em;
}
.btn.slim {
  padding-top: 0.6em;
  padding-bottom: 0.4em;
}
.btn.white,
.btn-container.white a {
  background-color: #fff;
  border-color: #fff;
  color: var(--textColor);
}
.btn.white:hover,
.btn-container.white a:hover {
  background-color: var(--color1);
  border-color: var(--color1);
  color: #fff;
}

.btn.ihs-arrow {
  --s: 3em;
  width: var(--s);
  height: var(--s);
  background-color: transparent !important;
  background-image: url(../../img/arrow-ihs.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 0 !important;
  border: none !important;
}
.btn.ihs-arrow.alt {
  background-image: url(../../img/arrow-ihs-alt.svg);
}
.btn.ihs-arrow.alt2 {
  background-image: url(../../img/arrow-ihs-alt2.svg);
}
.btn.ihs-arrow.white {
  background-image: url(../../img/arrow-ihs-white.svg);
}
.btn.ihs-arrow::before, .btn.ihs-arrow::after {
  display: none !important;
}
.btn.ihs-arrow:hover {
  transform: rotate(-25deg);
}

.btn.special {
  border: none;
  background-color: rgba(255,255,255,0.15);
  color: #fff;
}
.btn.special:hover {
  background-color: var(--color1);
}

.btn.circle, .btn-container.circle a, .wp-element-button.circle {
  --w: 8em;
  font-size: 1.125em;
  line-height: 1.25em;
  border-radius: 50%;
  border: none;
  width: var(--w);
  height: var(--w);
  text-align: center;
  padding: calc(var(--w) / 4) calc(var(--w) / 8);
  text-decoration: none !important;
}
.btn.circle:hover, .btn-container.circle a:hover, .wp-element-button.circle:hover {
  color: inherit !important;
}
.btn.circle::before, .btn-container.circle a::before, .wp-element-button.circle::before {
  top: 0;
  right: 0;
  width: var(--w);
  height: var(--w);
  margin-top: 0;
}
.btn.circle:hover::before, .btn-container.circle a:hover::before, .wp-element-button.circle:hover::before {
  transform: scale(1.1);
}
.btn.circle::after, .btn-container.circle a::after, .wp-element-button.circle::after {
  position: relative;
  top: 0;
  right: auto;
  margin-top: 0.25em;
  display: block;
  width: calc(var(--s) * 1);
  height: calc(var(--s) * 1);
  margin-left: auto;
  margin-right: auto;
  background-size: contain;
}
.btn.circle:hover::after, .btn-container.circle a:hover::after, .wp-element-button.circle:hover::after {
  animation: shake 150ms 2 linear;
}
@keyframes shake {
  0% {
    transform: translate(3px, 0);
  }
  50% {
    transform: translate(-3px, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}

.btn.r-arr {
  --s: 2.5em;
  position: relative;
  padding-right: calc(1em + var(--s));
  text-align: left;
}
.btn.r-arr::after {
  content: '';
  z-index: 2;
  position: absolute;
  top: 30%;
  right: 1em;
  width: calc(var(--s) / 1.5);
  height: 40%;
  background-image: url(../../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) invert(1);
  transform: rotate(0);
  transition: 0.3s cubic-bezier(.81,.05,.57,.96);
}
.btn.r-arr:hover::after {
  filter: none;
  transform: rotate(45deg);
}

.btn.white.r-arr::after {
  filter: none;
}
.btn.white.r-arr:hover::after {
  filter: brightness(0) invert(1);
}


.btn-plus {
  position: relative;
  display: inline-block;
  --s: 2.35em;
  width: var(--s);
  height: var(--s);
  border-radius: 50%;
  border: var(--color1) 1px solid;
  color: var(--color1);
}
.btn-plus:hover {
  background-color: var(--color1);
  color: #fff;
}
.btn-plus::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 50%;
  width: 2px;
  background-color: currentColor;
  border-radius: 2px;
}
.btn-plus::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  height: 2px;
  background-color: currentColor;
  border-radius: 2px;
}
.btn-plus.alt {
  background-color: var(--color1);
  color: #fff;
}
.btn-plus.alt:hover {
  background-color: #fff;
  color: var(--color1);
}


.text-link {
  font-weight: 700;
  font-size: 1.125em;
  text-decoration: underline;
  color: currentColor;
}
.text-link:hover {
  color: var(--color1);
}
.text-link.alt {
  color: var(--color1);
  font-weight: 400;
}
.text-link.alt:hover {
  color: currentColor;
}

.text-link + .btn-arrow {
  vertical-align: middle;
}

.buttons {
  --g: 0.5em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + (var(--g) * 2));
    margin: calc(var(--g) * -1);
}
.buttons.right {
	flex-direction: row-reverse;
}
.buttons.center {
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.buttons > div {
	padding: var(--g);
}

.text + .action,
.title + .action {
  margin-top: 2em;
}