/* 
Theme Name: Letra Muerta Inc.
Theme URI: https://letramuerta.nyc
Description: Custom theme for Letra Muerta Inc. | Child theme of Hello Elementor
Author: SOULFUL
Author URI: https://wearesoulful.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: letramuertainc
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Chivo+Mono:ital,wght@0,100..900;1,100..900&family=Chivo:ital,wght@0,100..900;1,100..900&display=swap');

/* Variables */
:root {
    --beige: #FDFEEE;
    --white: #FBFBF8;
    --black: #131300;
    --highlight: #FFFB93;
    --spacer: 60px;
    --container-size: 85vw;
    --container-padding: calc((100vw - var(--container-size)) / 2);
}

html {
    --text-color: var(--beige);
    --bg-color: var(--black);
    --base-color: var(--beige);
}

.light {
    --text-color: var(--black);
    --bg-color: var(--white);
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

::selection {
    /* background: var(--base-color); */
}

*:focus, *:active {
    outline: none;
}

::-webkit-scrollbar:horizontal {
    height: 0;
    width: 0;
    display: none;
  }
  
::-webkit-scrollbar-thumb:horizontal {
    display: none;
}

/* ::-webkit-scrollbar-track
{
    -webkit-box-shadow: none;
    border: 0;
    cursor: pointer;
}

::-webkit-scrollbar
{
    width: 7px;
    height: 7px;
    background-color: var(--text-color);
    cursor: pointer;
}

::-webkit-scrollbar-thumb
{
    background-color: var(--base-color);
    border: 0;
    border-radius: 4px;
    cursor: pointer;
} */

/* Global */
html, body {
    font-family: "Chivo", serif;
    font-weight: 300;
    color: var(--text-color);
    background: var(--bg-color);
    font-size: 16px;
    transition: all .5s ease-out;
}

main {
    background: var(--bg-color);
    position: relative;
    z-index: 3;
    overflow: hidden;
}

/* Utilities */
.hidden  {
    display: none !important;
}

/* Elementor Overrides */
.e-con>.e-con-inner>.elementor-widget>.elementor-widget-container, .e-con>.elementor-widget>.elementor-widget-container {
    height: auto;
}

.e-con>.e-con-inner {
    padding-top: 0;
    padding-bottom: 0;
}

.e-con {
    --content-width: 100%;
    --padding-inline-start: 0;
    --padding-inline-end: 0;
}

.e-con:not(.no-padding) {
    padding-top: var(--spacer);
    padding-bottom: var(--spacer);
}

.no-padding-top {
    padding-top: 0 !important;
}

.no-padding-bottom {
    padding-bottom: 0 !important;
}

body:not([class*=elementor-page-]) .site-main {
    width: 100%;
    max-width: 100%;
    background: var(--bg-color);
}

body:not(.blog):not(.error404) .page-content:not(.posts-grid) {
    width: 100% !important;
    max-width: 100% !important;
}

body.error404 main {
    margin-top: 60px;
}

body.error404 .page-content {
    max-width: var(--container-size) !important;
    margin: 0 auto;
    border-bottom: 1px solid;
    padding-bottom: 30px;
}

.page-content > div {
    margin-left: auto;
    margin-right: auto;
}

.e-con.e-con-boxed:not(.e-child) {
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.e-con>.e-con-inner {
    gap: var(--spacer);
}

.e-con.e-child {
    padding-top: 0;
    padding-bottom: 0;
}

.single-lminc_projects .e-con {
    padding-bottom: 0;
}

/* .e-con-full, .e-con>.e-con-inner {
    padding-block-end: 0 !important;
    padding-block-start: 0 !important;
} */

figcaption, .elementor-widget-text-editor pre  {
    font-family: "Chivo Mono", monospace;
    font-style: normal;
    font-size: 12px;
    padding: 5px 10px;
    text-align: left;
    mix-blend-mode: difference;
    color: var(--base-color);
    opacity: .5;
}

.elementor-widget-text-editor pre {
    padding: 0 10px;
    margin: -10px 0 0;
}

.gallery.gallery-columns-1 {
    display: flex;
    align-items: stretch;
    gap: calc(var(--spacer) / 4);
}

.elementor-image-gallery .gallery-item {
    display: flex !important;
    align-items: stretch !important;
    width: auto !important;
    flex: 0 1 auto !important;
}

.gallery-icon {
    display: flex;
    height: 100%;
}

.elementor-image-gallery, .elementor-widget-image-gallery + .elementor-widget-text-editor {
    padding-left: var(--container-padding);
}

.elementor-image-gallery {
    overflow: auto;
}

.elementor-image-gallery .gallery-item img {
    height: 60vh;
    width: auto;
    max-width: none;
    object-fit: cover;
}

.elementor-image-gallery figure.gallery-item:last-child {
    padding-right: var(--container-padding) !important;
}

.elementor-editor-active main {
    z-index: 999999999999;
}

.elementor-widget-image img {
    display: block !important;
    margin: 0;
}

.site-navigation ul.menu li.menu-item-has-children:focus-within>ul {
    display: none;
}

/* Text */
a, a:active, a:hover {
    color: var(--text-color);
    font-weight: bold;
}

.comments-area a, .page-content a {
    text-decoration: none;
}

p a {
    border-bottom: 2.5px solid var(--base-color);
    text-decoration: none;
}

.light p a, .banner p a {
    border-bottom-color: var(--black);
}

h1 {
    font-size: 60px;
    font-weight: bold;
    line-height: 50px;
}

h2 {
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
}

h1 + h2, h2 + h3 {
    font-size: 25px;
    font-weight: 400;
}

h4 {
    font-size: 25px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10px;
}

p {
    font-size: 18px;
    line-height: 25px;
}

b, strong {
    font-weight: bold;
}

.monospaced {
    font-family: 'Chivo Mono', monospace;
}

/* Header */
a.custom-logo-link {
    text-align: center;
    position: fixed;
    z-index: 2;
    top: 0;
    width: 100%;
    height: min(50vh, 400px);
    display: flex;
    align-items: center;
}

.home a.custom-logo-link {
    height: calc(100% - 75px);
}

.home.admin-bar a.custom-logo-link {
    height: calc(100% - 107px);
}

body.admin-bar a.custom-logo-link {
    top: 32px;
}

img.custom-logo {
    width: calc(var(--container-size)/2);
    margin: 0 auto;
}

.post-thumbnail a.custom-logo-link {
    display: flex;
    vertical-align: middle;
    height: 100%;
}

body.single-lminc_archives .post-thumbnail {
    display: none !important;
}

.vidbg-container {
    height: min(50vh, 400px);
    z-index: 1;
}

body.no-bg-video .vidbg-container {
    display: none;
}

.b7-multiple-featured-images {
    display: none !important;
}


/* .vidbg-overlay {
    background-image: url("./assets/img/logo-letra-muerta-inc.svg");
    background-repeat: no-repeat;
    left: var(--container-padding);
    width: 300px;
    height: calc(100% - 45px);
    background-size: contain;
    background-position: left bottom;
}
    
body.home .vidbg-overlay {
    width: 80vh;
}
*/

.vidbg-container video {
    min-width: 100vw;
}


body.home .vidbg-container {
    height: calc(100vh - 75px);
}

body.home.admin-bar .vidbg-container {
    height: calc(100vh - 75px - var(--wp-admin--admin-bar--height));
}

body.admin-bar .vidbg-container {
    margin-top: var(--wp-admin--admin-bar--height);
}

.post-thumbnail {
    position: fixed;
    top: 0;
    z-index: 1;
    width: 100%;
    height: min(50vh, 400px);
    overflow: hidden;
    left: 0;
    background-size: cover;
    background-position: bottom center;
}

body.admin-bar .post-thumbnail {
    top: var(--wp-admin--admin-bar--height);
}

.site-logo {
    position: absolute;
    bottom: 35px;
    left: var(--container-padding);
    width: 300px;
}

#site-header {
    margin-top: min(50vh, 400px);
    background: var(--base-color);
    position: sticky;
    top: 0;
    z-index: 999;
}

body.admin-bar #site-header {
    top: var(--wp-admin--admin-bar--height);
}

body.home #site-header {
    margin-top: calc(100vh - 75px);
}
body.home.admin-bar #site-header {
    margin-top: calc(100vh - 75px - var(--wp-admin--admin-bar--height));
}

.site-header {
    padding-top: 0;
    padding-bottom: 0;
}

.site-navigation {
    position: relative;
    width: 100%;
}

.site-navigation ul.menu {
    margin-left: -15px;
}

.site-navigation ul.menu li {
    position: initial;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.site-navigation ul.menu li a {
    font-weight: bold;
    color: var(--black);
}

.site-navigation ul.menu li.not-yet {
    position: relative;
}

.site-navigation ul.menu li.not-yet:hover a {
    pointer-events: none;
}

.site-navigation ul.menu li.not-yet:hover a:after {
    content: "Not Yet";
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    text-align: center;
    color: gray;
    background: var(--base-color);
}

html[lang="es-ES"] .site-navigation ul.menu li.not-yet:hover a:after {
    content: "Pronto";
}

.site-navigation ul.menu li.menu-item-has-children:after {
    display: none;
}

.site-navigation ul.menu li.lang-item {
    position: absolute;
    right: 53px;
}

.site-navigation ul.menu li.lang-item-en {
    right: 80px;
}

.site-navigation ul.menu li.lang-item a {
    margin: 5px 0;
    padding: 0;
    border: 2.5px solid var(--black);
    width: 30px;
    height: 30px;
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 23px;
}

.site-navigation ul.menu li.lang-item.current-lang a {
    background: var(--black);
    color: var(--white);
}

.site-navigation ul.menu li.theme-toggle {
    position: absolute;
    right: 0;
    top: 21px;
    border: 2.5px solid var(--black);
    margin: 0;
    height: 30px;
    width: 30px;
    padding: 0;
    overflow: hidden;
}

.site-navigation ul.menu li.theme-toggle a {
    font-size: 0;
    padding: 0;
    background: var(--white);
    color: var(--black);
    height: 30px;
    width: 30px;
    position: absolute;
    border: 0;
    top: -3px;
}

.site-navigation ul.menu li.theme-toggle a:after {
    position: absolute;
    top: 50%;
    background: var(--black);
    content: " ";
    display: block;
    width: 100%;
    height: 15px;
}

.light .site-navigation ul.menu li.theme-toggle a:after {
    top: 0;
}

.site-navigation ul.menu li.current-menu-item a:after {
    display: block;
    content: " ";
    height: 2.5px;
    background: var(--black);
}

.site-navigation ul.menu li ul {
    grid-template-columns: 1fr 1fr;
    background: var(--black);
    border-top: 3px solid var(--bg-color);
    color: var(--base-color);
    left: -15px;
    width: calc(100% + 15px);
}

.site-navigation ul.sub-menu li a {
    color: var(--base-color);
    font-size: 20px;
}

.site-navigation ul.menu li .description, .site-navigation ul.menu li .link {
    display: block;
    font-weight: 400;
    font-size: 16px;
}

.site-navigation ul.menu li .link {
    font-weight: bold;
    border-bottom: 2px solid;
    display: inline-block;
}

.site-navigation ul.menu li ul li {
    border-block-end: none;
}

.site-navigation ul.menu li:hover ul {
    display: grid !important;
}

/* Banners */
.home .banner {
    border-top: 3px solid var(--black);
}
.beige-bg, .banner {
    --text-color: var(--black);
    background: var(--base-color);
    color: var(--text-color);
}

.banner {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    background: var(--base-color);
    padding-top: var(--spacer) !important;
    padding-bottom: var(--spacer) !important;
    color: var(--text-color);
}

.light .banner {
    color: var(--text-color);
}

.black-bg {
    background: var(--black);
    color: var(--text-color);
    padding-top: var(--spacer) !important;
    padding-bottom: var(--spacer) !important;
}

.banner h3 {
    margin-bottom: 5px;
    font-size: 30px;
    font-weight: bold;
    line-height: 1;
}
    

.light .banner a, .light .banner a:hover {
    color: var(--text-color);
}

/* Footer */
#site-footer {
    background: var(--black);
    padding: 0;
    z-index: 3;
}

.site-footer .footer-inner {
    padding: 50px 0;
    justify-content: initial;
}

.footer-widget-newsletter {
    padding: var(--spacer) var(--container-padding);
    border-top: 2px solid var(--black);
    position: relative;
    z-index: 1;
}

.dark .footer-widget-newsletter, .dark .footer-widget-newsletter input[type="submit"] {
    color: var(--black);
}


.footer-widget-newsletter .textwidget {
    width: 50%;
}

.footer-widget-newsletter input:not([type="submit"]) {
    width: 35%;
    margin-right: 2%;
}

.footer-widget-1 {
    width: 19%;
}

.footer-widget-1 img {
    height: 60px !important;
    width: auto;
}

.footer-widget-2 {
    width: 16.666%;
}

.footer-widget-3 {
    width: 20%;
    margin-left: 10%;
}

.footer-widget-4 {
    width: 17%;
    margin-left: 14%;
}

#site-footer a {
    color: var(--white);
    text-decoration: none !important;
    border: none;
    font-weight: 300;
}

#site-footer .footer-inner p {
    font-size: 12px;
    line-height: 1.1;
    color: var(--white);
    margin-bottom: 2px;
}

#site-footer .footer-widget-2 p + p {
    margin-top: 10px;
}

#site-footer .footer-inner strong {
    font-weight: 700;
}

.beige-bg + #site-footer .footer-widget-newsletter {
    background: var(--bg-color);
}

/* Forms */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border-radius: 0;
    border: 3px solid var(--black);
    font-weight: 700;
}

input[type="submit"], input[type="submit"]:hover {
    width: auto;
    padding: 0;
    border: 0;
    border-bottom: 3px solid var(--text-color);
    border-radius: 0;
    color: var(--text-color);
    font-weight: bold;
    background: transparent;
}




/* Flipbooks */
/* .df-container .df-loading-info {
    display: none !important;
} */

.df-container .df-bg {
    background: var(--bg-color) !important
}

._df_book {
    min-height: 100%;
}

.elementor-element.elementor-widget-wp-widget-lminc_flipbooks {
    background: var(--base-color);
    height: 100%;
}

.elementor-widget-shortcode, .elementor-widget-shortcode > .elementor-widget-container, .elementor-widget-shortcode > .elementor-widget-container > div {
    height: 100% !important;
}

/* Blog & Archives */
body.blog .page-content, .posts-grid, body.page-template-page-template-archive .posts-grid {
    max-width: var(--container-size);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 40px;
}

.blog .elementor-element {
    --display: grid;
    --e-con-grid-template-columns: repeat(2, 1fr);
    --e-con-grid-template-rows: repeat(1, 1fr);
    --grid-auto-flow: row;
}

h3.entry-title {
    font-size: 20px;
    margin-bottom: 10px;
}

article.post {
    margin-bottom: var(--spacer);
}

.posts-grid[data-post-count="2"] article.post {
    margin-bottom: 0;
}

article.post p {
    line-height: 18px;
    font-size: 16px;
}

.posts-grid .post img {
    width: 100%;
}

a.read-more {
    text-decoration: none;
    font-size: 16px;
    border-bottom: 2.5px solid var(--text-color);
}

nav.pagination {
    display: block;
    width: var(--container-size);
    border-top: 2px solid var(--text-color);
    padding-top: 15px;
    margin-bottom: 0;
    padding-bottom: 20px;
    text-align: center;
    position: relative;
}

nav.pagination a.page-numbers {
    cursor: pointer;
}

nav.pagination a.page-numbers.prev {
    position: absolute;
    left: 0;
}

nav.pagination a.page-numbers.next {
    position: absolute;
    right: 0;
}

span.page-numbers.current {
    border: 1px solid;
    width: 25px;
    height: 25px;
    line-height: 22px;
    display: inline-block;
    margin: 0 2px;
    border-radius: 100%;
    font-size: 90%;
}

html:not(.light) body:not(.blog) nav.pagination {
    border-bottom: 2px solid var(--text-color);
}

#comments {
    padding: var(--spacer) 0;
    margin: auto;
    border-top: 3px solid var(--text-color);
}

.posts-grid {
    display: flex;
}

.posts-grid .post {
    flex: 1 1 0;
}

.posts-grid a.post-title {
    line-height: 1;
    display: inline-block;
    font-size: 20px;
    margin-top: 5px;
    margin-bottom: 10px;
}

body.page-template-page-template-archive .page-content:not(.posts-grid) .e-con {
    padding-bottom: 0;
}

.projects.projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacer);
    padding-bottom: var(--spacer);
}

video.thumbnail {
    width: 100%;
    max-width: 100%;
}

/* Quotes */
.quotes blockquote {
    margin: 0;
}

.quotes blockquote mark {
    margin: 0 -10px;
    padding: 0 10px;
    background: var(--highlight);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    font-weight: bold;
    font-size: 24px;
}

.quotes .by {
    margin-top: 10px;
    position: relative;
}

.quotes .by:before {
    content: " ";
    float: left;
    margin-right: 10px;
    height: 3px;
    background: var(--text-color);
    width: 10px;
    position: absolute;
    top: 45%;
    left: -10px;
}

.quotes span.author, .quotes span.position {
    margin-left: 10px;
    font-family: 'Chivo Mono', monospace;
    font-size: 95%;
}

.post-meta {
    font-size: 80%;
    margin: 10px 0;
}

.post .wp-post-image {
    max-height: none;
}

/* Filters */
.posts-grid.loading {
    min-height: 400px;
    opacity: .3;
    position: relative;
}

.posts-grid.loading:after {
    position: absolute;
    width: 100%;
    height: 300px;
    top: 0;
    left: 0;
    content: " ";
    background: url("./assets/img/loading.gif") top center no-repeat;
    background-size: contain;
    display: block;
}
    

.posts-filters {
    display: block;
    margin: 0 auto;
    padding: calc(var(--spacer) / 4) 0;
    border-top: 3px solid var(--text-color);
    border-bottom: 3px solid var(--text-color);
    margin: calc(var(--spacer) / 4) auto;
}

.filters-form {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    column-gap: 20px;
}

.filters-title {
    font-weight: bold;
    font-size: 20px;
    float: left;
}

.filter-form .filter.dropdown {
    position: relative;
}

.filter-form .filter.dropdown ul.filter-items {
    position: absolute;
}

ul.filter-items {
    position: absolute;
    z-index: 2;
    display: none;
    list-style: none;
    background: var(--bg-color);
    border: 3px solid var(--text-color);
    border-top: 0;
    padding: 10px;
    min-width: 100%;
    max-height: 50vh;
    overflow: auto;
}

ul.filter-items li {
    width: max-content;
}

.filter.dropdown:last-child ul.filter-items {
    right: 0;
}

.filter.dropdown.open ul.filter-items {
    border-top: 3px solid var(--text-color);
    transform: translateY(-3px);
}

.light ul.filter-items, .light .filter input {
    background: var(--base-color);
}

.filter input {
    color: var(--text-color);
    background: var(--bg-color);
    appearance: none;
    border: 3px solid var(--text-color);
    padding: 5px 7px;
    width: 100%;
    padding-right: 30px;
    text-overflow: ellipsis;
}

.filter.dropdown {
    position: relative;
}

.filter.dropdown:after {
    content: " ";
    display: block;
    border: 2px solid var(--base-color);
    width: 10px;
    height: 10px;
    position: absolute;
    top: 12px;
    right: 15px;
    z-index: 1;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
}

.filter.dropdown.open:after {
    top: 40%;
    transform: rotate(135deg);
}

.filter.dropdown.open ul.filter-items {
    display: block;
}

.filter input[type="checkbox"] {
    border-width: 1px;
    width: 12px;
    height: 12px;
    padding: 0;
    margin-right: 5px;
    position: relative;
    cursor: pointer;
}

ul.filter-items ul {
    list-style: none;
    padding-left: 20px;
}

.filter input[type="checkbox"]:checked:after {
    width: 50%;
    height: 50%;
    position: absolute;
    top: 25%;
    left: 25%;
    background: var(--text-color);
    content: " ";
    display: block;
    border-radius: 100%;
}

.filter label {
    width: 100%;
    cursor: pointer;
}

/* Contact */
#contact  {
    margin-top: -50px;
}

form.wpcf7-form br {
    display: none;
}

span.wpcf7-form-control-wrap {
    display: inline-block;
}

span.wpcf7-form-control-wrap[data-name="your-name"], span.wpcf7-form-control-wrap[data-name="your-email"] {
    width: 45%;
    margin-right: 4%;
}

span.wpcf7-form-control-wrap[data-name="your-message"], span.wpcf7-form-control-wrap[data-name="your-subject"] {
    width: 95%;
    margin-top: 5%;
}

textarea.wpcf7-textarea {
    height: 150px;
}

span.wpcf7-form-control-wrap input, span.wpcf7-form-control-wrap textarea {
    background: var(--base-color);
}

span.wpcf7-not-valid-tip {
    position: absolute;
    z-index: 10;
    font-size: 80%;
    line-height: 1;
    background: rgb(255 153 153 / 120%);
    padding: 5px;
    margin-top: 5px;
    border: 1px solid;
}

form[data-status="init"] .wpcf7-not-valid-tip{
    display: none;
}

/* Team */
.elementor-image-gallery .gallery-item {
    position: relative;
}

.elementor-image-gallery .gallery-item .gallery-caption {
    position: absolute;
    background: rgba(0, 0, 0, 1);
    height: calc(100% - 20px);
    width: calc(100% - 20px);
    text-align: left !important;
    mix-blend-mode: normal;
    opacity: 1;
    top: 10px;
    left: 10px;
    display: none;
}

.elementor-image-gallery figure.gallery-item:last-child  .gallery-caption {
    width: calc(100% - 20px - var(--container-padding));
}

.elementor-image-gallery .gallery-item:hover .gallery-caption {
    display: block;
    overflow: auto;
}

.gallery-caption {
    padding: 0;
    border: 10px solid #000;
}

/* Responsive */
@media (min-width: 1900px) {
    .projects.projects-grid, #comments, [data-element_type="container"].e-con:not(.e-con-full), .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header) {
        max-width: 1800px;
    }
}

@media (min-width: 1200px) {
    .projects.projects-grid, #comments, [data-element_type="container"].e-con:not(.e-con-full), .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header) {
        max-width: var(--container-size);
    }
}

@media (max-width: 1200px) {
    .projects.projects-grid, #comments, [data-element_type="container"].e-con:not(.e-con-full), .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header){
        max-width: var(--container-size);
    }
}

@media (min-width: 821px) {
    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
        display: none !important;
    }

    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
        display: flex !important;
    }

}

@media (max-width: 960px) {
     .filters-title {
        position: absolute;
        top: 15px;
        width: 100%;
        text-align: center;
    }

    .posts-filters {
        padding-bottom: calc(var(--spacer) / 2) !important;
        padding-top: calc(var(--spacer) * 2) !important;
    }

    .filter[data-filter="keyword"] {
        position: absolute;
        width: 100%;
        top: var(--spacer);
    }

}

@media (max-width: 820px) {
    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
        display: flex !important;
    }

    .site-navigation-toggle-holder .site-navigation-toggle-icon:after, .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
        display: none !important;
    }

    .site-navigation ul.menu li a {
        padding: 8px 10px;
    }

    .home a.custom-logo-link, body.home .vidbg-container {
        height: 100vh;
    }

    body.blog .page-content, .posts-grid, body.page-template-page-template-archive .posts-grid {
        grid-template-columns: repeat(3, 1fr);
        display: grid;
    }

    body.single-lminc_archives div[data-elementor-type="wp-post"] > div:first-child > div {
        grid-template-columns: 1fr 2fr !important;
    }

}

@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
    }

    /** menu style **/
    .site-navigation-dropdown ul.menu li a {
        text-align: left;
        border-bottom: 3px solid black;
        padding: 5px;
    }

    .site-navigation-dropdown ul.menu li.current-menu-item a {
        display: block;
        padding-left: 60px;
    }

    .site-navigation-dropdown ul.menu li.current-menu-item a:after {
        height: 0px;
    }

    .site-navigation-dropdown {
        padding-bottom: 150px;
    }

    /** menu button **/
    .site-navigation-toggle-holder.show {
        padding: 5px 15px 10px 15px;
        border-radius: 0;
    }

    .site-navigation-toggle-holder .site-navigation-toggle-icon {
        border-bottom: 1px solid;
    }

    #site-header {
        margin-top: min(30vh, 350px);
    }

    .site-navigation-dropdown ul.menu li.not-yet {
        display: none !important;
    }

    .post-thumbnail, a.custom-logo-link, .vidbg-container {
        height: min(30vh, 350px);
    }

    .scrolled-past + a.custom-logo-link {
        z-index: 10;
        height: 60px;
        background: var(--base-color);
    }

    .scrolled-past + a.custom-logo-link img {
        filter: invert(1);
        height: 25px !important;
        width: auto;
    }

    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
        display: none !important;
    }

    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
        display: flex !important;
    }

    body.home #site-header {
        margin-top: calc(100vh - 46px);
    }

    #site-header {
        background: transparent;
    }

    .site-navigation-toggle-holder.show {
        background: var(--bg-color);
        position: fixed;
        bottom: 20px;
        right: 50%;
        transform: translateX(50%);
        z-index: 9999999;
    }

    .site-navigation-toggle-holder .site-navigation-toggle-icon {
        width: auto;
        color: var(--text-color);
        font-family: "Chivo Mono", monospace;
    }

    .site-navigation-toggle-holder .site-navigation-toggle-icon:before {
        content: 'MENU';
        background: transparent;
        position: initial;
        display: inline-block;
        box-shadow: none;
        margin: 0;
        margin-block-end: 0;
        border: 0;
        height: auto;
    }

    .site-navigation-dropdown {
        margin-block-start: 0;
        position: fixed;
        top: 0;
        height: 100vh;
        display: flex;
        align-items: center;
        background: var(--text-color);
    }

    .site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:before {
        transform: none;
        content: 'CLOSE';
    }

    .site-navigation-dropdown ul.menu {
        background: transparent;
        text-align: center;
    }

    .site-navigation-dropdown ul.menu li a {
        background: transparent;
        box-shadow: none;
        color: var(--bg-color);
        font-size: 25px;
        padding: 15px;
    }

    .site-navigation-dropdown ul.menu li.current-menu-item a {
        background: transparent;
        color: var(--bg-color);
    }

    /* .site-navigation-dropdown ul.menu li.current-menu-item a:after {
        content: " ";
        background: var(--bg-color);
        height: 3px;
        display: block;
    } */

    .footer-widget-1 {
        width: 20%;
    }
    
    .footer-widget-2 {
        width: 80%;
    }

    .footer-widget-3, .footer-widget-4 {
        margin: 20px 0 0;
        width: 100%;
    }

    body.blog .page-content, .posts-grid, body.page-template-page-template-archive .posts-grid {
        grid-template-columns: 1fr 1fr;
    }

    .e-con.e-flex,
    .elementor-29 .elementor-element.elementor-element-046e25c,
    .elementor-862 .elementor-element.elementor-element-eb09889,
    .elementor-881 .elementor-element.elementor-element-6b4af1e,
    .elementor-881 .elementor-element.elementor-element-50ea6f2 {
        width: var(--container-size) !important;
        max-width: var(--container-size) !important;
        margin: 0 auto;
    }

    .e-con.e-flex > .banner {
        width: 100vw;
        margin-left: -7.5vw;
    }

    .elementor-862 .elementor-element.elementor-element-eb09889 {
        margin-bottom: var(--spacer);
    }

    .elementor-881 .elementor-element.elementor-element-17b6923,
    .elementor-881 .elementor-element.elementor-element-6b4af1e  {
        --e-con-grid-template-rows: 1fr !important;
    }

    .elementor-876 .elementor-element.elementor-element-98f7c0c > .elementor-widget-container,
    .elementor-878 .elementor-element.elementor-element-ce15e3a > .elementor-widget-container,
    .elementor-891 .elementor-element.elementor-element-a0e0259 > .elementor-widget-container,
    .elementor-262 .elementor-element.elementor-element-ff632f2 > .elementor-widget-container {
        margin: 0 !important;
    }

    .elementor-widget-image-carousel, .full-width-mobile {
        max-width: 100vw !important;
        width: 100vw !important;
        margin-left: calc(((100vw - var(--container-size)) / 2) * -1) !important;
    }

    .slider-mobile .elementor-widget-image-carousel, 
    .slider-mobile .full-width-mobile, 
    .e-con-full:not(.e-child) > .elementor-widget-image-carousel:not(.elementor-element-2991703):not(.elementor-element-1157102):not(.elementor-element-732288d):not(.elementor-element-c386706), 
    .elementor-54 .elementor-element.elementor-element-45975eb .elementor-widget-image {
        margin-left: auto !important;
    }

    .elementor-widget-image-carousel .elementor-widget-container {
        margin: 0 !important;
    }

    .e-con.e-flex>.e-con-inner > .elementor-widget-image-carousel > .elementor-widget-container {
        width: 100vw !important;
    }

    .elementor-818 {
        --display: flex;
    }

}

@media (max-width: 640px) {

    :root {
        --spacer: 40px;
    }

    img.custom-logo {
        width: var(--container-size);
    }

    .footer-widget-1 {
        width: 20%;
    }

    .footer-widget-2 {
        width: 100%;
        margin-top: 20px;
    }

    p, #site-footer .footer-inner p, figcaption, .elementor-widget-text-editor pre {
        line-height: 1.2;
    }

    h1 {
        font-size: 2.5rem;
        line-height: 1;
    }

    h2 {
        font-size: 2rem;
    }

    h1 + h2, h2 + h3 {
        font-size: 1.5rem;
    }
	
	pre, figcaption{
		font-size: 12px !important;
	}

    .elementor-29 .elementor-element.elementor-element-0bea09f > .elementor-widget-container {
        margin: 0 !important;
    }

    .elementor-29 .elementor-element.elementor-element-1d5c352 > .elementor-widget-container {
        margin: 60px 0 calc(var(--spacer)*-1) !important;
    }

    .elementor-29 .elementor-element.elementor-element-1d5c352 > .elementor-widget-container hr {
        margin-bottom: 15px;
    }

    .elementor-29 .elementor-element.elementor-element-1d5c352 > .elementor-widget-container h6 + h6 {
        display: none;
    }

    .elementor-29 .elementor-element.elementor-element-0fa6afe hr, .elementor-29 .elementor-element.elementor-element-046e25c hr, .elementor-29 .elementor-element.elementor-element-2de8065 hr, .elementor-29 .elementor-element.elementor-element-089706f hr {
        margin: -20px 0 30px;
    }

    .elementor-image-gallery .gallery-item img {
        height: 40vh;
    }

    .projects.projects-grid {
        grid-template-columns: 1fr;
    }

    p a b {
        line-height: 1.5;
        font-size: 1.25rem;
    }
	

    body.blog .page-content, .posts-grid, body.page-template-page-template-archive .posts-grid {
        grid-template-columns: 1fr;
    }

    body.single-lminc_archives div[data-elementor-type="wp-post"] > div:first-child > div {
        grid-template-columns: 1fr !important;
    }

    .single-lminc_projects .e-con:not(.e-child) {
        padding-bottom: var(--spacer);
    }

    .elementor-874 .elementor-element.elementor-element-7456f84,
    .elementor-874 .elementor-element.elementor-element-7456f84,
    .elementor-886 .elementor-element.elementor-element-4d8e7dd,
    .elementor-886 .elementor-element.elementor-element-5709f2f {
        width: 100% !important;
    }

    .elementor-widget-image-gallery + .elementor-widget-text-editor {
        padding-left: 0;
    }

    .elementor-881 .elementor-element.elementor-element-3b5403d > .elementor-widget-container {
        margin: 0 !important;
    }

    .filters-form {
        display: block;
    }

    .filter[data-filter="keyword"] {
        position: initial;
    }

    .posts-filters {
        padding-top: var(--spacer) !important;
    }

    .posts-filters .filter {
        margin-top: calc(var(--spacer) / 2);
    }

    span.wpcf7-form-control-wrap[data-name="your-name"], span.wpcf7-form-control-wrap[data-name="your-email"], span.wpcf7-form-control-wrap[data-name="your-message"], span.wpcf7-form-control-wrap[data-name="your-subject"] {
        width: 100%;
        margin: 0 0 10px;
    }

    .elementor-881 .elementor-element.elementor-element-50ea6f2 .elementor-element.elementor-element-7ea1bd5.elementor-widget.elementor-widget-image {
        max-width: var(--container-size);
    }

    .elementor-element.elementor-element-6e510ad {
        padding: 0 !important;
    }

    #added-caption{
		font-size: 12px !important;
	}
	
	.slider-mobile {
		display: inline;
	}
}