/**
Theme Name: EASL Congress 2027
Author: EASL Congress
Author URI: http://wpastra.com/about/
Description: EASL Congress 2027 restyle - Astra child theme with custom Elementor widgets and config-as-code templates. Child of Astra.
Version: 1.160.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Helvetica Neue â€” self-hosted webfonts.

   Files are EASL's own licensed webfonts, the same cuts easl.eu serves from its
   media library (HelveticaNeueLTPro-Roman / -Bd). Copied across with EASL's
   approval; webfont licences are domain-scoped, so keep that approval on record
   against easlcongress.eu specifically.

   Each rule lists the Helvetica file FIRST and the TeX Gyre Heros placeholder
   SECOND. A browser walks the src list and uses the first entry it can load, so
   this renders Heros until the Helvetica files are present in fonts/ and
   upgrades itself the moment they are â€” no CSS change needed, and no window
   where the site has no font at all.

   All three cuts the design needs are present: Roman (400), Md (500), Bd (700).
   500 carries every piece of UI emphasis â€” nav, buttons, labels, the rail
   label, table keys â€” which is why the stylesheet deliberately contains no 600:
   with no Semibold installed a 600 would round UP to Bold and read too heavy. */

@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeueLTPro-Roman.woff2') format('woff2'),
         url('fonts/HelveticaNeueLTPro-Roman.woff') format('woff'),
         url('fonts/TeXGyreHeros-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeueLTPro-Md.woff2') format('woff2'),
         url('fonts/HelveticaNeueLTPro-Md.woff') format('woff'),
         url('fonts/TeXGyreHeros-Regular.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeueLTPro-Bd.woff2') format('woff2'),
         url('fonts/HelveticaNeueLTPro-Bd.woff') format('woff'),
         url('fonts/TeXGyreHeros-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

.side-panel-buttons {
    background: transparent;
    position: fixed;
    right: 10px;
    bottom: 50px;
    z-index: 9999;
    width: 100px;
}

.side-panel-buttons a {
    background: #80c4e5;
    color: #fff;
    display: block;
    float: none;
    font-size: 14px;
    line-height: 1.2em;
    margin-bottom: 10px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    transition: opacity .25s;
}
.side-panel-buttons a.spb-btn-blue {
    background: #165291;
}
.side-panel-buttons a.spb-btn-light-blue {
    background: #80c4e5;
}
.side-panel-buttons a.spb-btn-grey {
    background: #7e6a73;
}
.side-panel-buttons a.spb-btn-mint {
    background: #FF6720;
}
.side-panel-buttons a.spb-btn-orange {
    background: #f26827;
}
.side-panel-buttons a.spb-btn-purple {
    background: #004B87;
}
.side-panel-buttons a.spb-btn-red {
    background: #de2a57;
}
.side-panel-buttons a.spb-btn-teal {
    background: #189790;
}
.side-panel-buttons a:hover {
    opacity: .9;
}
.side-panel-buttons a:last-child {
    margin-bottom: 0;
}
.side-panel-buttons .spb-icon {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
}
.side-panel-buttons .spb-icon img {
    max-width: 100%;
    height: auto;
    display: block;
}
.side-panel-buttons .spb-title {
    display: block;
}
.social_buttons_widget {
    flex: 1;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .side-panel-buttons {
        width: 80px;
        margin-right: 2px;
    }
    .side-panel-buttons a {
        font-size: 12px;
        margin-bottom: 6px;
        padding: 6px;
    }
    .side-panel-buttons .spb-icon {
        width: 30px;
        height: 30px;
        margin-bottom: 6px;
    }

}