/* ------------------------------------------------------------------------------------------------------------------ */
/*    Widget: Sticky Contact Form   */
/* ------------------------------------------------------------------------------------------------------------------ */
/* --- Make the space for contact form buttons @ the footer --- */
.footer .section { padding-bottom:85px; /*space for sticky buttons*/ }

/* --- Contact Widget, always on top -- */
.sticky-contact-form { position:fixed; top:0;/*sticky header height*/ right:0; bottom:0; left:0; z-index:9999991; overflow:auto; padding:14px 10px 10px; background:#fff; border-top:1px solid #f5f5f5; box-shadow:0 -4px 10px rgba(0, 0, 0, 0.12);
    opacity:0;  -webkit-transform:translate3d(0, 100%, 0); transform:translate3d(0, 100%, 0); -webkit-transition:all 1s ease; transition:all 1s ease; }
.sticky-contact-form .logo { float:none !important; display:block !important; margin-right:auto !important; margin-left:auto !important; height:60px !important; }

/* Sticky Form show/hide */
.sticky-contact-form .contact-form { margin-right:auto; margin-left:auto; max-width:570px; }
.sticky-contact-form-on { overflow:hidden; }
.sticky-contact-form-on .sticky-contact-form { opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0); }
.sticky-contact-form-on .sticky-buttons .btn-form-open { display:none !important; }
.sticky-contact-form-on .sticky-buttons .btn-form-close,
.sticky-contact-form-on .sticky-buttons .btn-secondary { opacity:1; -webkit-transform:scale(1); transform:scale(1); }

/* Sticky Buttons */
.sticky-buttons { position:fixed; right:0; bottom:0; z-index:9999992; margin:0.5em; padding:0; width:80px; text-align:center; }
/* button */
.sticky-buttons .btn { position:relative; display:block; margin:0.5em 0 0; width:inherit; padding-top:81.87%;/*same as width*/ cursor:pointer; border:2px solid #fff; border-radius:100%; box-shadow:0 0 10px 0 rgba(0,0,0,0.5); }
.sticky-buttons .btn-form-open  { display:block; margin-bottom:-100%; }
.sticky-buttons .btn-form-close,
.sticky-buttons .btn-secondary { opacity:0; -webkit-transform:scale(0); transform:scale(0);
    -webkit-transition:opacity .5s ease, -webkit-transform .5s ease;
            transition:opacity .5s ease, -webkit-transform .5s ease;
            transition:opacity .5s ease, transform .5s ease;
            transition:opacity .5s ease, transform .5s ease, -webkit-transform .5s ease;
}
/* icon: centered, large */
.sticky-buttons .btn i { position:absolute; top:50%; left:50%; margin:-20px 0 0 -20px; display:block; width:40px; height:40px; background:url(../images/sticky-icons.png) no-repeat; }
.sticky-buttons .btn > .caption-inside + i { margin-top:-24px; }
.sticky-buttons .btn i.icon-chat  { background-position:center    0px; }
.sticky-buttons .btn i.icon-map   { background-position:center  -80px; }
.sticky-buttons .btn i.icon-phone { background-position:center -160px; }
.sticky-buttons .btn i.icon-close,
.sticky-contact-form-on .btn.toggle-contact-form i { background-position:center -239px; }
/* text */
.sticky-buttons .btn > .caption-inside  { position:absolute; right:0; bottom:4px; left:0; display:block; color:#fff; font-size:10px; line-height:1.1; text-align:center; }
.sticky-buttons .btn > .caption-outside { position:absolute; right:100%; bottom:50%; left:auto; display:block; margin:0 0.75em -26px; padding:1.25em 1.6em 1.1em; /*border:2px solid #F36B00;*/ border-radius:25px; background:#fff; color:#555; /*font-weight:600;*/ font-size:14px; text-shadow:none; white-space:nowrap; box-shadow:0 0 10px 0 rgba(0,0,0,0.25); }
/* hover */
.sticky-buttons .btn:hover > .caption-outside, .sticky-buttons .btn:focus > .caption-outside { background:inherit; color:inherit; text-shadow:inherit; }


/* --- Tablet Portrait ---------------------------------------------------------------------------------------------- */
@media only screen and (max-width:767px) {

    /* fix the page so logo stays on top when form is on */
    .sticky-contact-form-on { overflow:hidden; }

    /* remove space above logo */
    .sticky-contact-form .section { padding-top:0; }

    /* make space for two-row caption */
    .sticky-buttons .btn > .caption-inside.show-mobile { margin-bottom:-3px; /*hack for contact us button caption*/ }
    .sticky-buttons .btn > .caption-inside + .caption-outside + i { margin-top:-28px; }

}

/* --- Kindle Fire -------------------------------------------------------------------------------------------------- */
@media only screen and (max-width:599px) {

    /* --- Header --- */
    .sticky-contact-form .section { padding-right:60px;/*for sticky buttons*/ }
    .sticky-buttons { width:70px; }

    /* make space for two-row caption */
    .sticky-buttons .btn > .caption-inside.show-sm { margin-bottom:-3px; }
}

@media only screen and (max-width:479px) {

    /* make space for two-row caption */
    .sticky-buttons .btn > .caption-inside + .caption-outside + i { margin-top:-28px; }
}
