[class*="social__icon"] a {
  display: block;
}

[class*="social__icon"] p {
  margin-top: 3px;
}

.social__icon-circle {
  margin-top: 40px;
}

.social__icon-circle .brk-icon {
  width: 95px;
  height: 95px;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 42px;
  margin-bottom: 17px;
}

.social__icon-circle .brk-icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.social__icon-circle .brk-icon>.before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--brk-base-2) 20%, var(--brk-base-5) 70%);
  opacity: 0;
  transition: all .4s ease;
  z-index: 1;
}

.social__icon-circle .brk-icon>.after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--brk-base-3) 20%, var(--brk-secondary-3) 70%);
  z-index: -1;
}

.social__icon-circle:hover .brk-icon>.before {
  opacity: 1;
}

.social__icon-circle-dark .after {
  border-radius: 0 !important;
  background: linear-gradient(to top, rgba(var(--brand-primary-rgb), 0.86) 0%, rgba(var(--secondary-rgb), 0.86) 100%) !important;
}

.social__icon-circle-dark .before {
  border-radius: 0 !important;
  background: linear-gradient(to top, rgba(var(--brand-primary-rgb), 0.86) 0%, rgba(var(--brand-primary-rgb), 0.86) 100%) !important;
}

.social__icon-round {
  margin-top: 40px;
}

.social__icon-round .icon-wrap {
  width: 110px;
  height: 110px;
  background: #fff;
  border-radius: 30px;
  margin: 0 auto 35px;
  position: relative;
  z-index: 1;
}

.social__icon-round .icon-wrap:hover .brk-icon {
  background: var(--brk-base-6);
  border-color: var(--brk-base-1);
}

.social__icon-round .brk-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65px;
  height: 65px;
  border-radius: 50%;
  color: #fff;
  font-size: 28px;
  background: var(--brand-primary);
  border: 2px solid transparent;
  box-shadow: 0 5px 16px 0 rgba(var(--brand-primary-rgb), 0.5);
  transition: all .4s ease;
  z-index: 1;
}

.social__icon-round .brk-icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.social__icon-round:hover .icon-wrap {
  background: var(--brand-primary);
}

.social__icon-round:hover .brk-icon {
  background: var(--brk-base-6);
  border-color: var(--brk-base-1);
}

.social__icon-square {
  max-width: 270px;
  margin: 0 auto;
  padding: 45px 20px;
  background: #fff;
  border: 1px solid rgba(var(--brand-primary-rgb), 0.1);
  box-shadow: 0 10px 30px -10px rgba(var(--brand-primary-rgb), 0.15);
}

.social__icon-square_dark {
  border: 1px solid rgba(26, 27, 27, 0.05);
}

@media (min-width: 992px) {
  .social__icon-square {
    margin-bottom: -50px;
  }
}

.social__icon-square .text {
  color: var(--brk-base-1) !important;
}

.social__icon-square .brk-icon {
  width: 85px;
  height: 85px;
  position: relative;
  z-index: 1;
  color: var(--brand-primary);
  font-size: 28px;
  margin-bottom: 23px;
  border: 2px solid rgba(var(--brand-primary-rgb), 0.15);
  transition: all .4s ease;
}

.social__icon-square .brk-icon:hover {
  color: #fff;
}

.social__icon-square .brk-icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.social__icon-square .brk-icon .slide-bg {
  background: linear-gradient(to right, var(--brand-primary) 20%, var(--secondary) 70%);
}

.social__icon-square_dark .brk-icon {
  color: #1a1b1b;
  border: 2px solid rgba(26, 27, 27, 0.05);
}

.social__icon-square_dark .text {
  color: #1a1b1b !important;
}

@media (min-width: 575px) {
  [class^="col-"]:nth-child(2n) .social__icon-honeycomb .hexagon {
    order: 1;
  }
}

[class^="col-"]:nth-child(2n) .social__icon-honeycomb .icon-title {
  justify-content: flex-end;
}

.hexagon {
  display: block;
  position: relative;
  width: 50%;
  margin: 0 auto;
  background-color: #fff;
  transition: .3s background-color;
  -webkit-clip-path: polygon(125% 0, 150% 50%, 125% 100%, 0% 100%, -50% 50%, 0% 0);
  clip-path: polygon(125% 0, 150% 50%, 125% 100%, 0% 100%, -50% 50%, 0% 0);
}

.hexagon__side {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transition: .3s background-color;
}

.hexagon__side-1 {
  transform: translate(-50%, -50%) rotate(60deg);
  background-color: inherit;
}

.hexagon__side-2 {
  transform: translate(-50%, -50%) rotate(-60deg);
  background-color: inherit;
}

.hexagon::after {
  content: '';
  padding-top: 172%;
  display: block;
}

@supports ((-webkit-clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0)) or (clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0))) {
  .hexagon>.after {
    content: '';
    position: absolute;
    top: -1px;
    opacity: 1;
    background: linear-gradient(25deg, var(--brk-base-6) 30%, var(--brk-base-2)) 60%;
    transition-property: width, height;
    transition-duration: .4s;
    width: 0;
    height: 102%;
    left: 50%;
    right: auto;
    transform: scale(1) translateX(-50%);
    -webkit-clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0);
    clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0);
  }

  .hexagon:hover>.after {
    width: calc(200%);
  }
}

@supports not ((-webkit-clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0)) or (clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0))) {
  .hexagon:hover {
    background-color: var(--brk-base-6);
  }

  .hexagon:hover .hexagon__side {
    background-color: var(--brk-base-6);
  }
}

.social__icon-honeycomb {
  margin-top: 30px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.social__icon-honeycomb .hexagon {
  width: calc(50% + 15px);
}

.social__icon-honeycomb .icon-title {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 0 0;
}

@media (min-width: 575px) {
  .social__icon-honeycomb .icon-title {
    padding: 20px 0;
    height: 70px;
  }
}

@media (min-width: 1200px) {
  .social__icon-honeycomb .icon-title {
    height: 115px;
    padding: 40px 0;
  }
}

.social__icon-honeycomb .brk-icon {
  width: 85px;
  height: 85px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: var(--brand-primary);
  font-size: 36px;
  transition: color .4s;
}

.social__icon-honeycomb .brk-icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.social__icon-honeycomb:hover .brk-icon {
  color: #fff;
}

@media (min-width: 1200px) {
  [class^="col-"]:nth-child(2n) .social__icon-gradient .icon-title {
    bottom: auto;
    top: -44px;
  }
}

[class^="col-"]:nth-child(2n) .social__icon-gradient>.after {
  top: auto;
  bottom: 0;
}

[class^="col-"]:last-child .social__icon-gradient>.after {
  width: 30vw;
  left: 50%;
}

@media (min-width: 1200px) {
  [class^="col-"]:first-child .social__icon-gradient>.before {
    display: inline-block;
  }
}

.social__icon-gradient {
  margin-top: 30px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}

.social__icon-gradient>.before {
  display: none;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 30vw;
  height: 50%;
  background: var(--brand-primary);
  background: linear-gradient(25deg, var(--brk-base-2) 40%, var(--brk-base-5)) 60%;
  z-index: -1;
  pointer-events: none;
}

.social__icon-gradient>.after {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 50%;
  background: var(--brand-primary);
  background: linear-gradient(25deg, var(--brk-base-2) 40%, var(--brk-base-5)) 60%;
  z-index: -1;
  pointer-events: none;
}

@media (min-width: 1200px) {
  .social__icon-gradient>.after {
    display: inline-block;
  }
}

.social__icon-gradient .icon-title {
  margin-top: 20px;
}

@media (min-width: 1200px) {
  .social__icon-gradient .icon-title {
    margin-top: 0;
    position: absolute;
    bottom: -44px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.social__icon-gradient .brk-icon {
  width: 85px;
  height: 85px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: var(--brand-primary);
  font-size: 36px;
  transition: all .4s ease;
}

.social__icon-gradient .brk-icon:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.social__icon-gradient:hover .brk-icon {
  color: #fff;
}