/*
Theme Name: RBF Blocks
Theme URI: https://rbf.co.il/
Author: Shoco Marketing
Author URI: https://shocomarketing.co.il/
Description: Clean block theme for rbf.co.il (BE Architects, Roni Friedman). A one-to-one port of the 2018 classic theme be-architects (LM Studio): same CSS, same markup, same SCF fields, no jQuery, no page builder.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: rbf-blocks
*/

/* ---------------------------------------------------------------------------------------------------------------
   1. Fonts (the three Assistant weights the live theme ships; font-display: swap added, the only change)
   --------------------------------------------------------------------------------------------------------------- */
@font-face { src: url(assets/fonts/Assistant-ExtraLight.ttf) format("truetype"); font-family: Assistant; font-weight: 200; font-display: swap; }
@font-face { src: url(assets/fonts/Assistant-Regular.ttf) format("truetype"); font-family: Assistant; font-weight: 400; font-display: swap; }
@font-face { src: url(assets/fonts/Assistant-Bold.ttf) format("truetype"); font-family: Assistant; font-weight: 700; font-display: swap; }

/* ---------------------------------------------------------------------------------------------------------------
   2. be-architects/stylesheets/main.css, verbatim (03.11.2026). Only the two url() paths changed.
   --------------------------------------------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100% }
button, input, textarea { outline: none; font: inherit; margin: 0 }
input:active, input:focus, select:active, select:focus, textarea:active { outline: none }
button, input[type=button], input[type=submit] { -webkit-appearance: none; cursor: pointer }
.h1, .h2, .h3, h1, h2, h3 { margin: 0 }
* { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; font-family: inherit }
a, abbr, acronym, address, applet, b, big, blockquote, body, caption, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent }
article, aside, footer, header, nav, section { display: block }
textarea { resize: none; font: inherit }
ol, ul { list-style: none }
img { border: none; display: block }
input { vertical-align: middle }
a, a:hover { text-decoration: none }
li, ul { list-style-type: none }
.float-l { float: left } .float-r { float: right } .float-n { float: none }
.size9 { font-size: 9px } .size10 { font-size: 10px } .size11 { font-size: 11px } .size12 { font-size: 12px } .size13 { font-size: 13px } .size14 { font-size: 14px } .size15 { font-size: 15px } .size16 { font-size: 16px } .size17 { font-size: 17px } .size18 { font-size: 18px } .size20 { font-size: 20px } .size21 { font-size: 21px } .size22 { font-size: 22px } .size24 { font-size: 24px } .size25 { font-size: 25px } .size26 { font-size: 26px } .size28 { font-size: 28px } .size30 { font-size: 30px } .size32 { font-size: 32px } .size34 { font-size: 34px } .size35 { font-size: 35px } .size36 { font-size: 36px } .size50 { font-size: 50px }
.text-l { text-align: left } .text-c { text-align: center } .text-j { text-align: justify } .text-r { text-align: right }
.text-tr-up { text-transform: uppercase } .text-tr-low { text-transform: lowercase }
.bold { font-weight: 700 } .font-normal { font-weight: 400 }
.clearfix:after, .clearfix:before { content: " "; display: table } .clearfix:after { clear: both }
.hide { display: none }
.flex-row { display: -ms-flexbox; display: flex }
.ai-c { -ms-flex-align: center; align-items: center } .ai-fe { -ms-flex-align: end; align-items: flex-end } .ai-fs { -ms-flex-align: start; align-items: flex-start }
.jc-c { -ms-flex-pack: center; justify-content: center } .jc-sb { -ms-flex-pack: justify; justify-content: space-between } .js-sa { -ms-flex-pack: distribute; justify-content: space-around }
body { font-family: Assistant, sans-serif; direction: rtl; color: #070100; font-size: 1.15vw }
.button { display: inline-block; color: #494949; text-align: center; line-height: 1; background: hsla(0, 0%, 100%, .9); border: .05vw solid hsla(0, 0%, 100%, .25); font-size: 1.35vw; font-weight: 700; padding: .4195vw .42vw; transition: all .25s ease; font-weight: normal; }
.button:hover, header { background: #fff }
header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; position: fixed; top: 0; left: 0; right: 0; padding: 2.5vw 5.73vw 1vw; z-index: 2; box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .15) }
header.hp-header { background: linear-gradient(0deg, rgba(153, 218, 255, 0), rgba(0, 0, 0, .8)); box-shadow: 0 0 0 0 rgba(0, 0, 0, .15) }
header.hp-header .lang-link, header.hp-header .menu-item a { color: #fff }
header.hp-header .sub-menu { background: rgba(0, 0, 0, .8) }
header.hp-header+* { margin-top: 0 }
header .call-menu { display: none }
header .menu-main-container { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center }
header .menu-item { display: inline-block; position: relative; padding: .52vw 1.3vw }
header .menu-item:hover .sub-menu { opacity: 1; visibility: visible }
header .menu-item:hover>a { color: #818081 }
header .menu-item a { color: #262724; display: block; transition: all .25s ease }
header .sub-menu { position: absolute; top: 100%; right: 1.3vw; background: rgba(255, 255, 255, 0.75); opacity: 0; visibility: hidden; transition: all .25s ease; border: .05vw solid #262724; }
header .sub-menu .menu-item { display: block; padding: 0 }
header .sub-menu .menu-item:not(:last-child) { border-bottom: 0.05vw solid rgba(64, 64, 62, 0.25); }
header .sub-menu a { white-space: nowrap; padding: .42vw .78vw }
header .logo { display: block; width: 13.96vw; margin-top: .42vw }
header .logo img { width: 100% }
header .lang-link { color: #262724; font-weight: 200; margin-right: 2.6vw }
header+* { margin-top: 5.99vw }
.hp-slider .slide { width: 100%; height: 100vh; background: no-repeat top/cover; display: -ms-flexbox; display: flex; -ms-flex-align: end; align-items: flex-end; -ms-flex-pack: center; justify-content: center; padding-bottom: 5.21vw }
.hp-slider .button { position: absolute; bottom: 12.5vw; right: 2.14vw }
.slick-arrow { position: absolute; width: 1.93vw; height: 2.24vw; z-index: 1; text-align: center; font-size: 0; display: -ms-flexbox!important; display: flex!important; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; background: hsla(0, 0%, 100%, .9); border: .05vw solid hsla(0, 0%, 100%, .25); bottom: 12.5vw; cursor: pointer }
.slick-arrow:before { content: ""; font-size: .68vw; transform: matrix(-1.73328, 0, 0, -3.89262, 0, 0); color: #494949; }
.slick-arrow.slick-prev { right: 0 }
.slick-arrow.slick-prev:before { content: ">" }
.slick-arrow.slick-next { left: 0 }
.slick-arrow.slick-next:before { content: "<" }
h1 { font-size: 1.77vw; font-weight: 400 }
.container { width: 77.08vw; margin: 0 auto }
.main-banner img { width: 100% }
.about-sec { padding: 1.46vw 0 7.81vw }
.about-sec h1 { color: #484946; margin-bottom: 2.6vw }
.about-sec .text-wrap { width: 38.54vw }
footer { text-align: center; font-size: 1.15vw; padding: 1.04vw 0; color: #484946 }
.projects-sec { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 1.56vw }
.projects-sec .item { display: block; width: 48.8%; position: relative; margin-bottom: 1.82vw; filter: grayscale(100%); transition: all .25s ease }
.projects-sec .item:after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 4.69vw; background: linear-gradient(0deg, rgba(0, 0, 0, .8), rgba(153, 218, 255, 0)) }
.projects-sec .item:hover { filter: grayscale(0); -webkit-filter: grayscale(0); }
.projects-sec .item:hover h2 { opacity: 1 }
.projects-sec .item img { width: 100% }
.projects-sec h2 { position: absolute; bottom: 0; right: 0; color: #fff; padding: .52vw 1.04vw; font-size: 1.25vw; font-weight: 400; opacity: 0; z-index: 1; transition: all .25s ease }
.mob-show { display: none!important }
.publications-list { padding: 0 7.19vw 2.86vw }
.publications-list .item { padding: 1.67vw; border-bottom: .05vw solid #b3b3b2 }
.publications-list .item, .publications-list .logo-wrap { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center }
.publications-list .logo-wrap { height: 6.77vw; width: 19.53vw; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; padding: 0 1.04vw }
.publications-list .logo-wrap img { max-width: 100%; max-height: 100% }
.publications-list .description { width: 100% }
.publications-list .btn-wrap { width: 17.19vw; -ms-flex-negative: 0; flex-shrink: 0; padding: 0 1.56vw }
.publications-list .button { background: rgba(0, 0, 0, .15); color: #000; font-weight: 400; width: 8.96vw; border: .05vw solid #7e7e7e; padding: .63vw }
.publications-list .button:hover { background: rgba(0, 0, 0, .54) }
.contact-us { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding: 4.17vw 6.51vw; background: url(assets/img/contact-bg.jpg) no-repeat top/cover }
.contact-us .contact-info { padding: 3.13vw 4.69vw; background: hsla(0, 0%, 100%, .8); width: 48.2%; line-height: 1.55 }
.contact-us h1 { margin-bottom: 3.23vw }
.contact-us .map-wrap { width: 48.2% }
.contact-us .map-wrap iframe { width: 100%; height: 100% }
.contact-us .content-wrap { width: 15.1vw }
.contact-us .inline { margin-right: .52vw; width: 4.43vw }
.contact-us a { color: #070100 }
.contact-us h2 { font-size: 1.77vw; font-weight: 400; color: #484946; margin: 4.17vw 0 2.19vw }
.custom-form .wpcf7-form-control-wrap { display: block; position: relative; margin-bottom: .94vw }
.custom-form .wpcf7-form-control { position: relative; z-index: 1; background-color: transparent; border: 0; height: 2.6vw; padding-right: 4.69vw; font-size: 1.15vw; width: 100% }
.custom-form .wpcf7-form-label { position: absolute; right: 0; top: 0; height: 2.34vw; width: 100%; display: -ms-flexbox; display: flex; -ms-flex-align: end; align-items: flex-end; white-space: nowrap; line-height: 1; font-size: 1.15vw }
.custom-form .wpcf7-form-label:after { content: ""; height: .1vw; width: 100%; background: #424242; margin-right: .26vw }
.custom-form .wpcf7-submit { padding-right: 0; width: 8.85vw; background: rgba(29, 29, 29, .54); margin-top: 1.82vw; transition: all .25s ease }
.custom-form .wpcf7-submit:hover { background: rgba(29, 29, 29, .3) }
.inline { display: inline; vertical-align: middle }
.project-inner { padding: 0 7.03vw }
.project-inner .gallery-slider { padding: 0 4.32vw }
.project-inner .gallery-slider img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.project-inner .slick-arrow { background: #b8b5b5; bottom: auto; top: 50%; margin-top: -1.04vw }
.project-inner .slick-dots { position: absolute; top: 100%; left: 6.03vw; margin-top: 1.88vw; }
.project-inner h1 { width: 100%; color: #71726e; margin-bottom: 2.86vw }
.project-inner .about-project { display: -ms-flexbox; display: flex; padding: .52vw 6.09vw }
.project-inner .info-col { width: 50%; -ms-flex-wrap: wrap; flex-wrap: wrap; display: -ms-flexbox; display: flex; padding-top: .78vw; line-height: 1.2 }
.project-inner .col { width: 50% }
.project-inner .nav-col { text-align: left; width: 50%; padding-top: 4.17vw }
.project-inner .nav-col a { color: #71726e; }
.project-inner .nav-col a { padding-right: 2.08vw; }
.project-inner .nav-col a:hover { font-weight: 700 }
.slick-dots { display: -ms-flexbox!important; display: flex!important }
.slick-dots li { width: .99vw; height: 1.09vw; cursor: pointer; border: .05vw solid #000; box-shadow: inset 0 0 0 .16vw #fff; transition: all .25s ease; margin: 0 .57vw }
.slick-dots li:last-child { margin-left: 0; }
.slick-dots button { display: none }
.slick-dots .slick-active { background: #71726e }
@media (max-width:991px) {
    body { font-size: 4.71vw }
    .button { border: .29vw solid hsla(0, 0%, 100%, .25); font-size: 4.12vw; padding: .88vw 2.35vw }
    header { padding: 5.88vw; -ms-flex-align: center; align-items: center }
    header.hp-header .menu-item a { color: #262724 }
    header.hp-header .call-menu .line { height: .59vw; background: #fff }
    header.hp-header .lang-link { color: #262724 }
    header.hp-header .sub-menu { background: #fff }
    header .call-menu { display: block; width: 5.59vw }
    header .call-menu.open .line:first-child { transform: rotate(45deg) translate(1.18vw, .59vw) }
    header .call-menu.open .line:nth-child(2) { opacity: 0 }
    header .call-menu.open .line:nth-child(3) { transform: rotate(-45deg) translate(1.47vw, -.88vw) }
    header .call-menu .line { transition: all .25s ease; height: .59vw; background: #424340 }
    header .call-menu .line:not(:last-child) { margin-bottom: .88vw }
    header .menu-main-container { position: absolute; top: 100%; left: 0; right: 0; background: #fff; display: none; overflow: scroll; max-height: 67vh }
    header .menu-item { display: block; padding: 0 }
    header .menu-item:not(:last-child) { border-bottom: .29vw solid #d9d9d8 }
    header .menu-item a { font-size: 5.88vw; color: #262724; padding: 2.06vw 5.88vw }
    header .current-menu-item { background: #e1dfe0 }
    header .sub-menu { position: static; opacity: 1; visibility: visible; right: auto; border: 0; border-top: .29vw solid #d9d9d8; background: transparent }
    header .sub-menu .menu-item { padding-right: 8.82vw }
    header .sub-menu .menu-item:not(:last-child) { border-bottom: .29vw solid #d9d9d8 }
    header .sub-menu a { padding: 2.06vw 5.88vw }
    header .logo { width: 52.94vw; margin-top: 0 }
    header .lang-link { margin-right: 14.71vw; color: #262724; font-weight: 400; display: none }
    header+* { margin-top: 18.9vw }
    .hp-slider .slide { padding-bottom: 29.41vw }
    .hp-slider .button { bottom: 22.94vw; right: 6.18vw }
    .slick-arrow { width: 5.29vw; height: 6.47vw; bottom: 22.94vw }
    .slick-arrow:before { font-size: 2.06vw }
    h1 { font-size: 10vw }
    .container { width: 100% }
    .about-sec { padding: 4.71vw 8.82vw; line-height: 1.72 }
    .about-sec h1 { margin-bottom: 7.06vw }
    .about-sec .text-wrap { width: 100% }
    footer { font-size: 3.82vw; border-bottom: 4.12vw solid #262724; padding: 5.88vw 0 }
    .mob-hide { display: none!important }
    .mob-show { display: block!important }
    .projects-sec { padding: 0 }
    .projects-sec .item { width: 100%; margin-bottom: 5.29vw }
    .projects-sec .item:after { height: 26.47vw }
    .projects-sec h2 { padding: 2.94vw 5.88vw; font-size: 7.06vw }
    .publications-list { padding: 0 }
    .publications-list .item { -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; border-bottom: 0 }
    .publications-list .logo-wrap { height: 41.18vw; width: 100%; padding: 5.88vw 5.88vw 2.94vw }
    .publications-list .description { padding: 5.88vw 8.82vw 8.24vw }
    .publications-list .btn-wrap { width: 100%; -ms-flex-negative: 0; flex-shrink: 0; padding: 0 }
    .publications-list .button { width: 100%; padding: 2.94vw; font-size: 5.29vw }
    .contact-us { -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 7.06vw 5.88vw }
    .contact-us .contact-info { padding: 5.29vw 3.53vw; width: 100%; line-height: 2.15 }
    .contact-us h1 { margin-bottom: 12.06vw; font-size: 8.82vw; line-height: 1 }
    .contact-us .map-wrap { width: 100%; height: 60.59vw }
    .contact-us .content-wrap { width: 100% }
    .contact-us .inline { width: 19.41vw; margin-right: 2.94vw }
    .contact-us h2 { font-size: 8.82vw; margin: 14.41vw 0 .88vw }
    .custom-form .wpcf7-form-control-wrap { margin-bottom: 5.29vw }
    .custom-form .wpcf7-form-control { height: 14.71vw; padding-right: 26.47vw; font-size: 4.71vw }
    .custom-form .wpcf7-form-label { height: 13.24vw; font-size: 4.71vw }
    .custom-form .wpcf7-form-label:after { height: .59vw; margin-right: 1.47vw }
    .custom-form .wpcf7-submit { width: 50vw; margin-top: 10.29vw; font-size: 7.65vw; padding: 0 }
    .project-inner, .project-inner .gallery-slider { padding: 0 }
    .project-inner .slick-arrow { bottom: auto; top: 50%; margin-top: -5.88vw }
    .project-inner .slick-dots { left: 25.59vw; margin-top: 10.59vw }
    .project-inner h1 { font-size: 8.82vw; margin-bottom: 7.35vw }
    .project-inner .about-project { padding: 0; -ms-flex-direction: column-reverse; flex-direction: column-reverse }
    .project-inner .info-col { width: 100%; padding: 7.35vw 8.82vw; line-height: 1.2 }
    .project-inner .col { width: 100% }
    .project-inner .nav-col { width: 100%; padding: 2.65vw 5.88vw; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; border-bottom: .29vw solid #e0e0e0 }
    .project-inner .nav-col a { margin: 0 }
}

/* ---------------------------------------------------------------------------------------------------------------
   3. be-architects/style.css (the theme's own additions), verbatim
   --------------------------------------------------------------------------------------------------------------- */
.wpcf7-not-valid { border-bottom: 1px solid red!important; }
.wpcf7-not-valid-tip, .wpcf7-validation-errors { display: none!important; }
div.wpcf7-mail-sent-ok { border: none!important; text-align: right; margin: 0px; padding: 0px; }
.project-inner .col-sm-6 { width: 49%; display: inline-block; vertical-align: top; }
.div.wpcf7 { direction: rtl; }
body header { display: flex; }
.home header .menu-item:hover>a { color: #fff; text-shadow: 2px 2px 2px #000; }
.slick-arrow:hover, .hp-slider .button:hover { font-weight: bold; }
.project-inner .about-project { flex-wrap: wrap; }
.project-inner .full-with { width: 100%; padding: 20px 0; }
.full-with .container { width: 100%; }
.full-with iframe { max-width: 100%; width: 100%; height: 400px; }
@media (max-width: 991px) {
    .project-inner .col-sm-6 { width: 100%; }
    .project-inner h1 { margin-bottom: 0; }
    .project-inner .full-with { padding: 0 8.82vw; }
    .full-with iframe { height: 180px; margin-top: 20px; }
    header .logo img { height: 27px; width: auto; }
    header .logo { display: flex; flex-wrap: wrap; justify-content: flex-end; }
    header { padding: 15px; }
}

/* ---------------------------------------------------------------------------------------------------------------
   4. "Additional CSS" of the live Customizer (clients/rbf/STATUS.md, 25.10.2026), verbatim
   --------------------------------------------------------------------------------------------------------------- */
.project-inner .slick-dots { flex-wrap: wrap; width: 48%; max-width: 48%; row-gap: .6vw; pointer-events: none; }
.project-inner .slick-dots li { pointer-events: auto; }
.project-inner .nav-col { position: relative; z-index: 2; pointer-events: none; }
.project-inner .nav-col a { pointer-events: auto; }
.project-inner .full-with.info-col { display: block; }

/* ---------------------------------------------------------------------------------------------------------------
   4b. The few core rules the live pages used from rtl.css / block-library / global styles (CSS coverage 03.11.2026)
   --------------------------------------------------------------------------------------------------------------- */
body { unicode-bidi: embed; }
caption, th, td { text-align: right; }
html :where(img[class*=wp-image-]) { height: auto; max-width: 100%; }
:where(figure) { margin: 0 0 1em; }

/* ---------------------------------------------------------------------------------------------------------------
   5. The slider without slick.js: slides stacked in one grid cell, the current one visible, 1 s cross-fade like
      slick's fade mode (speed 1000). Class names kept (.slick-current, .slick-arrow, .slick-dots, .slick-active)
      so sections 2-4 above apply unchanged. The home slide picks its landscape / portrait image in CSS
      (the live theme did it in jQuery on resize).
   --------------------------------------------------------------------------------------------------------------- */
.rbf-slider { position: relative; }
.rbf-slider .rbf-slides { display: grid; }
.rbf-slider .rbf-slides > .slide { grid-area: 1 / 1; position: relative; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 0s linear 1s; }
.rbf-slider .rbf-slides > .slide.slick-current { opacity: 1; visibility: visible; transition: opacity 1s ease, visibility 0s; z-index: 1; }
.rbf-slider .rbf-slides > .slide.rbf-leaving { visibility: visible; }
.hp-slider .slide { background-image: var(--rbf-h); }
@media (orientation: portrait) { .hp-slider .slide { background-image: var(--rbf-v, var(--rbf-h)); } }
.slick-arrow { border: 0; padding: 0; font-family: inherit; }
.slick-dots li { list-style: none; }
.slick-dots button { font-size: 0; }
@media (max-width: 991px) { .gallery-slider .slick-dots { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .rbf-slider .rbf-slides > .slide { transition: none; } }

/* ---------------------------------------------------------------------------------------------------------------
   6. Mobile menu toggle without jQuery (slideToggle 400 ms -> a short max-height animation)
   --------------------------------------------------------------------------------------------------------------- */
@media (max-width: 991px) {
    header .menu-main-container.is-open { display: block; animation: rbf-menu-open .4s ease; }
    @keyframes rbf-menu-open { from { max-height: 0; } to { max-height: 67vh; } }
}

/* ---------------------------------------------------------------------------------------------------------------
   7. Block-theme canvas: the template wrapper must not add space, and the 404 page gets a plain layout
   --------------------------------------------------------------------------------------------------------------- */
.wp-site-blocks { display: block; }
.rbf-404 { padding: 2vw 0 7.81vw; text-align: center; }
.rbf-404 h1 { color: #484946; margin-bottom: 2vw; }
@media (max-width: 991px) { .rbf-404 { padding: 8vw 8.82vw; } }
