/* BODY */

body {
    margin: 0;
    font-size: 16px;
    word-break: break-word;
    -moz-hyphens: auto;
    hyphens: auto;
    background-image: var(--body-bg-image);
    background-size: var(--body-bg-size);
}

/* XS + S + M */
@media (max-width: 781px) {
    body {
        background-size: var(--body-bg-size-mobile);
    }
}

body * {
    box-sizing: border-box;
}

article {
    color: var(--text-color);
    overflow: hidden;
}

a {
    color: var(--c2-100);
}

img {
    vertical-align: middle;
}

:focus-visible {
  outline: 2px solid var(--text-color-dark);
}

.post-title:has(a),
.page-title:has(a) {
    cursor: text;
}

.post-title a,
.page-title a {
    text-decoration-color: unset;
    text-decoration-line: unset;
    text-decoration-style: unset;
    pointer-events: none;
}

.wp-block-button {
    margin: 0;
}

.wp-block-button a, input[type="submit"] {
    background-color: var(--c1-100);
    border-radius: unset;
    box-shadow: unset;
    color: #fff;
    transition: var(--transition-fast);
    display: inline-block;
    text-decoration: unset !important;
    padding: .4em 1em;
    font-size: inherit;
}

.wp-block-button a:hover, input[type="submit"]:hover {
    background-color: var(--c1-120);
}

/* Body Layouts */

/* Full Width */

body.cd-body-full-width {
    background-color: var(--c3-100);
}

/* Boxed */

body.cd-body-boxed {
    background-color: var(--c3-120);
}

.site-header .site-width, body.cd-body-boxed article, body.cd-body-boxed footer {
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
    width: 85%;
}

body.cd-body-boxed  article {
    background-color: var(--c3-100);
}


/* FORM */

input, textarea {
  padding: 10px;
  accent-color: var(--c1-70);
  font-family: var(--font-body);
  font-size: 12px;
  border: unset;
}

input[type="email"], input[type="text"], input[type="number"], input[type="password"], input[type="tel"], input[type="url"], input[type="search"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], input[type="color"], textarea {
    width: 100%;
}

form p {
  margin: 0;
}

/* Contact Form 7 */

.wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 15px;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-submit {
  cursor: pointer;
}

/* ANIMATIONS */

.fadeup-ready {
    opacity: 0;
    transform: translateY(30px);
}

.fadeup {
    animation-name: fadeup;
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes fadeup {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}



/* LAYOUT CLASSES */

.box {
    padding: 30px;
}

.small-box {
    padding: 20px;
}

.grey {
    background-color: var(--grey-bg);
}

.dark-grey {
    background-color: var(--dark-grey-bg);
}

.color {
    background-color: var(--c1-100);
}

.border {
    border: 2px solid var(--c1-120);
}

.negative p a {
    text-decoration: underline;
}

.negative .wp-block-button a, .negative input[type="submit"] {
    background-color: hsla(0, 0%, 100%, 0.2);
}

.negative .wp-block-button a:hover, .negative input[type="submit"]:hover {
    background-color: hsla(0, 0%, 100%, 0.3);
}


.negative {
  --grey-bg: #ffffff0f;
  --dark-grey-bg: #ffffff21;
  --text-color: var(--text-color-light);
  --text-color-soft: var(--text-color-light-soft);
}

.shadow {
    box-shadow: var(--shadow-small);
}

.round {
    border-radius: var(--corner-medium);
}

/* CUSTOM CLASSES */

/* XS + S + M */
@media (max-width: 781px) {
  .wp-block-columns.reverse {
    flex-direction: column-reverse;
    display: flex;
    gap: 0;
  }
}


/* ELEMENTS */

/* Seperator */ 

.wp-block-separator {
    border-color: var(--c1-120);
}

/* Gallery */

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
    display: none;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    padding: .5em;
    background: var(--c0-007);
}

/* Overlay & Link Groups */

.link-overlay {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 50;
}

.link-overlay:hover {
    background-color: hsla(0, 0%, 100%, 0.1);
}

.link-group {
    position: relative;
}

/* Breadcrumb */

.breadcrumb {
    margin: 15px auto;
}

.breadcrumb .sep::before {
    font-family: 'dashicons';
    content: '\f345';
    vertical-align: middle;
    margin: 0 0.1em;
    color: var(--text-color-soft);
}

/* Cookie Box */

#cdf-cookie-box {
    position: fixed;
    display: flex;
    gap: 10px;
    bottom: 0px;
    right: 0px;
    background: var(--c0-007);
    color: white;
    padding: 10px 15px;
    border-radius: var(--corner-small);
    z-index: 200;
    flex-wrap: wrap;
    align-items: center;
}

#cdf-cookie-box * {
    margin: 0;
}

#cdf-cookie-box .button {
    padding: .2em .4em;
}

/* Thumbnail Caption */

.caption {
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--c0-002);
    color: #fff;
    padding: 1px 7px;
    font-size: smaller;
}

/* BLOG */

.blog-item {
  margin: 0 0 30px;
  position: relative;
}

.blog-item .post-title a,
.blog-item .page-title a {
    text-decoration-color: revert;
    text-decoration-line: revert;
    text-decoration-style: revert;
    pointer-events: revert;
}

.blog-item .post-title,
.blog-item .page-title,
.blog-item p {
    margin: 0 0 .3em;
}

.blog-item .more-button {
    padding: .3em 0;
}

.blog-item .more-link {
    font-weight: var(--font-heading-weight);
}

/* Three Column Blog */

.three-column-blog .blog {
    display: flex;
    gap: 20px;
}

.boxed-posts-blog .blog-item {
    background-color: var(--c3-100);
    padding: 20px;
}

/* POST */

.cpt-name {
  color: var(--text-color-soft);
}

.related-posts-title {
    margin: 0 0 15px;
}

.goback.wp-block-button {
    margin: 0 0 15px;
}

/* DEIGN STYLES */

/* Material */

body.style-material .wp-block-button a, 
body.style-material.style-boxed-posts .related-posts,
body.style-material.style-boxed-posts .template-sidebar-left .main,
body.style-material.style-boxed-posts .template-sidebar-right .main,
body.style-material .boxed-posts-blog .blog-item {
    box-shadow: var(--shadow-small);
}

body.style-material .site-header.boxed > .site-width,
body.style-material .main-menu-bar .site-width {
    box-shadow: var(--shadow-medium);
}

/* Round */

body.style-round .wp-block-button a,
body.style-round .main-menu .menu-item a,
body.style-round.style-boxed-posts .related-posts,
body.style-round.style-boxed-posts .template-sidebar-left .main,
body.style-round.style-boxed-posts .template-sidebar-right .main,
body.style-round .boxed-posts-blog .blog-item,
body.style-round .main-menu .menu-item:hover,
body.style-round .main-menu > .menu-item:hover .sub-menu {
    border-radius: var(--corner-medium);
}


/* style-boxed-posts Style */

body.style-boxed-posts .template-sidebar-left,
body.style-boxed-posts .template-sidebar-right {
    background-color: var(--c3-120);
}

body.style-boxed-posts .template-sidebar-left .main,
body.style-boxed-posts .template-sidebar-right .main {
    background-color: var(--c3-100);
    padding: 30px 30px 45px;
}

body.style-boxed-posts .related-posts {
    background-color: var(--c3-100);
    padding: 20px;
}