.sbuttons {
    bottom: 5%;
    position: fixed;
    margin: 1em;
    left: 0;
    z-index: 9;
}

.sbutton {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    text-align: center;
    color: white;
    margin: 20px auto 0;
    box-shadow: 0px 5px 11px -2px rgba(0, 0, 0, 0.18), 0px 4px 12px -7px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    -webkit-transition: all .1s ease-out;
    transition: all .1s ease-out;
    position: relative;
}

.sbutton>i {
    font-size: 32px;
    line-height: 50px;
    transition: all .2s ease-in-out;
    transition-delay: 2s;
}

.sbutton:active,
.sbutton:focus,
.sbutton:hover {
    box-shadow: 0 0 4px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .28);
}

.sbutton:not(:last-child) {
    width: 50px;
    height: 50px;
    margin: 15px auto 0;
    opacity: 1;
    /* visible by default */
}

.sbutton:not(:last-child)>i {
    font-size: 21px;
    line-height: 50px;
    transition: all .3s ease-in-out;
}

.sbuttons:hover .sbutton:not(:last-child) {
    /* removed hover-only reveal; keep same as default so no hover needed */
    opacity: 1;
    width: 50px;
    height: 50px;
    margin: 15px auto 0;
}

.sbutton:nth-last-child(1) {
    -webkit-transition-delay: 25ms;
    transition-delay: 25ms;
}

.sbutton:not(:last-child):nth-last-child(2) {
    -webkit-transition-delay: 20ms;
    transition-delay: 20ms;
}

.sbutton:not(:last-child):nth-last-child(3) {
    -webkit-transition-delay: 40ms;
    transition-delay: 40ms;
}

.sbutton:not(:last-child):nth-last-child(4) {
    -webkit-transition-delay: 60ms;
    transition-delay: 60ms;
}

.sbutton:not(:last-child):nth-last-child(5) {
    -webkit-transition-delay: 80ms;
    transition-delay: 80ms;
}

.sbutton:not(:last-child):nth-last-child(6) {
    -webkit-transition-delay: 100ms;
    transition-delay: 100ms;
}

[tooltip]:before {
    font-weight: 600;
    border-radius: 2px;
    background-color: #585858;
    color: #fff;
    content: attr(tooltip);
    font-size: 12px;
    visibility: hidden;
    opacity: 0;
    padding: 5px 7px;
    margin-left: 10px;
    position: absolute;
    left: 100%;
    bottom: 20%;
    white-space: nowrap;
}

[tooltip]:hover:before,
[tooltip]:hover:after {
    visibility: visible;
    opacity: 1;
}

.sbutton.mainsbutton {
    background: #2ab1ce;
}

.sbutton.gplus {
    background: #F44336;
}

.sbutton.youtube {
    background: #f00;
}

.sbutton.insta {
    background: #D300C5;
}

.sbutton.fb {
    background: #3F51B5;
}

.sbutton.whatsapp {
    background: #00e676;
}


/* vertical separators between columns (desktop) */
.contact-strip .row>.col {
    position: relative;
    padding: 0.5rem 1rem;
}

.contact-strip .row>.col:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 12%;
    bottom: 12%;
    width: 4px;
    background: #12a0e6;
    border-radius: 2px;
    transform: translateX(50%);
}

/* labels */
.contact-strip .city {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #1b4f61;
    margin-bottom: 6px;
}

/* phone */
.contact-strip .phone {
    display: block;
    font-size: 25px;
    font-weight: 800;
    color: #08121a;
}

/* responsive adjustments */
@media (max-width: 900px) {
    .contact-strip .phone {
        font-size: 22px;
    }

    .contact-strip .row>.col:not(:last-child)::after {
        top: 8%;
        bottom: 8%;
        width: 3px;
    }
}

@media (max-width: 576px) {
    .contact-strip .row {
        row-gap: 0.25rem;
    }

    /* remove vertical separators on stacked layout */
    .contact-strip .row>.col:not(:last-child)::after {
        display: none;
    }

    .contact-strip .phone {
        font-size: 20px;
    }

    .contact-strip .city {
        font-size: 11px;
    }
}

@keyframes custom-blink {
    0%, 100% { 
        opacity: 1; 
        box-shadow: 0 0 5px rgba(0,123,255,0.5); 
        transform: scale(1);
    }
    50% { 
        opacity: 0.9; 
        box-shadow: 0 0 15px rgba(0,123,255,0.8), 0 0 25px rgba(0,123,255,0.6); 
        transform: scale(1.05);
    }
}

.custom-blink {
    animation: custom-blink 2s infinite;
    transform-origin: center;
}

@keyframes menu-notice {
    0% { 
        opacity: 0; 
        transform: translateY(-10px) scale(0.95); 
    }
    50% { 
        opacity: 0.7; 
        transform: translateY(-5px) scale(1.02); 
    }
    100% { 
        opacity: 1; 
        transform: translateY(0) scale(1); 
    }
}

#mainNav {
    animation: menu-notice 1.5s ease-out;
}