/*
Theme Name:Omaha SEO Company AI
Description: A minimalist starter theme.
Version: 1.0
*/


body{
    margin: 0; padding: 0;
    font-family: 'Roboto', sans-serif;
    color: #1f1f1f;
}

a{
    color: #1f1f1f;
    text-decoration: none;
}

p{
    font-size: 16px; line-height: 22px;
}

li{
    margin:5px 0;
}

h1{
    font-size: 42px;
}

*{
    box-sizing: border-box;
}

.main-header{
    width: 100%; height: auto;
    margin: 0;
    padding: 20px 0;
}

 .top-header{
    width: 100%; height: 150px;
    margin: 0; padding:  20px;
    position: sticky; top:0;
    display: flex; flex-direction: row;
    background-color: #fff;
    z-index: 10;
}

 .top-header .logo-container{
    width: calc(100% - 300px); height: auto;
    margin: 0;
}

 .top-header .logo-container img{
    width: 150px; height: auto;
    margin: 0;
}

 .top-header .buttons-container {
    width: 300px; height: auto;
    margin: 0;
    display: flex; flex-direction: row; gap: 10px;
    justify-content: end;
}

@media screen and (max-width:500px) {
    .top-header{
        width: 100%; height: auto;
        position: relative; top:0;
        display: flex; flex-direction: column; gap: 20px;
    }

    .top-header .buttons-container {
        width: 100%; height: auto;
        margin: 0;
        display: flex; flex-direction: row; gap: 10px;
        justify-content: start;
    }
}

 .top-header .buttons-container .button-link {
    width: auto; height: auto;
    margin: 0;
    padding: 15px;
    border-radius: 12px;
    display: inline-block; 
    background-color:blue;
    color:#fff;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
}

.main-header {
    width: 100%; height: auto;
    text-align: center;   
}

.main-header .site-notice-container{
    width: 100%; height: auto;
    padding: 20px; margin:20px 0;
    display: flex; flex-direction: row; gap: 20px;
    border-top: 1px solid lightgray;
    border-bottom: 1px solid lightgray;
}

.main-header .site-notice-container a{
    color:blue; 
    text-decoration: underline;
}

.main-header .site-notice-container .notice{
    width: calc(100% - 20px); height: auto;
   
}

.main-header .site-notice-container .close-button{
    width: 20px; height: auto;
    cursor: pointer;
   
}

.main-header .middle-header{
    width: 100%; height: auto;
    text-align: center;   
}

.main-header .middle-header .description{
    font-size: 18px; 
}

.main-header .bottom-header {
    width:100%; height: auto; overflow-x: auto;
    margin: 40px 0 ; padding: 20px 0;
    border-top: 1px solid gray;
    border-bottom: 1px solid gray;
}

.main-header .bottom-header .menu-container {
    width:100%; height: auto;
    text-align: center; 
}

@media screen and (max-width: 820px) {
    .main-header .bottom-header .menu-container {
        width:800px; height: auto;
        text-align: center; 
    }
}

.main-header .bottom-header .menu-container ul{
    width: 100%; height: auto;
    list-style: none;
    padding: 0;
    margin:0;
}

.main-header .bottom-header .menu-container ul li{
    display:inline-block;
}

.main-header .bottom-header .menu-container ul li::after{
   content: '|';
   margin: 0 10px;
}

.main-header .bottom-header .menu-container ul li:last-child:after{
   content: '';
}

.main-header .bottom-header .menu-container ul li a{
    text-decoration: none;
    font-size: 20px; font-weight: 600;
}

.main-container{
    width: 100%; height: auto; min-height: 400px;
    padding: 0 20px;
    justify-content: start;
}


.main-footer{
    width: 100%; height: auto;
    margin: 0; padding : 20px;
}

.main-footer .copyright{
    width: 100%; height: auto;
    text-align: center;
}

.cities-list{
    list-style: none;
    padding: 0;
}

.cities-list li{
    min-width: 150px;
    display: inline-block;
    background-color: #EEEEEE;
    text-align: center;
    padding: 20px;
    margin: 5px;
    border-radius: 8px;
    cursor: pointer;
}

.cities-list li:hover{
    transform: translate(0, -5px);
}

.blogs-container{
    width: 100%; height: auto;
    padding: 0 20px;
    display: flex; flex-direction: row; gap: 40px;
}

.blogs-container .categories{
    width: 400px; height: auto;
    border: 1px solid lightgray; border-radius: 12px;
    padding: 0 20px;
}

.blogs-container .blogs{
    width:calc(100% - 400px); height: auto;
    padding: 0 100px;
}

.blogs-container .blogs .blog-response{
    width: 100%; height: auto;
    margin:0;
}

.blog-container{
    width: 100%; height: auto;
    padding: 0 10%;
}

@media screen and (max-width: 767px) {
    .blog-container{
        width: 100%; height: auto;
        padding: 0 20px;
    }

    .blogs-container .categories{
       display: none;
    }

    .blogs-container .blogs{
        width:100%; height: auto;
        padding: 0 ;
    }
}

.category-heading{
    font-size: 36px;
}

.faq-item, .blog-item{
    width: 100%; height: auto;
    padding: 10px;
    position:relative;
    border: 0.5px solid lightgrey; border-radius: 12px;
}

.faq-item:hover, .blog-item:hover{
    box-shadow: 2px 2px 20px lightgrey;
}

.faq-item p, .blog-item p{
  margin-bottom:60px;
}

.faq-item h2, .blog-item h2{
    text-align: center;
}



/* ==========================================================================
   BLOGS LAYOUT
   ========================================================================== */

.blogs-container {
    width: 100%;
    height: auto;
    padding: 0 20px;
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.blogs-container .categories {
    width: 320px;
    flex-shrink: 0;
    border: 1px solid lightgray;
    border-radius: 12px;
    padding: 0 20px;
    height: fit-content;
}

.blogs-container .blogs {
    width: 100%;
    height: auto;
    padding: 0 40px;
}

.blogs-container .blogs .blog-response {
    width: 100%;
    height: auto;
    margin: 0;
}

.blog-container {
    width: 100%;
    height: auto;
    padding: 0 10%;
}

.category-heading {
    font-size: 36px;
}

.faq-item,
.blog-item {
    width: 100%;
    height: auto;
    padding: 20px;
    position: relative;
    border: 0.5px solid lightgrey;
    border-radius: 12px;
    margin-bottom: 20px;
}

.faq-item:hover,
.blog-item:hover {
    box-shadow: 2px 2px 20px lightgrey;
}

.faq-item p,
.blog-item p {
    margin-bottom: 60px;
}

.faq-item h2,
.blog-item h2 {
    text-align: center;
}

.faq-item .read-more,
.blog-item .read-more {
    padding: 10px 20px;
    border-radius: 8px;
    position: absolute;
    right: 20px;
    bottom: 10px;
    background-color: blue;
    color: white;
}

.blogs-container .categories #ajax-cat-list {
    list-style: none;
    padding: 0;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong {
    width: 100%;
    display: inline-block;
    padding: 10px;
    margin: 3px 0;
    background-color: blue;
    color: #fff;
    position: relative;
    border-radius: 8px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong::after {
    content: var(--symbol, '▼');
    position: absolute;
    right: 10px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list {
    list-style: none !important;
    padding-left: 10px;
    display: none;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list li a {
    display: inline-block;
    font-size: 17px;
    margin: 2.5px 0;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media screen and (max-width: 1024px) {

    .blogs-container {
        gap: 20px;
    }

    .blogs-container .categories {
        width: 280px;
    }

    .blogs-container .blogs {
        padding: 0;
    }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media screen and (max-width: 767px) {

    .blog-container {
        width: 100%;
        height: auto;
        padding: 0 20px;
    }

    .blogs-container {
        flex-direction: column;
        gap: 20px;
    }

    .blogs-container .categories {
        width: 100%;
        display: block;
        margin: 0;
    }

    .blogs-container .blogs {
        width: 100%;
        height: auto;
        padding: 0;
    }

    .category-heading {
        font-size: 28px;
    }

    .faq-item,
    .blog-item {
        display: flex;
        flex-direction: column;
        padding: 20px;
    }

    .faq-item h2,
    .blog-item h2 {
        font-size: 22px;
        text-align: left;
        padding-right: 10px;
    }

    .faq-item p,
    .blog-item p {
        margin-bottom: 20px;
    }

    .faq-item .read-more,
    .blog-item .read-more {
        position: relative;
        right: 0;
        bottom: 0;
        margin-top: 10px;
        align-self: flex-end;
    }
}, .blog-item .read-more{
    padding: 10px 20px; border-radius: 8px;
    position:absolute;
    right:20px; bottom:10px;
    background-color: blue; color:white;
}

.blogs-container .categories #ajax-cat-list{
    list-style: none;
    padding: 0;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong{
    width: 100%; height: auto;
    display: inline-block;
    padding: 10px; margin:  3px 0;
    background-color: blue; color: #fff;
    position: relative;
    border-radius: 8px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong::after{
   content: var(--symbol, '▼') ;
   position: absolute; right: 10px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list {
   list-style: none !important;
   padding-left: 10px;
   display:none;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list li a{
    display: inline-block;
    font-size: 17px;
    margin: 2.5px 0;
}

.back-button{
    border:none;
    background-color: #fff;
    font-size: 16px; font-weight: 600;
    cursor: pointer;
}

.back-button:hover{
   color: blue;
}

.related-articles-container{
    width: 80%; height: auto;
    margin: 40px auto;
    padding: 20px ;
    background-color: #F2F2F4;
    border-radius: 12px;
}

.related-item{
    width: 100%; height: auto;
    margin: 15px 0; padding: 2.5px 10px;
    background-color: #fff;
    border-radius: 12px;
}

.related-item a h4{
    color: #bd42c6;
}

.related-item:hover{
    border-radius: 12px;
    border: 2px solid #bd42c6;
}

.related-item:hover a h4{
  color: blue;
}

.faq-page-title{
    font-size: 38px;
}

.service-box{   
    background: #fafafa;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    cursor: pointer;
    padding: 20px; margin: 10px;
}

.service-box:hover{   
    transform: translateY(-1px);
    box-shadow: 0 2px 8px #00000014;
    border-color: #e1e1e1;
    background: #f5f5f5;
}

.service-box .stk-block-heading__text{   
    font-size: 28px;
}

.service-box .stk-block-text__text{   
    padding-left: 20px;
}

.gallery-container{
    width: 100%; height: auto;
    display:flex; flex-direction: row; gap: 20px;
}


.gallery-container .gallery-menu-container{
    width: 180px; height: auto;
  
}

.gallery-container .gallery{
    width: calc(100% - 180px); height: auto;
  
}

@media screen and (max-width:767px){
    .gallery-container{
        width: 100%; height: auto;
        display:flex; flex-direction: column; gap: 20px;
    }
    
    .gallery-container .gallery-menu-container{
        width: 100%; height: auto;
      
    }

    .gallery-container .gallery{
        width: 100%; height: auto;
      
    }
}



.gallery-container .gallery-menu-container .gallery-menu{
    list-style:none;
}

.gallery-container .gallery-menu-container .gallery-menu li{
    margin-bottom: 10px;
}

.gallery-container .gallery-menu-container .gallery-menu li a{
    font-size: 24px; font-weight:700;
}

.contact-list{
    list-style: none;
}

.contact-list li{
   margin:30px 0;
   
}

.contact-list li i{
   margin-right:10px;
   
}

.contact-list li, .contact-list li i{
   font-size: 18px;
}

.contact-list li:hover, .contact-list li:hover a{
   color:blue;
}


.gallery-container{
    width: 100%; height: auto;
    display:flex; flex-direction: row; gap:20px;
}

.gallery-container .categories{
    width: 300px; height: auto;
    padding: 10px 20px;
    border: 0.5px solid lightgray; border-radius: 12px;
}

.gallery-container .categories ul{
    width: 100%; height: auto;
    list-style: none;
    padding: 0;
}

.gallery-container .categories ul li{
    width: 100%; height: auto;
    margin: 10px 0;
    font-size: 20px;
}

.gallery-container .galleries{
    width: calc(100% - 300px); height: auto;
}

@media screen and (max-width: 767px) {
    .gallery-container{
        width: 100%; height: auto;
        display:flex; flex-direction: column; gap:20px;
    }

    .gallery-container .categories{
        width: 100%; height: auto;
    }
    .gallery-container .galleries{
        width: 100%; height: auto;
    }
}



.gallery-container .galleries .gallery-list{
    width:100%; height: auto;
    margin:0;
    list-style: none;
    padding: 10px;
}

.gallery-container .galleries .gallery-list .gallery-item{
    width:calc(25% - 25px); height: auto;
    margin:10px;
    padding: 20px;
    display: inline-block;
    background-color: lightgray;
}

@media screen and (max-width: 820px) {
    .gallery-container .galleries .gallery-list .gallery-item{
        width:calc(50% - 25px); height: auto;
    }
}

@media screen and (max-width: 500px) {
    .gallery-container .galleries .gallery-list .gallery-item{
        width:100%; height: auto;
        margin: 10px 0;
    }
}

.gallery-container .galleries .gallery-list .gallery-item .item-image{
    width:100%; height: auto;
}

.gallery-container .galleries .gallery-list .gallery-item .item-image img{
    width:100%; height: 200px; object-fit: cover;
}

.gallery-container .galleries .gallery-list .gallery-item .tags-container{
    width:100%; height: auto;
}

.gallery-container .galleries .gallery-list .gallery-item .tags-container .tag{
    width:90%; height: auto; 
    background-color: #fff;
    border-radius: 25px;
    margin:10px auto; padding: 5px 10px;
    border: 1px solid #000;
    text-align: center;
}

/* ==========================================================================
   BLOGS LAYOUT
   ========================================================================== */

.blogs-container {
    width: 100%;
    height: auto;
    padding: 0 20px;
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.blogs-container .categories {
    width: 320px;
    flex-shrink: 0;
    border: 1px solid lightgray;
    border-radius: 12px;
    padding: 0 20px;
    height: fit-content;
}

.blogs-container .blogs {
    width: 100%;
    height: auto;
    padding: 0 40px;
}

.blogs-container .blogs .blog-response {
    width: 100%;
    height: auto;
    margin: 0;
}

.blog-container {
    width: 100%;
    height: auto;
    padding: 0 10%;
}

.category-heading {
    font-size: 36px;
}

.faq-item,
.blog-item {
    width: 100%;
    height: auto;
    padding: 20px;
    position: relative;
    border: 0.5px solid lightgrey;
    border-radius: 12px;
    margin-bottom: 20px;
}

.faq-item:hover,
.blog-item:hover {
    box-shadow: 2px 2px 20px lightgrey;
}

.faq-item p,
.blog-item p {
    margin-bottom: 60px;
}

.faq-item h2,
.blog-item h2 {
    text-align: center;
}

.faq-item .read-more,
.blog-item .read-more {
    padding: 10px 20px;
    border-radius: 8px;
    position: absolute;
    right: 20px;
    bottom: 10px;
    background-color: blue;
    color: white;
}

.blogs-container .categories #ajax-cat-list {
    list-style: none;
    padding: 0;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong {
    width: 100%;
    display: inline-block;
    padding: 10px;
    margin: 3px 0;
    background-color: blue;
    color: #fff;
    position: relative;
    border-radius: 8px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item a strong::after {
    content: var(--symbol, '▼');
    position: absolute;
    right: 10px;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list {
    list-style: none !important;
    padding-left: 10px;
    display: none;
}

.blogs-container .categories #ajax-cat-list .main-cat-item .sub-cat-list li a {
    display: inline-block;
    font-size: 17px;
    margin: 2.5px 0;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media screen and (max-width: 1024px) {

    .blogs-container {
        gap: 20px;
    }

    .blogs-container .categories {
        width: 280px;
    }

    .blogs-container .blogs {
        padding: 0;
    }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media screen and (max-width: 767px) {

    .blog-container {
        width: 100%;
        height: auto;
        padding: 0 20px;
    }

    .blogs-container {
        flex-direction: column;
        gap: 20px;
    }

    .blogs-container .categories {
        /*width: 100%;*/
        display: block;
        margin: 0;
        
        width: 395px !important;

    }

    .blogs-container .blogs {
        width: 100% !important;
        height: auto;
        padding: 0;
    }

    .category-heading {
        font-size: 28px;
    }

    .faq-item,
    .blog-item {
        display: flex;
        flex-direction: column;
        padding: 20px;
    }

    .faq-item h2,
    .blog-item h2 {
        font-size: 22px;
        text-align: left;
        padding-right: 10px;
    }

    .faq-item p,
    .blog-item p {
        margin-bottom: 20px;
    }

    .faq-item .read-more,
    .blog-item .read-more {
        position: relative;
        right: 0;
        bottom: 0;
        margin-top: 10px;
        align-self: flex-end;
    }
}

/* ==========================================================================
   Responsive Architecture Overrides for page-blogs.php
   ========================================================================== */

.main-container.Engine-Layout-Fix {
    padding: 40px 0;
}

.blogs-container.architecture-fix {
    display: flex;
    flex-direction: row;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

.blogs-container.architecture-fix .side-nav-panel {
    width: 25%;
    min-width: 250px;
    flex-shrink: 0;
}

.blogs-container.architecture-fix .primary-content-panel {
    width: 75%;
}

/* Tablet & Mobile Breakpoint */
@media screen and (max-width: 767px) {
    .main-container.Engine-Layout-Fix {
        padding: 20px 0;
    }
    
    .blogs-container.architecture-fix {
        flex-direction: column; /* Stacks sidebar menu directly on top of cards */
        gap: 25px;
    }

    .blogs-container.architecture-fix .side-nav-panel,
    .blogs-container.architecture-fix .primary-content-panel {
        width: 100% !important;
        min-width: 0 !important;
    }
}



/* ==========================================================================
   Responsive Blog Grid Overrides (loop-ajax.php Optimization)
   ========================================================================== */

/* Target the main blog grid container */
.blog-grid {
    width: 100% !important;
    box-sizing: border-box;
}

/* Optimize the individual blog card wrappers */
.blog-grid .blog-item {
    width: 100% !important;
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-grid .blog-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* Ensure blog thumbnail images scale responsively */
.blog-thumbnail img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
}

/* ==========================================================================
   MEDIA QUERIES: Mobile Breakpoints (Under 767px)
   ========================================================================== */
@media screen and (max-width: 767px) {
    /* Safe fallback to force a clean 1-column layout on extra compact viewports */
    .blog-grid {
        grid-template-columns: 1fr !important; 
        gap: 15px !important;
    }

    /* Reduce card padding slightly on mobile so text has room to breathe */
    .blog-grid .blog-item {
        padding: 15px !important;
    }

    /* Bring down the heading size slightly for mobile views */
    .blog-grid .blog-item h3 {
        font-size: 16px !important;
        line-height: 1.4;
    }

    /* Make sure pagination buttons stack nicely if they overflow */
    .blog-pagination {
        margin-top: 25px !important;
        gap: 6px !important;
    }

    .blog-pagination .page-num {
        padding: 6px 10px !important;
        font-size: 13px !important;
    }
}