
/* --- site customisations: languages, text logo, header, responsive fixes, forms --- */
html.lang-el .l-en,html.lang-el .l-it,html.lang-el .l-ru,html.lang-en .l-el,html.lang-en .l-it,html.lang-en .l-ru,html.lang-it .l-el,html.lang-it .l-en,html.lang-it .l-ru,html.lang-ru .l-el,html.lang-ru .l-en,html.lang-ru .l-it{display:none!important}
html,body{overscroll-behavior:none}
body{overflow-x:hidden;overflow-x:clip}
.heading,.text,.rich-text h2,.rich-text h3,.rich-text p,.rich-text li,.slider-text-span{overflow-wrap:break-word;word-wrap:break-word}
.heading-italic,.heading.heading-small.heading-italic,.slider-text-span{font-style:italic}
.rich-text.article-rich-text h2{letter-spacing:-.04em}
.w-webflow-badge{display:none!important}
:where(.lang-btn){background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
/* text logo */
.logo,.footer-logo-wrapper{width:auto;height:auto}
.navbar-inner>.logo{flex:0 1 auto;min-width:0;margin-right:1rem}
.logo-text{font-family:"Playfairdisplay Variablefont Wght","Noto Serif Display",serif;font-size:1.45rem;line-height:1.1em;letter-spacing:-.02rem;color:var(--main--background);white-space:nowrap;display:block}
.logo-text small{display:block;font-family:"Intertight Variablefont Wght",sans-serif;font-size:.68rem;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-top:.3rem}
.footer-logo-wrapper .logo-text{font-size:1.8rem}
.navbar-dark-text .navbar-inner>.logo .logo-text{color:var(--main--primary)}
/* header controls */
.navbar-inner .w-nav-button{flex:none}
.nav-link .text{white-space:nowrap}
.lang-switch{display:flex;align-items:center;flex:none;gap:.45rem;margin-left:1.25rem;margin-right:1.25rem;font-family:"Intertight Variablefont Wght",sans-serif;font-size:.875rem;letter-spacing:.06em;white-space:nowrap}
.lang-switch .lang-btn{color:var(--main--background);opacity:.5;transition:opacity .3s;padding:.4rem 0}
.lang-switch .lang-btn.is-active,.lang-switch .lang-btn:hover{opacity:1}
.lang-switch span{color:var(--main--background);opacity:.45}
.navbar-dark-text .navbar-inner>.lang-switch .lang-btn,.navbar-dark-text .navbar-inner>.lang-switch span{color:var(--main--primary)}
.menu-social-links{flex-wrap:wrap;row-gap:1rem}
.menu-social-links .lang-switch{margin:0;font-size:1rem;gap:.65rem}
.lang-dd{display:none;position:relative;flex:none;font-family:"Intertight Variablefont Wght",sans-serif}
.lang-dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;height:2.75rem;padding:0 .9rem;border:1px solid rgba(255,255,255,.5);border-radius:3rem;color:var(--main--background);font-size:.8125rem;font-weight:500;letter-spacing:.06em;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary::marker{content:""}
.lang-dd summary:after{content:"";width:.38rem;height:.38rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.lang-dd[open] summary:after{transform:translateY(1px) rotate(-135deg)}
.lang-dd-menu{position:absolute;right:0;top:calc(100% + .5rem);z-index:30;min-width:10rem;padding:.4rem;display:flex;flex-direction:column;background:var(--main--primary);border:1px solid rgba(255,255,255,.14);border-radius:.75rem;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.lang-dd-menu .lang-btn{display:block;width:100%;text-align:left;color:var(--main--background);font-size:1rem;line-height:1.2;padding:.75rem .85rem;border-radius:.5rem;opacity:.75}
.lang-dd-menu .lang-btn.is-active{opacity:1;background:rgba(255,255,255,.1)}
.navbar-dark-text .navbar-inner>.lang-dd summary{color:var(--main--primary);border-color:rgba(47,50,57,.35)}
.footer-pages-grid .lang-btn.is-active{text-decoration:underline;text-underline-offset:.3em}
/* Greek mode: the template's Playfair Display has no Greek glyphs, so Greek headings use Noto Serif Display (closest serif with Greek) */
html.lang-el .heading,html.lang-el .rich-text h2,html.lang-el .rich-text h3,html.lang-el .rich-text.article-rich-text blockquote,html.lang-el .logo-text{font-family:"Noto Serif Display","Playfairdisplay Variablefont Wght",serif}
html.lang-el .heading-italic,html.lang-el .heading.heading-small.heading-italic,html.lang-el .slider-text-span{font-family:"Noto Serif Display","Playfairdisplay",serif;font-style:italic}
html.lang-el .heading.heading-capital,html.lang-el .heading.heading-capital.color-background{font-family:"Intertight Variablefont Wght",sans-serif}
html.lang-el .heading.heading-symbol{font-family:Prata,"Noto Serif Display",serif}
/* contact details */
.contact-phones{margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.contact-phones a{color:var(--main--background);text-decoration:none;opacity:.85;transition:opacity .3s}
.contact-phones a:hover{opacity:1}
.article-contact .text{display:block;color:var(--main--primary);text-decoration:none;margin-top:.5rem}
.article-back{padding-top:0}
/* blog list: the template reserves 5rem beside titles for an arrow the blog list does not have */
.service-item-blog .case-item-heading-wrapper{padding-right:0}
.service-item-blog .news-content-inner,.service-item-blog .service-number{min-width:0}
.service-item-blog .service-number{flex:1 1 auto}
/* forms */
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.form-note{display:none;margin-top:.75rem;font-size:.9375rem;line-height:1.45;color:#ffcfc4}
.form-note.is-visible{display:block}
form.is-sending{opacity:.55;pointer-events:none}
.checkbox-field:focus-within .checkbox{box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.form .w-form-fail,.footer-form-block .w-form-fail{background:transparent;margin-top:0;padding:1.25rem 0 0}
.w-form-fail .text a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
/* hero: grow instead of sliding under the header on short screens (laptops, tablets in landscape) */
@media screen and (min-width:768px){.section.section-full-height{height:auto;min-height:100vh;padding-top:8.5rem}}
/* the largest headings scale with the screen so long Greek/Russian words always fit */
@media screen and (min-width:992px){.heading.heading-large{font-size:min(8.75rem,9.7vw);letter-spacing:-.07em}.rich-text.article-rich-text h2{font-size:min(5.625rem,6.25vw);letter-spacing:-.04em}}
/* small laptops: keep the header on one line */
@media screen and (min-width:992px) and (max-width:1279px){.navbar-inner .button-menu{display:none}.nav-list{padding-left:.75rem;padding-right:.75rem}.nav-list-item{margin-left:.6rem;margin-right:.6rem}.navbar-inner>.lang-switch{margin-right:0}}
@media screen and (max-width:991px){
.navbar-inner>.lang-switch{margin-left:auto}
.case-filter-wrapper{flex-wrap:wrap;overflow:visible;row-gap:.75rem}
.filter-collection-list-wrapper{width:auto;flex:1 1 auto;min-width:0}
.filter-collection-list{flex-wrap:wrap;row-gap:.75rem}
.filter-link{margin-bottom:0}
.social-wrapper.social-wrapper-desktop.article-contact{display:flex;flex-flow:row wrap;gap:.25rem 1.5rem;position:static;padding-top:.75rem}
.article-contact .text{margin-top:0}
#services,#about,#cases,#contact{scroll-margin-top:7rem}
}
@media screen and (max-width:767px){
.navbar-inner>.lang-switch{display:none}
.lang-dd{display:block;margin-left:auto;margin-right:.75rem}
.logo-text{font-size:1.15rem;white-space:normal}
.logo-text small{font-size:.6rem;letter-spacing:.12em}
.service-item-blog .news-content-inner{width:100%;padding-right:0}
.service-item-blog .service-number{width:100%;margin-right:0}
.case-filter-wrapper,.filter-collection-list{flex-direction:column;align-items:flex-start;row-gap:.6rem}
.filter-collection-list-wrapper{width:100%}
}
@media screen and (max-width:479px){
.heading.heading-large{font-size:min(3rem,12.5vw)}
.heading.heading-large.color-background{font-size:min(3.625rem,14.5vw)}
.footer-bottom-left{flex-wrap:wrap;justify-content:center;row-gap:.35rem;text-align:center}
.footer-bottom-left .text{white-space:nowrap}
}
@media screen and (max-width:380px){
.logo-text{font-size:1rem}
.navbar-inner .menu-button.w-nav-button{width:3.25rem;height:3.25rem}
.lang-dd{margin-right:.5rem}
.lang-dd summary{padding:0 .7rem;height:2.5rem}
}
