/*!
Theme Name: Palermo - Ignition
Theme URI: https://www.cssigniter.com/themes/palermo/
Author: CSSIgniter
Author URI: https://www.cssigniter.com/
Description: Hotel theme for WordPress
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ignition-palermo
RequiresIgnition: 3.1.0
*/

/* -----------------------------------------
	Table of Contents
--------------------------------------------

.. Theme Variables
.. General / Base
.. Main Navigation
.. Header
.. Archives
.. Blocks
.. Widgets
.. Pagination
.. Footer
.. Editor Palette
.. Theme Colors
*/

/* -----------------------------------------
	Base CSS Custom Properties (Variables)
----------------------------------------- */

:root {
  --ignition-palermo-border-radius-base: 3px;
  --ignition-palermo-border-radius-buttons: 20px;
  --ignition-palermo-content-padding: 85px;
}

/* -----------------------------------------
 Base theme styles
----------------------------------------- */

/* Buttons
========================================= */

.btn,
.button,
.gutenbee-block-button-link,
.wp-block-button__link,
.ci-item-filter,
input[type="submit"],
input[type="reset"],
button[type="submit"] {
  padding: 10px 32px;
  font-weight: var(--ignition-font-weight-bold);
  border-radius: var(--ignition-palermo-border-radius-buttons);
}

/* -----------------------------------------
 Layout
----------------------------------------- */

.content-fullwidth .container {
  width: 100%;
}

.content-align-left .container {
  margin: 0;
}

.site-wrap {
  display: flex;
  flex: auto;
  margin: 0 auto;
  max-width: 100%;
  position: relative;
}

.site-sidebar-fixed .site-wrap {
  width: 100%;
}

.site-sidebar-wrap {
  width: var(--ignition-site-sidebar-width);
  flex: none;
  z-index: 25;
  position: relative;
}

.site-sidebar-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.site-sidebar-wrap-inner {
  display: flex;
  flex-direction: column;
  padding: 50px;
  flex: none;
}

.site-sidebar-widgets {
  flex: auto;
  display: flex;
  flex-direction: column;
}

.site-sidebar-widgets-bottom {
  margin-top: auto;
}

.site-sidebar-widgets-bottom > :last-child {
  margin-bottom: 0;
}

.site-content-wrap {
  display: flex;
  flex-direction: column;
  flex: auto;
  min-width: 1px;
  position: relative;
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
}

.content-align-left .site-content-wrap {
  margin: 0;
}

/* Sticky/fixed header (main sidebar)
========================================== */

.site-sidebar-sticky-on .site-wrap {
  align-items: flex-start;
}

.site-sidebar-sticky-on .site-content-wrap,
.site-sidebar-sticky-on .site-sidebar-wrap {
  position: sticky;
  top: 0;
}

.site-sidebar-sticky-on .site-sidebar-wrap,
.site-sidebar-sticky-on .site-sidebar-wrap-inner {
  min-height: 100vh;
}

/* Main
========================================= */

.main {
  flex: auto;
  padding: 50px var(--ignition-palermo-content-padding);
}

.ignition-no-main-padding-on .main:first-child {
  padding-top: 0;
}

.page-template-template-fullwidth .main {
  padding-left: 0;
  padding-right: 0;
}

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

/* -----------------------------------------
 Forms
----------------------------------------- */

.comment-reply-title {
  margin-bottom: 15px;
}

label,
.label {
  margin: 0 0 8px;
  font-size: 14px;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="time"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="color"],
textarea,
select {
  font-size: 15px;
}

/* -----------------------------------------
	Navigation
----------------------------------------- */

/* Main Navigation
========================================= */

.nav {
  display: block;
  width: 100%;
}

.navigation-main {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: normal;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.navigation-main li {
  position: relative;
}

.navigation-main > li {
  display: block;
  width: 100%;
}

.navigation-main a {
  display: block;
  white-space: nowrap;
}

.navigation-main ul {
  text-align: left;
  position: absolute;
  z-index: 10;
  visibility: hidden;
  opacity: 0;
  transition: transform .25s ease .2s, opacity .25s ease .2s, visibility 0s ease .35s;
  max-width: none;
  top: -10px;
  left: 100%;
  margin: 0;
  transform: translate(-10px, 0);
}

.navigation-main ul ul {
  top: -10px;
  left: 100%;
  margin: 0;
  transform: translate(-10px, 0);
}

.navigation-main > li:first-child ul {
  margin-left: 0;
}

.navigation-main li:hover > ul,
.navigation-main li:focus-within > ul {
  transition-delay: 0s, 0s, 0s;
  visibility: visible;
  opacity: 1;
}

.navigation-main li:hover ul,
.navigation-main li:focus-within ul {
  z-index: 15;
}

.navigation-main > li:hover > ul {
  transform: translate(0, 0);
}

.navigation-main li li:hover > ul {
  transform: translate(0, 0);
}

.navigation-main ul {
  padding: 15px 25px;
  list-style: none;
  min-width: 220px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  margin-left: 10px;
}

.navigation-main a {
  font-size: inherit;
  transition: opacity .18s ease;
  border-bottom: 1px solid transparent;
}

.navigation-main li:last-child:not(.nav-button) > a {
  border-bottom: 0;
}

.navigation-main > li > a {
  padding: 4px 0;
  margin: 0;
  position: relative;
}

.navigation-main li li a {
  padding: 4px 5px;
}

.navigation-main .menu-item-has-children > a,
.navigation-main .page_item_has_children > a {
  padding-right: 25px;
}

.navigation-main .menu-item-has-children > a::after,
.navigation-main .page_item_has_children > a::after {
  content: "\E02C";
  font-size: 18px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.navigation-main .nav-button > a {
  margin-top: 10px;
  margin-left: 0;
}

.navigation-main .nav-button > a::before {
  display: none;
}

/* Mobile Navigation
========================================= */

.mobile-nav-trigger {
  font-weight: var(--ignition-font-weight-normal);
  margin-left: 10px;
  padding: 7px 14px;
  border-radius: var(--ignition-palermo-border-radius-buttons);
}

/* -----------------------------------------
 Header
----------------------------------------- */

/* Generic header styling + layout
========================================= */

.header {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 30;
  padding: 0;
}

.header::before {
  display: none;
}

/* Site branding
========================================= */

.site-branding {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 25px;
  flex: none;
  text-align: left;
  max-width: 100%;
}

.site-logo {
  font-size: 26px;
  margin: 0;
  line-height: 1.2;
  text-align: left;
}

.site-tagline {
  font-size: 14px;
  margin: 3px 0 0;
  line-height: normal;
}

/* Header content slots
========================================= */

.head-content-slot {
  display: flex;
  align-items: center;
}

.head-content-slot-mobile-content {
  display: none;
}

/* Main header (head mast)
========================================= */

.head-mast {
  position: relative;
  font-size: 16px;
}

.head-mast a {
  color: inherit;
}

.head-mast .head-content-slot {
  color: inherit;
}

.head-mast::before {
  display: none;
}

.head-mast-inner {
  padding: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: padding .2s ease;
  margin: 0 0 30px;
  align-items: flex-start;
}

.head-mast-inner::after {
  display: none;
}

.head-menu-slot {
  display: flex;
  margin-left: 0;
  margin-right: 0;
  justify-content: flex-start;
  width: 100%;
}

.head-menu-slot .head-mast {
  flex: auto;
}

.header-full-nav-right .head-menu-slot {
  justify-content: flex-start;
}

/* Page hero
========================================= */

.page-hero {
  padding-left: var(--ignition-palermo-content-padding);
  padding-right: var(--ignition-palermo-content-padding);
}

.page-hero .page-hero-content {
  width: 100%;
}

.page-template-template-fullwidth .page-hero {
  padding-left: 0;
  padding-right: 0;
}

.page-hero-title {
  margin: 0;
}

.page-hero-subtitle {
  margin: 5px 0 0;
  line-height: 1.45;
}

/* Page title (in content)
========================================= */

.page-title-wrap {
  margin: 0 0 45px;
}

.page-title-wrap .page-subtitle {
  margin: 10px 0 0;
  line-height: 1.45;
}

.page-title-wrap .page-title-content {
  width: 100%;
}

.page-title-description,
.page-subtitle,
.page-hero-subtitle {
  font-size: 1.2rem;
}

/* Breadcrumb
========================================= */

.section-pre-main {
  padding-left: var(--ignition-palermo-content-padding);
  padding-right: var(--ignition-palermo-content-padding);
}

.section-pre-main .ignition-breadcrumbs {
  font-size: 14px;
}

.section-pre-main:first-child {
  padding-top: 50px;
}

.section-pre-main:first-child .ignition-breadcrumbs {
  padding-top: 0;
}

.page-template-template-fullwidth .section-pre-main {
  padding-left: 0;
  padding-right: 0;
}

/* -----------------------------------------
 Content
----------------------------------------- */

/* General
========================================= */

.entry-content > * {
  margin-bottom: 30px;
}

.entry-content > *:last-child {
  margin-bottom: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin-bottom: 20px;
}

> .entry-content:last-child {
  margin-bottom: 0;
}

/* Author box
========================================= */

.entry-author-title {
  font-size: 16px;
}

.entry-author-archive-link {
  font-size: 14px;
}

.entry-author-desc {
  font-size: 1rem;
}

/* -----------------------------------------
 Archive Styles
----------------------------------------- */

.entry-header {
  margin-bottom: 20px;
}

.entry-title {
  font-size: 28px;
}

.entry-item-content {
  text-align: left;
}

.no-gutters .entry-item {
  margin-bottom: 0;
}

.entry-item .entry-item-title {
  margin-bottom: 25px;
  font-size: 18px;
}

.entry-item .entry-title {
  font-size: 22px;
}

.entry-item .entry-item-excerpt a {
  color: var(--ignition-secondary-text-color);
}

.entry-item .entry-item-excerpt + .entry-item-content {
  margin-top: -15px;
}

.entry-item-title {
  font-size: 18px;
  margin-bottom: 25px;
}

.entry-item-title a {
  color: currentColor;
}

.entry-item-title + .entry-meta {
  margin: -20px 0 25px;
}

.entry-meta {
  font-size: 14px;
  margin: 10px 0 0;
}

.entry-item-excerpt {
  font-size: 15px;
}

.entry-item-media .entry-meta {
  margin-bottom: 35px;
}

.entry-item-media .entry-item-excerpt {
  margin-top: -15px;
}

.entry-item-media .entry-item-content {
  margin-bottom: 25px;
}

/* -----------------------------------------
  WordPress Blocks general styles
----------------------------------------- */

/* Pullquote block
=================================== */

.wp-block-pullquote.is-style-solid-color {
  font-size: 1rem;
  line-height: 1.33;
  position: relative;
  padding: 30px 30px 30px 80px;
  border: 0;
}

.wp-block-pullquote.is-style-solid-color::before {
  content: "\00201C";
  font-style: normal;
  font-size: 6rem;
  line-height: 0;
  position: absolute;
  left: 30px;
  top: 70px;
  font-family: Georgia, serif;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  margin: 0;
  max-width: 100%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: 1rem;
  line-height: 1.56;
  font-weight: var(--ignition-font-weight-normal);
}

.wp-block-pullquote.is-style-solid-color blockquote cite {
  font-size: .875rem;
  font-weight: var(--ignition-font-weight-normal);
}

/* Quote block
=================================== */

.wp-block-quote {
  font-size: 1rem;
  line-height: inherit;
  position: relative;
  padding: 30px 30px 30px 80px;
  border: 0;
  background-color: var(--ignition-colors-grey);
}

.wp-block-quote::before {
  content: "\00201C";
  font-style: normal;
  font-size: 6rem;
  line-height: 0;
  position: absolute;
  left: 30px;
  top: 70px;
  font-family: Georgia, serif;
}

.wp-block-quote p {
  font-size: 1rem;
  line-height: 1.56;
  font-weight: var(--ignition-font-weight-normal);
}

.wp-block-quote p:last-child {
  margin-bottom: 0;
}

.wp-block-quote cite {
  font-size: .875rem;
  font-weight: var(--ignition-font-weight-normal);
}

.wp-block-quote.is-style-large {
  padding: 30px 30px 30px 80px;
  line-height: normal;
}

.wp-block-quote.is-style-large p {
  font-size: 20px;
  line-height: 1.5;
}

.wp-block-quote.has-text-align-center {
  padding: 30px;
}

.wp-block-quote.has-text-align-center::before {
  display: block;
  position: static;
  margin-top: 30px;
  margin-bottom: 15px;
}

.wp-block-quote.has-text-align-right {
  padding: 30px 80px 30px 30px;
}

.wp-block-quote.has-text-align-right::before {
  left: auto;
  right: 30px;
  top: 30px;
  transform: rotate(180deg);
}

/* -----------------------------------------
  Gutenbee Plugin Blocks
----------------------------------------- */

/* Paragraph Block
=================================== */

.has-drop-cap:not(:focus)::first-letter {
  font-size: 4.2em;
}

/* Divider/Separator Theme Style
=================================== */

.is-style-ignition-palermo-separator.wp-block-separator {
  width: 51px;
  height: 5px;
  margin: 30px 0;
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='248' height='26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M166.8 15.855c-.885.868-23.257 22.345-45.628-.027-17.172-17.171-34.344 0-34.344 0l-.027.027c-.886.868-23.258 22.345-45.629-.027-17.172-17.171-34.344 0-34.344 0a4.001 4.001 0 0 1-5.656 0 4.001 4.001 0 0 1 0-5.656l.027-.027c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.047-.047c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.047-.047c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.02-.02a4.001 4.001 0 0 1 5.656 0 4.001 4.001 0 0 1 0 5.656l-.027.027c-.886.868-23.258 22.345-45.629-.027-17.172-17.171-34.344 0-34.344 0z' fill='%23F15A24'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 100%;
}

.is-style-ignition-palermo-separator.wp-block-separator:first-child {
  margin-top: 0;
}

.is-style-ignition-palermo-separator.wp-block-gutenbee-divider .wp-block-gutenbee-divider-inner {
  width: 51px !important;
  height: 5px !important;
  border: 0 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg width='248' height='26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M166.8 15.855c-.885.868-23.257 22.345-45.628-.027-17.172-17.171-34.344 0-34.344 0l-.027.027c-.886.868-23.258 22.345-45.629-.027-17.172-17.171-34.344 0-34.344 0a4.001 4.001 0 0 1-5.656 0 4.001 4.001 0 0 1 0-5.656l.027-.027c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.047-.047c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.047-.047c.886-.868 23.258-22.345 45.629.027 16.829 16.828 33.657.673 34.324.02l.02-.02a4.001 4.001 0 0 1 5.656 0 4.001 4.001 0 0 1 0 5.656l-.027.027c-.886.868-23.258 22.345-45.629-.027-17.172-17.171-34.344 0-34.344 0z' fill='%23F15A24'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 100%;
}

/* -----------------------------------------
  Widgets
----------------------------------------- */

/* General
=================================== */

.widget {
  margin-bottom: 30px;
}

.site-sidebar-widgets .widget {
  border-bottom: 0;
  padding-bottom: 0;
}

.site-sidebar-widgets .widget a {
  color: currentColor;
}

.site-sidebar-widgets .widget a:hover {
  color: currentColor;
}

.site-sidebar-widgets-bottom .widget {
  margin-bottom: 20px;
}

.site-sidebar-widgets-bottom .widget:last-child {
  margin-bottom: 0;
}

.widget-title {
  margin-bottom: 20px;
}

.site-sidebar-widgets .widget-title {
  color: currentColor;
}

/* Latest item widget
=================================== */

.ignition-widget-item-title {
  font-size: 16px;
}

.ignition-widget-item-subtitle {
  margin-top: 0;
}

/* Socials
=================================== */

.site-sidebar-widgets [id*=social].menu a {
  width: 20px;
  height: 20px;
  background: none;
  color: currentColor;
  padding: 0;
  opacity: .75;
}

.site-sidebar-widgets [id*=social].menu a:hover {
  opacity: 1;
}

/* WIDGET: Buttons
========================================= */

.ignition-item-btn {
  border-radius: 0;
}

/* -----------------------------------------
	Comments
----------------------------------------- */

.form-allowed-tags,
.comment-notes {
  font-size: 14px;
  margin: 0 0 15px;
}

.comment-author {
  margin-bottom: 0;
}

.comment-author .fn {
  font-size: 15px;
}

.bypostauthor > article .fn::before {
  top: 0;
}

.comment-content {
  margin-top: 0;
  font-size: 13px;
}

.comment-content p {
  margin-bottom: 15px;
}

a.comment-reply-link {
  border-radius: 20px;
  font-size: 10px;
  padding: 4px 20px;
}

.comment-form-cookies-consent label {
  font-weight: var(--ignition-font-weight-normal);
}

/* -----------------------------------------
  Pagination
----------------------------------------- */

.navigation,
.woocommerce-pagination {
  text-align: left;
}

.navigation .page-numbers,
.navigation a,
.woocommerce-pagination .page-numbers,
.woocommerce-pagination a {
  padding: 6px 15px;
  border-radius: var(--ignition-palermo-border-radius-buttons);
  font-size: 12px !important;
  margin-right: 2px;
}

.page-links .page-number {
  padding: 6px 15px;
  border-radius: var(--ignition-palermo-border-radius-buttons);
  font-size: 12px !important;
  margin-right: 2px;
}

/* -----------------------------------------
 Footer
----------------------------------------- */

.footer-widgets {
  padding: 80px 0 40px;
}

.footer-info {
  border-top: 1px solid;
}

/* -----------------------------------------
	Theme editor palette colors
----------------------------------------- */

:root .has-theme-primary-color {
  color: #2f90b2;
}

:root .has-theme-primary-background-color {
  background-color: #2f90b2;
}

:root .has-theme-secondary-color {
  color: #f4d362;
}

:root .has-theme-secondary-background-color {
  background-color: #f4d362;
}

:root .has-theme-dark-gray-color {
  color: #484848;
}

:root .has-theme-dark-gray-background-color {
  background-color: #484848;
}

:root .has-theme-medium-gray-color {
  color: #7f7f7f;
}

:root .has-theme-medium-gray-background-color {
  background-color: #7f7f7f;
}

:root .has-theme-light-gray-color {
  color: #e2e2e2;
}

:root .has-theme-light-gray-background-color {
  background-color: #e2e2e2;
}

:root .has-theme-white-color {
  color: #ffffff;
}

:root .has-theme-white-background-color {
  background-color: #ffffff;
}

:root .has-theme-black-color {
  color: #000000;
}

:root .has-theme-black-background-color {
  background-color: #000000;
}

/* -----------------------------------------
 Theme color overrides
----------------------------------------- */

/* Global - Content background
========================================= */

.site-content-wrap {
  background-color: var(--theme-content-area-background-color);
}

/* Global - Primary Color
========================================= */

.entry-meta a,
.wp-block-quote::before {
  color: var(--ignition-primary-color);
}

.wp-block-gutenbee-slideshow .slick-dots .slick-active button::before {
  background-color: var(--ignition-primary-color);
}

/* Global - Secondary Color
========================================= */

.navigation-main > li:hover > a,
.navigation-main > li > a:focus,
.navigation-main > .current-menu-item > a,
.navigation-main > .current-menu-parent > a,
.navigation-main > .current-menu-ancestor > a,
.navigation-main > .current_page_item > a,
.navigation-main > .current_page_parent > a,
.navigation-main > .current_page_ancestor > a,
.navigation-main sup {
  color: var(--ignition-secondary-color);
}

/* Global - Secondary Text Color
========================================= */

.entry-meta,
.entry-item-excerpt,
blockquote cite,
.entry-item-product .price,
li.wc-block-grid__product .wc-block-grid__product-price,
li.product .price,
[class^="wp-block"] > figcaption,
.wp-block-image figcaption,
.wp-block-gutenbee-image figcaption,
.wp-block-latest-comments .wp-block-latest-comments__comment-date,
.wp-block-latest-posts .wp-block-latest-posts__post-author,
.wp-block-latest-posts .wp-block-latest-posts__post-date,
.contact-form label > span,
.comment-metadata,
.form-allowed-tags,
.comment-notes,
.widget .rss-date,
.widget .post-date,
.wp-block-quote cite,
.ignition-breadcrumbs,
.ignition-widget-item-subtitle a,
.page-subtitle,
.entry-prev,
.entry-next {
  color: var(--ignition-secondary-text-color);
}

/* Global - Headings Color
========================================= */

.ignition-widget-item-title a,
.entry-navigation-title {
  color: var(--ignition-headings-color);
}

/* Header / Default Colors
========================================= */

.header {
  background: none;
}

.site-sidebar-wrap {
  background-color: var(--ignition-header-background-color);
}

.site-sidebar-wrap::before {
  background-color: var(--ignition-header-overlay-background-color);
}

.site-sidebar-wrap .head-mast {
  border: 0;
}

.navigation-main a {
  border-color: var(--ignition-header-border-color);
}

.site-sidebar-widgets {
  color: var(--ignition-header-text-color);
}

/* Pagination
========================================= */

.navigation .page-numbers.current,
.navigation .page-numbers:hover,
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
  background-color: var(--ignition-buttons-background-color);
  color: var(--ignition-buttons-text-color);
  border-color: var(--ignition-buttons-background-color);
}

.page-links .current .page-number,
.page-links a:hover .page-number {
  background-color: var(--ignition-buttons-background-color);
  color: var(--ignition-buttons-text-color);
  border-color: var(--ignition-buttons-background-color);
}

@media (min-width: 576px) {
  .header {
    width: 540px;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .header {
    width: 720px;
    max-width: 100%;
  }

  .entry-item-media .entry-thumb {
    width: 205px;
  }
}

@media (min-width: 992px) {
  .header {
    width: 940px;
    max-width: 100%;
  }
}

@media (min-width: 1230px) {
  .header {
    width: 1200px;
    max-width: 100%;
  }
}

@media (max-width: 1229px) {
  :root {
    --ignition-palermo-content-padding: 30px;
  }

  .sidebar:not(.sidebar-drawer) {
    margin-top: 60px;
    padding: 0;
  }
}

@media (max-width: 991px) {
  .main-no-padding {
    padding: 0 !important;
  }
}

@media (max-width: 767px) {
  .site-logo {
    font-size: 20px;
  }
}