@font-face {
  font-family: 'header_font';
  src: url('fonts/roboto-bold.woff2') format('woff2'),
       url('fonts/roboto-bold.woff')  format('woff');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'font_regular';
  src: url('fonts/roboto-regular.woff2') format('woff2'),
       url('fonts/roboto-regular.woff')  format('woff');
  font-weight: 400;
  font-style: normal;
}

html,
body {
  height: 100%;
  min-height: 100%;
  overflow-x: hidden;
}

html,
body,
main,
section,
div,
article,
header,
p,
a,
img,
form,
label,
input,
button,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body.rme-body {
  background-color: #ffffff;
  color: #302d2c;
  font-family: 'font_regular', Arial, Helvetica, sans-serif;
  font-size: 1.125rem !important;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.rme-body img {
  border: 0;
}

.rme-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 20px 210px;
}

.rme-wrap,
.rme-access-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

.rme-content {
  width: 100%;
  max-width: 504px;
  padding: 0;
  text-align: center;
}

.rme-logo {
  display: block;
  width: 118px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 56px;
}

.rme-text {
  max-width: 504px;
  margin: 0 auto 18px;
}

.rme-text a,
.rme-wysiwyg a {
  color: #302d2c;
  text-decoration: none;
  word-break: break-word;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s ease;
}

.rme-text a:hover,
.rme-text a:focus,
.rme-wysiwyg a:hover,
.rme-wysiwyg a:focus {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  transition: border-color 0.13s ease;
}
.rme-entry-content h1,
.rme-entry-content h2,
.rme-entry-content h3,
.rme-entry-content h4,
.rme-entry-content h5,
.rme-entry-content h6,
.rme-content h1,
.rme-content h2,
.rme-content h3,
.rme-content h4,
.rme-content h5,
.rme-content h6,
.rme-title {
  font-family: 'header_font', Arial, Helvetica, sans-serif !important;;
  color: #302d2c !important;;
  font-size: 1.4rem !important;
  line-height: 1.2 !important;;
}

.rme-title {
  margin-bottom: 28px;
  text-align: center;
}

.rme-page-access {
  padding: 20px;
}

.rme-access-form {
  width: 100%;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rme-access-label {
  font-family: 'header_font', Arial, Helvetica, sans-serif;
  color: #302d2c;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

.rme-password-input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #302d2c;
  border-radius: 0;
  color: #302d2c;
  background-color: #ffffff;
  font-family: 'font_regular', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
}

.rme-password-submit {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #302d2c;
  border-radius: 0;
  background-color: #302d2c;
  color: #ffffff !important;
  cursor: pointer;
  font-family: 'font_regular', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.2;
}

.rme-password-submit:hover,
.rme-password-submit:focus {
  background-color: #302d2c;
  color: #ffffff !important;
}

.rme-password-error {
  color: #302d2c;
  font-family: 'font_regular', Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
  text-align: center;
}

.rme-page-shell {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 20px 64px;
}

.rme-header {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 0 86px;
  text-align: center;
}

.rme-header-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.rme-header-logo {
  display: block;
  width: 198px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.rme-main-content {
  width: 100%;
  display: flex;
  justify-content: center;
}

.rme-card {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}

.rme-card-404 {
  max-width: 504px;
  text-align: center;
}

.rme-entry-content {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}

.rme-entry-content .rme-title,
.rme-entry-content .rme-wysiwyg {
  width: 100%;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.rme-wysiwyg > *:first-child {
  margin-top: 0;
}

.rme-wysiwyg > *:last-child {
  margin-bottom: 0;
}

.rme-wysiwyg p,
.rme-wysiwyg ul,
.rme-wysiwyg ol,
.rme-wysiwyg blockquote,
.rme-wysiwyg figure,
.rme-wysiwyg .wp-block-group,
.rme-wysiwyg .wp-block-columns {
  margin: 0 0 18px;
}

.rme-wysiwyg ul,
.rme-wysiwyg ol {
  padding-left: 22px;
}

.rme-wysiwyg h1,
.rme-wysiwyg h2,
.rme-wysiwyg h3,
.rme-wysiwyg h4,
.rme-wysiwyg h5,
.rme-wysiwyg h6 {
  margin: 34px 0 16px;
  font-family: 'header_font', Arial, Helvetica, sans-serif;
  color: #302d2c;
  line-height: 1.2;
}

.rme-wysiwyg h1 {
  font-size: 1.4rem !important;
}

.rme-wysiwyg h2 {
  font-size: 1.4rem !important;
}

.rme-wysiwyg h3,
.rme-wysiwyg h4,
.rme-wysiwyg h5,
.rme-wysiwyg h6 {
  font-size: 1.125rem !important;
}

body.rme-body,
.rme-text,
.rme-wysiwyg p {
  font-size: 1.05rem !important;
}

.rme-social-links {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.rme-social-link {
  display: block;
  width: 34px;
  height: 34px;
  line-height: 0;
  flex: 0 0 auto;
}

.rme-social-link img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 680px) {
  body.rme-body,
  .rme-text,
  .rme-wysiwyg p {
    font-size: 0.98rem !important;
  }

   
  .rme-page {
    padding: 40px 40px 210px;
  }

  .rme-logo {
    width: 98px;
    max-width: 100%;
    margin: 0 auto 48px;
  }

  .rme-page-shell {
    padding: 24px 24px 56px;
  }

  .rme-header {
    padding: 10px 0 56px;
  }

  .rme-header-logo {
    width: 184px;
  }

  .rme-title,
  .rme-wysiwyg h1 {
    font-size: 1.55rem;
  }

  .rme-wysiwyg h2 {
    font-size: 1.32rem;
  }
  
  .rme-social-link {
    width: 44px;
    height: 44px;
  }
}
