.icon:before {
  width: 1.3em;
  height: 1em;
  margin-right: 5px;
  display: inline-block;
  vertical-align: top;
  content: '';
  -webkit-transition: opacity 0.1s ease-out;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
    .icon:hover:before { opacity: .3; }
    
.hide { opacity: 0; }
.overflow {
    overflow: hidden;
}

.link-btn,
.link-btn:visited {
    font-weight: 500;
    padding: 14px 24px 12px;
    font-weight: 500;
    font-size: 22px;
    line-height: 1em;
    transition: all ease .2s;
    color: #fff;
    border-radius: 50px;
    background: -webkit-linear-gradient(45deg, #ed3146, #c0f);
    background: linear-gradient(45deg, #ed3146, #c0f);
}
    .link-btn:hover {
        box-shadow: 0 0 30px rgba(255,255,255,.4);
    }

.open { display: block; }
.close { display: none; }


.booking-btn,
.callback-btn,
.booking-btn:visited,
.callback-btn:visited {
    font-weight: 500;
    padding: 14px 24px 12px;
    font-weight: 500;
    font-size: 22px;
    line-height: 1em;
    transition: all ease .2s;
    border-radius: 50px;
}
    .callback-btn:hover {
        box-shadow: 0 0 30px rgba(255,255,255,.4);
    }

.callback-btn,
.callback-btn:visited {
    color: #fff;
    background: -webkit-linear-gradient(45deg, #ed3146, #c0f);
    background: linear-gradient(45deg, #ed3146, #c0f);
}
.booking-btn,
.booking-btn:visited {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 6;
    background: #0966ca;
    color: #fff;
}
    .booking-btn:hover {
        background: #3fcaff;
        color: #333;
    }
    
    .callback-bottom {
        padding: 0 5vw 5vw;
        text-align: center;
        color: #fff;
    }
        .callback-bottom .callback-btn:hover {
            box-shadow: 0 0 30px rgba(0,0,0,.2);
        }

    @media only screen and (max-width : 600px) {
        .callback-bottom {
            margin: 1em 0;
        }
    }