.custom-icon-wrapper {
  display: block;
  width: 100%;
}

.custom-icon-wrapper.left {
  text-align: left;
}

.custom-icon-wrapper.center {
  text-align: center;
}

.custom-icon-wrapper.right {
  text-align: right;
}

.custom-icon{
  position: relative;
  display: inline-block;
  text-align: center;
}
.custom-icon__image{
  display: flex;
  text-align: center;  
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.custom-icon__image img,
.custom-icon__image svg {
  width: 80%;
  height: 80%;
}

.custom-icon--style-circle {
  cursor: pointer;
}
.custom-icon--style-circle .custom-icon__image{
  border: 1px solid;
  padding: 10px;
  border-radius: 100%;
  margin: 0 auto;
}
.custom-icon--style-circle .custom-icon__image:before{
  content: '\2192';
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  line-height: 1;
  transform: translate(-100%, -50%);
  transition: all 0.35s ease 0s;
  color: white;
  font-weight: 600;
  font-size: 1.6em;
}
.custom-icon--style-circle:hover .custom-icon__image:before{
    transform: translate(-50%, -50%);
    opacity: 1;
}
.custom-icon.large .custom-icon__image {
  height: 105px;
  width: 105px;
}

.custom-icon.medium .custom-icon__image {
  height: 75px;
  width: 75px;
}

.custom-icon.small .custom-icon__image {
  height: 50px;
  width: 50px;
}

.custom-icon.primary_color img,
.custom-icon--style-button-below.vehicle_rental_color:hover img{
  filter: invert(48%) sepia(19%) saturate(2276%) hue-rotate(111deg) brightness(109%) contrast(91%);
}
.custom-icon.secondary_color img,
.custom-icon--style-button-below.secondary_color:hover img{
  filter: invert(63%) sepia(6%) saturate(101%) hue-rotate(182deg) brightness(96%) contrast(88%);
}
.custom-icon.light_color img,
.custom-icon--style-button-below.light_color:hover img{
  filter: invert(100%) sepia(66%) saturate(53%) hue-rotate(179deg) brightness(121%) contrast(91%);
}
.custom-icon.automotive_color img,
.custom-icon--style-button-below.automotive_color:hover img{
  filter: invert(84%) sepia(32%) saturate(1283%) hue-rotate(327deg) brightness(95%) contrast(95%);
}
.custom-icon.banking_and_finance_color img,
.custom-icon--style-button-below.banking_and_finance_color:hover img{
  filter: invert(25%) sepia(68%) saturate(2321%) hue-rotate(218deg) brightness(85%) contrast(89%);
}
.custom-icon.insurance_color img,
.custom-icon--style-button-below.insurance_color:hover img{
  filter: invert(67%) sepia(43%) saturate(560%) hue-rotate(287deg) brightness(95%) contrast(82%);
}
.custom-icon.public_color img,
.custom-icon--style-button-below.public_color:hover img{
  filter: invert(61%) sepia(56%) saturate(523%) hue-rotate(123deg) brightness(94%) contrast(93%);
}
.custom-icon.retail_color img,
.custom-icon--style-button-below.retail_color:hover img{
  filter: invert(30%) sepia(17%) saturate(1282%) hue-rotate(247deg) brightness(84%) contrast(86%);
}
.custom-icon.telecoms_color img,
.custom-icon--style-button-below.telecoms_color:hover img{
  filter: invert(50%) sepia(24%) saturate(1343%) hue-rotate(315deg) brightness(103%) contrast(86%);
}
.custom-icon.utilities_color img,
.custom-icon--style-button-below.utilities_color:hover img{
  filter: invert(67%) sepia(26%) saturate(270%) hue-rotate(178deg) brightness(95%) contrast(88%);
}
.custom-icon.vehicle_rental_color img,
.custom-icon--style-button-below.vehicle_rental_color:hover img{
  filter: invert(15%) sepia(9%) saturate(2204%) hue-rotate(191deg) brightness(102%) contrast(89%);
}
.custom-icon.black_color img,
.custom-icon--style-button-below.black_color:hover img{
  filter: invert(0%) sepia(98%) saturate(10%) hue-rotate(95deg) brightness(94%) contrast(100%);
}
.custom-icon.white_color img,
.custom-icon--style-button-below.white_color:hover img{
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
.custom-icon__url{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.custom-icon__button{
  font-size: 1.1em;
}
.custom-icon__arrow{
  background-color: rgba(11,184,119,1.0);
  border: 1px solid #0bb877;
  border-radius: 60px;
  color: #fff;
  padding: 16px 30px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.6em;
  transition: all .3s ease-in-out;
  display: inline-block;
  line-height: 1;
  margin: 5px 0 0;
  position: relative;
  opacity: 0;
  transition: all ease 0.35s;
}
.custom-icon__arrow:after{
  content: '\2192';
  position: absolute;
  top: 3px;
  line-height: 1;
  left: 50%;
  transform: translateX(-50%);
}
.custom-icon--style-button-below .custom-icon__button{
  color: #97989a;
}
.custom-icon--style-button-below .custom-icon__image img{
  filter: invert(74%) sepia(0%) saturate(1133%) hue-rotate(303deg) brightness(82%) contrast(95%);
}
.custom-icon--style-button-below:hover .custom-icon__arrow{
  opacity: 1;
}

