@charset "UTF-8";

/*
Theme Name: PortfolioXpress
Theme URI: https://themeinwp.com/theme/portfolioxpress
Author: themeinwp
Author URI: https://www.themeinwp.com/
Description: Introducing a dynamic and versatile WordPress theme for your portfolio website. Elevate your online presence with sleek design and seamless functionality. This theme is crafted to elegantly display your work, whether you're an artist, photographer, designer, or a creative professional. With customizable layouts and intuitive navigation, it ensures your projects take center stage. Responsive and user-friendly, this theme brings your portfolio to life on any device. Unleash your creativity and showcase your achievements with this powerful WordPress portfolio theme.
Requires at least: 5.3
Tested up to: 6.5
Requires PHP: 5.6
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: portfolioxpress
Tags: blog, news, photography, grid-layout, one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-header, custom-logo, custom-menu, featured-images, featured-image-header, flexible-header, post-formats, rtl-language-support, translation-ready, theme-options, threaded-comments, footer-widgets
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Base
	- Progress Bar
	- Preloader
	- Top Bar
	- Site Branding
	- Navigation
	- Color Mode
	- Posts and pages
	- Site Content
	- Banner
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
	- Footer
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments
	- Plugin Support
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
:root {
  --theme-plain-white: #ffffff;
  --theme-text-color: #404040;
  --theme-plain-black: #000;
  --theme-accent-color: #218dff;
  --theme-accent-hover-color: #3b9aff;
  --theme-background-color: #0e0e0e;
  --swiper-theme-color: var(--theme-accent-color);
  --theme-font-size-normal: 1.6rem;
  --theme-font-size-small: 1.8rem;
  --theme-font-size-medium: 2.5rem;
  --theme-font-size-big: 4.1rem;
  --theme-font-size-xbig: 5.1rem;
  --theme-font-size-large: 6.5rem;
  --theme-font-family-general: "Open Sans", sans-serif;
  --theme-font-family-headings: "Poppins", sans-serif;
  --transition-effect: 0.4s ease;
}

/* Normalize
--------------------------------------------- */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  border: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 991px) {
  body {
    overflow: visible;
  }
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: top;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  word-break: break-word;
  word-wrap: break-word;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
html {
  font-size: 62.5%;
  /* 1rem = 10px */
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Typography
--------------------------------------------- */
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
optgroup,
textarea {
  color: var(--theme-text-color);
  font-family: var(--theme-font-family-general);
  font-size: var(--theme-font-size-normal);
  line-height: calc(var(--theme-font-size-normal) * 1.5);
  letter-spacing: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--theme-font-family-headings);
  font-weight: 700;
  clear: both;
  margin-top: 0;
}

h1,
h2,
h3 {
  margin-bottom: 1.5rem;
}

h4,
h5,
h6 {
  margin-bottom: 1rem;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

.entry-title {
  line-height: 1.4;
}

.font-size-large {
  font-size: var(--theme-font-size-large);
  line-height: calc(var(--theme-font-size-large) * 1.4);
  font-weight: 900;
}

@media (max-width: 991px) {
  .font-size-large {
    font-size: var(--theme-font-size-big);
    line-height: calc(var(--theme-font-size-big) * 1.4);
  }
}

.site-section-title,
.font-size-big {
  font-size: var(--theme-font-size-big);
  line-height: calc(var(--theme-font-size-big) * 1.4);
  font-weight: 700;
}

.font-size-xbig {
  font-size: var(--theme-font-size-xbig);
  line-height: calc(var(--theme-font-size-xbig) * 1.4);
  font-weight: 700;
}

.font-size-medium,
.widget-title,
.widget_block .wp-block-group__inner-container > h2,
.single-component-title {
  font-size: var(--theme-font-size-medium);
  line-height: calc(var(--theme-font-size-medium) * 1.4);
  font-weight: 500;
}

.font-size-small {
  font-size: var(--theme-font-size-small);
  line-height: calc(var(--theme-font-size-small) * 1.4);
}

@media (max-width: 767px) {
  .font-size-large {
    font-size: var(--theme-font-size-big);
    line-height: calc(var(--theme-font-size-big) * 1.4);
  }
}

.entry-title a {
  background: -webkit-gradient(linear,
      left top,
      right top,
      from(currentColor),
      to(currentColor));
  background: linear-gradient(to right, currentColor 0%, currentColor 100%);
  background-size: 0px 6%;
  background-repeat: no-repeat;
  background-position: left 100%;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.entry-title a:hover,
.entry-title a:focus {
  background-size: 100% 6%;
}

/* Elements
--------------------------------------------- */
body {
  background-color: var(--theme-plain-white);
}

@media (max-width: 600px) {
  body.admin-bar {
    top: -46px;
  }
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

.reset-list-style,
.reset-list-style ul,
.reset-list-style ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.reset-list-style li {
  margin: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

@media (min-width: 768px) {

  .cursor-dot,
  .cursor-dot-outline {
    z-index: 1100;
    pointer-events: none;
    position: fixed;
    top: 50%;
    left: 50%
      /* rtl:ignore */
    ;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out,
      -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out,
      -webkit-transform 0.3s ease-in-out;
  }

  .cursor-dot {
    width: 8px;
    height: 8px;
    background-color: var(--theme-accent-color);
  }

  .cursor-dot-outline {
    width: 30px;
    height: 30px;
    background-color: var(--theme-accent-color);
    opacity: 0.4 !important;
  }
}

.text-center {
  text-align: center !important;
}

/*rtl:begin:ignore*/
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

/*rtl:end:ignore*/
.data-bg {
  background-color: #d8d8d8;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: relative;
}

.data-bg-fixed {
  background-attachment: fixed;
}

.featured-media img {
  display: block;
  width: 100%;
}

.featured-media-full img {
  height: 100vh;
  object-fit: cover;
}

.image-size-large {
  height: 600px;
}

@media (max-width: 1600px) {
  .image-size-large {
    height: 500px;
  }
}

.image-size-big {
  height: 500px;
}

.image-size-medium {
  height: 400px;
}

.image-size-small {
  height: 240px;
}

.image-size-small :where(a, img) {
  height: 100%;
}

.image-size-small img {
  object-fit: cover;
}

.data-bg-overlay {
  position: absolute;
  background: var(--theme-plain-black);
  opacity: 0.4;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.theme-menu {
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1rem;
}

.theme-social-navigation a {
  display: flex;
}

.theme-social-navigation .svg-icon {
  display: flex;
  width: 2rem;
  height: 2rem;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 20rem;
  background-color: rgba(0, 0, 0, 0.9);
  color: var(--theme-plain-white);
  text-align: center;
  border-radius: 6px;
  padding: 0.6rem 0;
  /* Position the tooltip */
  position: absolute;
  z-index: 1;
  bottom: 115%;
  left: 50%;
  transform: translate(-50%, 0);
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

/* Links
--------------------------------------------- */
a {
  color: var(--theme-plain-black);
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
  color: var(--theme-accent-hover-color);
  outline: 0;
}

a:focus-visible {
  outline: 0.2rem solid var(--theme-accent-color);
}

.page-content a:not(.more-link):not(.button):not(.wp-block-button__link),
.entry-content a:not(.more-link):not(.button):not(.wp-block-button__link),
.entry-summary a:not(.more-link):not(.button):not(.wp-block-button__link),
.widget_text a:not(.more-link):not(.button) {
  text-decoration: underline;
}

/* Forms
--------------------------------------------- */
fieldset {
  border: 0.2rem solid #dcd7ca;
  padding: 2rem;
}

legend {
  font-size: 0.85em;
  font-weight: 700;
  padding: 0 1rem;
}

label {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0 0 0.5rem 0;
}

label.inline,
input[type="checkbox"] + label {
  display: inline;
  font-weight: 400;
  margin-left: 0.5rem;
}

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  top: 2px;
  display: inline-block;
  margin: 0;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  background: var(--theme-plain-white);
  border-radius: 0;
  border-style: solid;
  border-width: 0.1rem;
  border-color: #dcd7ca;
  box-shadow: none;
  cursor: pointer;
}

input[type="checkbox"]:checked::before {
  /* Use the "Yes" SVG Dashicon */
  content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23000000%27%2F%3E%3C%2Fsvg%3E");
  position: absolute;
  display: inline-block;
  margin: -0.1875rem 0 0 -0.25rem;
  height: 1.75rem;
  width: 1.75rem;
}

input,
textarea,
button,
.button {
  line-height: 1;
}

input,
textarea {
  color: var(--theme-plain-black);
}

code,
input[type="url"],
input[type="email"],
input[type="tel"] {
  /*rtl:ignore*/
  direction: ltr;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: var(--theme-plain-white);
  border-radius: 5px;
  border-style: solid;
  border-width: 0.1rem;
  box-shadow: none;
  display: block;
  font-size: 2rem;
  margin: 0;
  max-width: 100%;
  padding: 1.5rem 3rem;
  width: 100%;
}

input[type="number"] {
  padding-right: 0.5rem;
}

select {
  font-size: 1em;
}

textarea {
  height: 12rem;
  line-height: 1.5;
  width: 100%;
}

input::-webkit-input-placeholder {
  line-height: normal;
}

input:-ms-input-placeholder {
  line-height: normal;
}

input::-moz-placeholder {
  line-height: revert;
  /* Reset to the value from the user-agent stylesheet. */
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

button,
.theme-button,
.wp-block-search__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid;
  border-color: var(--theme-accent-color);
  border-radius: 5px;
  background-color: var(--theme-accent-color);
  color: var(--theme-plain-white);
  cursor: pointer;
  display: inline-block;
  font-size: 2rem;
  line-height: 1.25;
  margin: 0;
  opacity: 1;
  padding: 1.5rem 3rem;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.15s linear;
}

button:focus,
button:hover,
.theme-button:focus,
.theme-button:hover,
.wp-block-search__button:focus,
.wp-block-search__button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover {
  background: var(--theme-accent-hover-color);
  border-color: var(--theme-accent-hover-color);
  color: var(--theme-plain-white);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  border-color: currentColor;
}

input[type="search"]:focus {
  outline: thin dotted;
  outline-offset: -4px;
}

.theme-button .svg-icon {
  height: 2.8rem;
  width: 2.8rem;
}

.theme-button.theme-button-search .svg-icon {
  height: 2.2rem;
  width: 2.2rem;
}

.theme-button-transparent {
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--theme-plain-black);
  padding: 0;
}

.theme-button.theme-button-transparent:hover,
.theme-button.theme-button-transparent:focus {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
}

.theme-button.theme-button-transparent:focus-visible {
  outline: 0.2rem solid var(--theme-accent-color);
  text-decoration: none;
}

/* Swiper-button */
.swiper-button-next,
.swiper-button-prev {
  background-color: transparent;
  border-radius: 0;
  border: 1px solid;
  box-shadow: none;
  width: 3.5rem;
  height: 3.5rem;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 1.2rem;
  font-weight: 400;
}

.swiper-button-next:hover,
.swiper-button-next:focus,
.swiper-button-prev:hover,
.swiper-button-prev:focus {
  background-color: var(--theme-plain-white);
  box-shadow: none;
  color: var(--theme-plain-black);
  border: none;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Base
--------------------------------------------- */
.column-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.column-row-collapse {
  margin-right: 0;
  margin-left: 0;
}

.column-row-small {
  margin-right: -5px;
  margin-left: -5px;
}

.column-row-center {
  align-items: center;
}

.column {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.column-row-collapse > .column {
  padding-right: 0;
  padding-left: 0;
}

.column-row-small > .column {
  padding-right: 5px;
  padding-left: 5px;
}

.px-40 {
  padding: 0 4rem;
}

.mt-24 {
  margin-top: 2.4rem;
}

.mt-32 {
  margin-top: 3.2rem;
}

.m-0 {
  margin: 0;
}

.mb-4 {
  margin-bottom: 0.4rem;
}

.mb-8 {
  margin-bottom: 0.8rem;
}

.mb-12 {
  margin-bottom: 1.2rem;
}

.mb-16 {
  margin-bottom: 1.6rem;
}

.mb-24 {
  margin-bottom: 2.4rem;
}

.mb-32 {
  margin-bottom: 3.2rem;
}

.mb-80 {
  margin-bottom: 8rem;
}

.column-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.column-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.column-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.column-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.column-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.column-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.column-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.column-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.column-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.column-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.column-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.column-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 992px) {
  .column-order-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .column-order-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .column-order-3 {
    -ms-flex-order: 3;
    order: 3;
  }
}

@media (max-width: 1200px) {
  .order-md-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-md-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-md-3 {
    -ms-flex-order: 3;
    order: 3;
  }
}

@media (min-width: 1201px) {
  .hidden-lg-screen {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

@media (max-width: 1199px) {
  .column-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .column-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .column-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .column-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .mb-lg-40 {
    margin-bottom: 4rem;
  }
}

@media (max-width: 1200px) and (min-width: 992px) {
  .column-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .column-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .column-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .column-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .hidden-md-screen {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

@media (max-width: 991px) {
  .column-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .column-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .column-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .column-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .hidden-sm-screen {
    display: none;
    visibility: hidden;
    opacity: 0;
  }

  .p-sm-0 {
    padding: 0;
  }

  .py-sm-24 {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

@media (max-width: 767px) {
  .column-xs-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .column-xs-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .column-xs-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .column-xs-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .hidden-xs-screen {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

@media (max-width: 575px) {
  .px-xxs-2 {
    padding: 0 2rem;
  }
}

@media (max-width: 768px) {
  .hide-on-mobile {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .hide-on-tablet {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

@media (min-width: 1025px) {
  .hide-on-desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

.wrapper {
  max-width: calc(100vw - 3rem);
  margin-left: auto;
  margin-right: auto;
}

.single.no-sidebar .entry-content,
.archive.no-sidebar .content-area {
  max-width: calc(100vw - 3rem);
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group .wp-block-group__inner-container > *.alignfull,
.wrapper-fluid {
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.alignfull [class*="inner-container"] > .alignwide,
.alignwide [class*="inner-container"] > .alignwide {
  margin-left: auto;
  margin-right: auto;
  width: calc(100vw - 3rem);
  max-width: 100%;
}

@media only screen and (min-width: 482px) {
  .wrapper {
    max-width: calc(100vw - 10rem);
  }

  .wrapper-fluid {
    max-width: 100%;
    width: auto;
  }

  .single.no-sidebar .entry-content,
  .archive.no-sidebar .content-area {
    max-width: min(calc(100vw - 10rem), 68rem);
  }

  .alignfull [class*="inner-container"] > .alignwide,
  .alignwide [class*="inner-container"] > .alignwide {
    width: calc(100vw - 10rem);
  }
}

@media only screen and (min-width: 992px) {
  .wrapper {
    max-width: min(calc(100vw - 20rem), 156rem);
  }

  .single.no-sidebar .entry-content,
  .archive.no-sidebar .content-area {
    max-width: min(calc(100vw - 20rem), 68rem);
  }

  .no-sidebar .alignfull {
    margin: 3rem calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
  }

  .no-sidebar .alignwide {
    margin-left: calc(50% - 62rem);
    margin-right: calc(50% - 62rem);
    max-width: min(100vw, 124rem);
  }

  .alignfull [class*="inner-container"] > .alignwide,
  .alignwide [class*="inner-container"] > .alignwide {
    width: min(calc(100vw - 20rem), 124rem);
  }
}

@media only screen and (min-width: 482px) {
  .no-sidebar .entry-content > .alignleft {
    /*rtl:ignore*/
    margin-left: calc(0.5 * (100vw - min(calc(100vw - 20rem), 68rem)));
    /*rtl:ignore*/
    margin-right: 2.5rem;
  }
}

@media only screen and (min-width: 482px) {
  .no-sidebar .entry-content > .alignright {
    /*rtl:ignore*/
    margin-left: 2.5rem;
    /*rtl:ignore*/
    margin-right: calc(0.5 * (100vw - min(calc(100vw - 20rem), 68rem)));
  }
}

#site-content,
.site-footer {
  margin-left: auto;
  margin-right: auto;
}

.portfolioxpress-entry-meta {
  display: flex;
  align-items: center;
  gap: 2rem;
}

@media (max-width: 575px) {
  .portfolioxpress-entry-meta {
    flex-wrap: wrap;
  }
}

.portfolioxpress-meta {
  display: flex;
  align-items: center;
  line-height: 1;
}

.portfolioxpress-meta .meta-icon {
  margin-right: 0.5rem;
}

.portfolioxpress-entry-categories a {
  position: relative;
  color: var(--theme-accent-color);
  font-weight: 700;
}

.portfolioxpress-entry-categories a:not(:last-child) {
  padding-right: 1.4rem;
  margin-right: 0.6rem;
}

.portfolioxpress-entry-categories a:not(:last-child)::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  translate: 0 -50%;
  height: 0.2rem;
  width: 0.6rem;
  background-color: var(--theme-plain-white);
}

.portfolioxpress-entry-categories a:hover,
.portfolioxpress-entry-categories a:focus {
  color: var(--theme-accent-hover-color);
}

.entry-meta-footer {
  display: flex;
  gap: 2rem;
  align-items: center;
}

.entry-image {
  position: relative;
}

.entry-image .post-read-time {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 2;
}

.post-read-time {
  background-color: var(--theme-accent-color);
  color: var(--theme-plain-white);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  max-width: 14rem;
  justify-content: center;
}

/* Progress Bar
*----------------------------------- */
#portfolioxpress-progress-bar {
  background-color: var(--theme-accent-color);
  position: fixed;
  width: 0;
  height: 4px;
  z-index: 99999;
}

#portfolioxpress-progress-bar.top {
  top: 0;
}

.admin-bar #portfolioxpress-progress-bar.top {
  top: 32px;
}

@media only screen and (max-width: 782px) {
  .admin-bar #portfolioxpress-progress-bar.top {
    top: 46px;
  }
}

@media only screen and (max-width: 600px) {
  .admin-bar #portfolioxpress-progress-bar.top {
    top: 0;
  }
}

#portfolioxpress-progress-bar.bottom {
  bottom: 0;
}

/* Preloader
--------------------------------------------- */
.theme-preloader {
  width: 100%;
  height: 100vh;
  position: fixed;
  background-color: var(--theme-plain-white);
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}

.theme-preloader-spinner {
  width: 100vw;
  height: 100vh;
  position: relative;
  display: block;
  background-color: var(--theme-plain-black);
}

.theme-preloader-spinner-1 .theme-preloader-throbber {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.theme-preloader-spinner-1 .theme-preloader-throbber::after {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid var(--theme-accent-color);
  border-color: var(--theme-accent-color) transparent var(--theme-accent-color) transparent;
  animation: preloader 1s linear infinite;
}

.theme-preloader-spinner-2 .theme-preloader-throbber {
  border-radius: 100%;
  height: 10px;
  width: 10px;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
    40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
    40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
    40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  -webkit-animation: load 3s infinite linear;
  -moz-animation: load 3s infinite linear;
  -o-animation: load 3s infinite linear;
  animation: load 3s infinite linear;
}

@keyframes preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes load {
  0% {
    -webkit-transform: translate(0px, 0px), rotate(0deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  25% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  50% {
    box-shadow: 0px -40px 0px 0px #ffffff, 0px 40px 0px 0px #ffffff,
      -40px 0px 0px 0px #ffffff, 40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  70% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
  }

  75% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    height: 10px;
    width: 10px;
  }

  80% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  85% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  90% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 10px;
    width: 10px;
  }

  95% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  100% {
    -webkit-transform: rotate(360deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }
}

@-moz-keyframes load {
  0% {
    -moz-transform: translate(0px, 0px), rotate(0deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  25% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  50% {
    box-shadow: 0px -40px 0px 0px #ffffff, 0px 40px 0px 0px #ffffff,
      -40px 0px 0px 0px #ffffff, 40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  70% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
  }

  75% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    height: 10px;
    width: 10px;
  }

  80% {
    -moz-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  85% {
    -moz-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  90% {
    -moz-transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 10px;
    width: 10px;
  }

  95% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  100% {
    -moz-transform: rotate(360deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }
}

@keyframes load {
  0% {
    transform: translate(0px, 0px), rotate(0deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  25% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  50% {
    box-shadow: 0px -40px 0px 0px #ffffff, 0px 40px 0px 0px #ffffff,
      -40px 0px 0px 0px #ffffff, 40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  70% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
  }

  75% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    height: 10px;
    width: 10px;
  }

  80% {
    transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  85% {
    transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  90% {
    transform: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 10px;
    width: 10px;
  }

  95% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  100% {
    transform: rotate(360deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }
}

@-o-keyframes load {
  0% {
    -o-transforms: translate(0px, 0px), rotate(0deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  25% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  50% {
    box-shadow: 0px -40px 0px 0px #ffffff, 0px 40px 0px 0px #ffffff,
      -40px 0px 0px 0px #ffffff, 40px 0px 0px 0px #ffffff,
      -40px -40px 0px 0px #ffffff, 40px 40px 0px 0px #ffffff,
      -40px 40px 0px 0px #ffffff, 40px -40px 0px 0px #ffffff;
  }

  70% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
  }

  75% {
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    height: 10px;
    width: 10px;
  }

  80% {
    -o-transforms: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  85% {
    -o-transforms: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 40px;
    width: 40px;
  }

  90% {
    -o-transforms: translate(0px, 0px) rotate(360deg);
    box-shadow: 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff,
      0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff, 0px 0px 0px 0px #ffffff;
    background-color: #ffffff;
    height: 10px;
    width: 10px;
  }

  95% {
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }

  100% {
    -o-transforms: rotate(360deg);
    box-shadow: 0px 40px 0px 0px #ffffff, 0px -40px 0px 0px #ffffff,
      40px 0px 0px 0px #ffffff, -40px 0px 0px 0px #ffffff,
      40px 40px 0px 0px #ffffff, -40px -40px 0px 0px #ffffff,
      40px -40px 0px 0px #ffffff, -40px 40px 0px 0px #ffffff;
  }
}

.site-header a:where(:hover, :focus) {
  color: var(--theme-accent-color);
}

.site-header .masthead-main-navigation {
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  z-index: 1;
}

.site-header-left {
  gap: 1.5rem;
  display: flex;
  align-content: center;
}

.site-header-left {
  justify-content: flex-start;
  justify-self: start;
}

@media (max-width: 767px) {
  .header-social-navigation .theme-menu {
    flex-wrap: wrap;
  }
}

/* Site Branding
--------------------------------------------- */
.remove-header {
  display: none;
}

.home.page-template:not(.page-template-front-page-template) .site-header,
.single .site-header,
.page .site-header,
.search-no-results .site-header,
.content-null .site-header,
.error404 .site-header {
  background-color: rgba(0, 0, 0, 0.03);
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  inset: initial !important;
  color: var(--theme-plain-black);
}

.home.page .site-header,
.page-template-front-page-template .site-header,
.site-header {
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  width: 100%;
  color: var(--theme-plain-white);
  z-index: 10;
}

:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-branding,
:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-branding a:not(:hover, :focus),
:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-header .site-branding-right :where(button, a):not(:hover, :focus) {
  color: #000;
}

:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-branding a:hover,
:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-branding a:focus,
:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-header .site-branding-right :where(button, a):hover,
:where(.home.page-template-default, .post-template-default.single, .search-no-results) .site-header .site-branding-right :where(button, a):focus {
  color: var(--theme-accent-hover-color);
}

.site-header a:not(:hover, :focus) {
  color: inherit;
}

.admin-bar.home.page .site-header,
.admin-bar .site-header {
  top: 3.2rem;
}

@media (max-width: 782px) {

  .admin-bar.home.page .site-header,
  .admin-bar .site-header {
    top: 4.7rem;
  }
}

.header-content-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-branding-left {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: 2.4rem;
  max-width: 60rem;
}

@media (max-width: 1199px) {
  .site-branding-middle {
    display: none;
  }
}

.site-branding-left button:not(:hover, :focus),
.page-template-front-page-template.page.page .site-branding-left button:not(:hover, :focus) {
  color: var(--theme-plain-white);
}

.single .site-branding-left button:not(:hover, :focus),
.page .site-branding-left button:not(:hover, :focus),
.search-no-results .site-branding-left button:not(:hover, :focus),
.error404 .site-branding-left button:not(:hover, :focus) {
  color: var(--theme-plain-black);
}

.site-branding-right {
  display: flex;
  gap: 3rem;
}

.site-branding-right :where(button, a) {
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--theme-plain-white);
  padding: 0;
}

.single .site-branding-right button,
.single .site-branding-right a,
.content-null .site-branding-right button,
.content-null .site-branding-right a,
.error404 .site-branding-right button,
.error404 .site-branding-right a,
.search-no-results .site-branding-right button,
.search-no-results .site-branding-right a,
:not(.home):not(.page-template-front-page-template).page .site-branding-right button,
:not(.home):not(.page-template-front-page-template).page .site-branding-right a {
  color: var(--theme-plain-black);
}

.site-branding-right button:hover,
.site-branding-right button:focus,
.site-branding-right a:hover,
.site-branding-right a:focus {
  background-color: transparent;
  color: var(--theme-accent-hover-color);
  border: none;
}

.portfolioxpress-transparent-logo .site-branding {
  background: none;
}

.site-title,
.site-logo,
.site-description {
  margin: 0;
}

.site-title {
  font-family: var(--theme-font-family-headings);
}

.site-title a {
  font-size: 5.2rem;
  line-height: calc(4.1rem * 1.4);
  font-weight: 800;
}

@media (max-width: 767px) {
  .site-title a {
    font-size: var(--theme-font-size-medium);
    line-height: calc(var(--theme-font-size-medium) * 1.2);
  }
}

.window-shrink .site-title {
  font-size: 2.8rem;
  line-height: calc(2.8rem * 1.2);
}

.site-title a {
  text-decoration: none;
}

.site-logo a,
.site-logo img {
  display: block;
}

.site-logo img {
  max-width: 30rem;
  margin: 0 auto;
  width: auto;
}

@media (max-width: 991px) {
  .site-logo img {
    max-width: 20rem;
  }
}

@media (max-width: 575px) {
  .site-logo img {
    max-width: 16rem;
  }
}

.site-logo + .site-title {
  margin-top: 1rem;
}

.site-description {
  font-size: 2rem;
  line-height: calc(1.8rem * 1.5);
  filter: alpha(opacity=85);
  opacity: 0.85;
  letter-spacing: -0.0311em;
  transition: all 0.15s linear;
}

@media (max-width: 1024px) {
  .site-description {
    display: none;
  }
}

/* Navigation
--------------------------------------------- */
.theme-primary-menu {
  display: none;
}

@media only screen and (min-width: 992px) {
  .theme-primary-menu {
    display: block;
  }
}

ul.primary-menu {
  display: -ms-flexbox;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  flex-wrap: wrap;
}

.primary-menu li {
  font-size: 1.5rem;
  line-height: 1.25;
  position: relative;
}

.primary-menu > li {
  margin: 0 2rem 0 0;
}

.primary-menu > li .icon {
  vertical-align: middle;
}

.primary-menu svg {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-block;
  margin-left: 1rem;
  fill: currentColor;
}

.primary-menu a {
  display: block;
  line-height: 1.2;
  padding: 1rem 0;
  text-decoration: none;
  word-break: normal;
  word-wrap: normal;
}

.primary-menu li.current-menu-item > a,
.primary-menu li.current-menu-item > .link-icon-wrapper > a {
  text-decoration: underline;
}

.primary-menu li.current-menu-item > a:hover,
.primary-menu li.current-menu-item > .link-icon-wrapper > a:hover,
.primary-menu li.current-menu-item > a:focus,
.primary-menu li.current-menu-item > .link-icon-wrapper > a:focus {
  text-decoration: none;
}

/* SUB MENU */
.primary-menu ul {
  background-color: var(--theme-plain-white);
  color: var(--theme-accent-color);
  font-size: 1.4rem;
  position: absolute;
  right: 9999rem;
  top: calc(100% + 1.1rem);
  padding: 1rem 0;
  width: 25rem;
  opacity: 0;
  z-index: 10;
  transition: opacity 0.15s linear, transform 0.15s linear, right 0s 0.15s;
  transform: translateY(0.6rem);
}

.primary-menu li.menu-item-has-children:hover > ul,
.primary-menu li.menu-item-has-children:focus > ul,
.primary-menu li.menu-item-has-children.focus > ul {
  right: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.15s linear, transform 0.15s linear;
}

.primary-menu ul::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  border: 1rem solid transparent;
}

.primary-menu ul a {
  background: transparent;
  border: none;
  color: inherit;
  display: block;
  padding: 1rem 2rem;
  transition: background-color 0.15s linear;
  width: 100%;
}

.primary-menu ul a .icon {
  position: absolute;
  right: 2rem;
}

.primary-menu ul a:hover {
  color: var(--theme-accent-hover-color);
}

/* DEEP DOWN */
.primary-menu ul ul {
  top: -1rem;
}

.primary-menu ul li.menu-item-has-children:hover > ul,
.primary-menu ul li.menu-item-has-children:focus > ul,
.primary-menu ul li.menu-item-has-children.focus > ul {
  right: 100%;
}

/*
 * Enable nav submenu expansion with tapping on arrows on large-viewport
 * touch interfaces (e.g. tablets or laptops with touch screens).
 * These rules are supported by all browsers (>IE11) and when JS is disabled.
 */
@media (any-pointer: coarse) {
  .primary-menu > li.menu-item-has-children > a {
    padding-right: 0;
    margin-right: 2rem;
  }

  .primary-menu ul li.menu-item-has-children > a {
    margin-right: 4.5rem;
    padding-right: 0;
    width: unset;
  }
}

/* Repeat previous rules for IE11 (when JS enabled for polyfill). */
body.touch-enabled .primary-menu > li.menu-item-has-children > a {
  padding-right: 0;
  margin-right: 2rem;
}

body.touch-enabled .primary-menu ul li.menu-item-has-children > a {
  margin-right: 4.5rem;
  padding-right: 0;
  width: unset;
}

#page.site {
  position: relative;
  width: 100%;
  min-height: 100%;
  z-index: 1;
  transition: transform 0.5s ease-in-out;
}

#page.site::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(21, 32, 53, 0.3);
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
}

/* Search Canvas
**------------------------------------------------ */
.portfolioxpress-search-canvas-open #page.site::before {
  display: block;
  opacity: 1;
  visibility: visible;
}

.theme-search-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  padding: 10rem 0;
  background-color: #212121;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: all 0.5s ease-in-out;
}

.theme-search-panel input.search-field {
  color: var(--theme-plain-white);
}

.single .theme-search-panel,
:not(.home.page).page .theme-search-panel,
.error404 .theme-search-panel,
.search-no-results .theme-search-panel {
  background-color: var(--theme-plain-white);
}

.single .theme-search-panel input.search-field,
:not(.home.page).page .theme-search-panel input.search-field,
.error404 .theme-search-panel input.search-field,
.search-no-results .theme-search-panel input.search-field,
.single .theme-search-panel .search-close:not(:hover, :focus),
:not(.home.page).page .theme-search-panel .search-close:not(:hover, :focus),
.error404 .theme-search-panel .search-close:not(:hover, :focus),
.search-no-results .theme-search-panel .search-close:not(:hover, :focus) {
  color: var(--theme-plain-black);
}

.admin-bar .theme-search-panel {
  top: 32px;
}

@media only screen and (max-width: 782px) {
  .admin-bar .theme-search-panel {
    top: 46px;
  }
}

@media only screen and (max-width: 600px) {
  .admin-bar .theme-search-panel {
    top: 0;
  }
}

.portfolioxpress-search-canvas-open .theme-search-panel {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.search-panel-wrapper .search-form {
  margin: 0;
  padding: 0;
  display: block;
}

.theme-search-panel input.search-field {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #ddd;
  font-size: 1.8rem;
  letter-spacing: 1px;
  width: 20rem;
  max-width: 100%;
  padding: 0 0 2rem 0;
  transition: width 0.3s ease 0.3s;
}

.portfolioxpress-search-canvas-open .theme-search-panel input.search-field {
  width: calc(100% - 5rem);
}

.theme-search-panel input:focus.search-field {
  border-bottom-color: var(--theme-accent-color);
  outline: none;
}

.theme-search-panel .search-submit {
  position: absolute;
  right: -9999rem;
  top: 45%;
  transform: translateY(-45%);
}

.theme-search-panel .search-submit {
  flex-shrink: 0;
}

.theme-search-panel .search-submit:focus {
  right: 15rem;
}

.theme-search-panel .search-close {
  position: absolute;
  top: 3.5rem;
  right: 4.5rem;
  cursor: pointer;
  color: var(--theme-plain-white);
}

.theme-search-panel .search-close:where(:hover, :focus) {
  color: var(--theme-accent-hover-color);
}

.theme-search-panel .search-close svg {
  width: 4rem;
  height: 4rem;
}

/* Off Canvas
**------------------------------------------------ */
.portfolioxpress-offcanvas-menu-open #page.site {
  position: fixed;
  transform: translateX(-42rem);
}

.portfolioxpress-offcanvas-widget-open #page.site {
  position: fixed;
  transform: translateX(42rem);
}

.portfolioxpress-offcanvas-menu-open #page.site::before,
.portfolioxpress-offcanvas-widget-open #page.site::before {
  opacity: 1;
  visibility: visible;
}

.theme-offcanvas-panel {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 42rem;
  height: 100vh;
  color: var(--theme-plain-white);
  background-color: var(--theme-background-color);
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  z-index: 999;
}

.theme-offcanvas-panel a:not(:hover, :focus) {
  color: inherit;
}

.theme-offcanvas-panel-menu {
  right: 0;
  transform: translateX(42rem);
}

.theme-offcanvas-panel-widget {
  left: 0;
  transform: translateX(-42rem);
}

@media only screen and (max-width: 575px) {
  .portfolioxpress-offcanvas-menu-open #page.site {
    transform: translateX(-29rem);
  }

  .portfolioxpress-offcanvas-widget-open #page.site {
    transform: translateX(29rem);
  }

  .theme-offcanvas-panel {
    width: 29rem;
  }

  .theme-offcanvas-panel-menu {
    transform: translateX(29rem);
  }

  .theme-offcanvas-panel-widget {
    transform: translateX(-29rem);
  }
}

.portfolioxpress-offcanvas-menu-open .theme-offcanvas-panel-menu {
  opacity: 1;
  visibility: visible;
}

.portfolioxpress-offcanvas-widget-open .theme-offcanvas-panel-widget {
  opacity: 1;
  visibility: visible;
}

.theme-offcanvas-header {
  padding: 2rem;
  border-bottom: 1px solid;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  justify-content: flex-end;
  width: 100%;
}

.theme-offcanvas-content {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2rem;
}

.theme-offcanvas-header #theme-offcanvas-close {
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--theme-plain-white);
}

.theme-offcanvas-header #theme-offcanvas-close span {
  display: inline-block;
  margin: 0;
  margin-right: 0.5rem;
  padding: 0;
}

.offcanvas-sidebar .widget {
  margin: 0;
  padding: 2rem 0;
}

.offcanvas-sidebar .widget:last-child {
  margin-bottom: 3rem;
}

/* Canvas Mobile Menu
**------------------------------------------------ */
.theme-offcanvas-content nav {
  margin-bottom: 3rem;
}

.theme-offcanvas-content .after-menu-offcanvas {
  padding-bottom: 3rem;
}

.theme-offcanvas-menu {
  position: relative;
  width: 100%;
}

.theme-offcanvas-menu li {
  border-style: solid;
  border-width: 0.1rem 0 0 0;
  line-height: 1;
  margin: 0;
}

.theme-offcanvas-menu > li:first-child {
  border-top: none;
}

.theme-offcanvas-menu > li:last-child {
  border-bottom: none;
}

.theme-offcanvas-menu > li:last-child {
  border-bottom-width: 0.1rem;
}

.theme-offcanvas-menu .ancestor-wrapper {
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.theme-offcanvas-menu a {
  display: block;
  padding: 2rem 0;
  text-decoration: none;
  width: 100%;
}

button.sub-menu-toggle {
  border-left: 0.1rem solid #dedfdf;
  flex-shrink: 0;
  margin: 1rem 0;
  padding: 0 2.5rem;
}

button.sub-menu-toggle:focus {
  outline: thin dotted;
}

button.sub-menu-toggle svg {
  height: 0.9rem;
  transition: transform 0.15s linear;
  width: 1.5rem;
}

button.sub-menu-toggle.active svg {
  transform: rotate(180deg);
}

.theme-offcanvas-menu ul {
  margin: 0;
  width: 100%;
  display: none;
  height: 0;
  overflow: hidden;
  transition: height 350ms ease;
}

.theme-offcanvas-menu ul li {
  padding-left: 1rem;
}

.theme-offcanvas-menu ul li a {
  color: inherit;
  font-weight: 500;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  font-size: var(--theme-font-size-global);
  line-height: var(--line-height-global);
  margin: 1.5em 0 0;
}

.featured-media {
  margin: 0;
  position: relative;
}

.featured-media > a {
  display: block;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.theme-single-post-component {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}

.theme-single-post-component .entry-details a {
  text-decoration: none;
}

.theme-single-post-component .entry-image:hover {
  opacity: 0.8;
}

.theme-single-post-component .single-component-content {
  display: grid;
  gap: 1.6rem;
}

.theme-single-post-component .single-component-content {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1600px) {
  .theme-single-post-component .single-component-content {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .theme-single-post-component .single-component-content {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .theme-single-post-component .single-component-content {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

body.has-sidebar .theme-single-post-component .single-component-content {
  grid-template-columns: repeat(3, 1fr);
}

.theme-single-post-component {
  position: relative;
}

.single-author-info-area {
  margin-top: 3rem;
  padding: 2rem;
}

.single-author-info-area:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  background-color: var(--theme-text-color);
  left: 0;
  right: 0;
  -webkit-mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAADklEQVQIW2NgQAXGZHAAGioAza6+Hk0AAAAASUVORK5CYII=) top left repeat;
  mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAADklEQVQIW2NgQAXGZHAAGioAza6+Hk0AAAAASUVORK5CYII=) top left repeat;
}

@media only screen and (min-width: 482px) {
  .single-author-info-area {
    margin-top: 4rem;
  }
}

@media only screen and (min-width: 992px) {
  .single-author-info-area {
    margin-top: 6rem;
  }
}

.single-author-info-wrapper {
  background-color: var(--theme-plain-white);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2rem;
  margin: 2rem;
  position: relative;
  z-index: 1;
}

.single-author-info-area .author-image {
  width: 11.6rem;
  height: 11.6rem;
}

.single-author-info-area .author-image a {
  display: block;
}

.single-author-info-area .author-name {
  font-size: 1.8rem;
  text-decoration: none;
  display: block;
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.single-author-info-area .author-site {
  font-size: 1.2rem;
  display: inline-block;
  text-decoration: none;
  margin-bottom: 0.6rem;
}

@media only screen and (max-width: 575px) {
  .single-author-info-area .single-author-info-wrapper {
    display: flex;
    flex-direction: column;
  }

  .single-author-info-area .author-image {
    width: 100%;
    height: 100%;
  }

  .single-author-info-area .author-details {
    width: 100%;
    padding: 0 20px 20px;
  }
}

/* Site Content
--------------------------------------------- */
.single #site-content,
.single #site-content .fp-overflow,
.page #site-content,
.page #site-content .fp-overflow {
  max-width: min(calc(100vw - 20rem), 156rem);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (max-width: 1400px) {

  .single #site-content,
  .single #site-content .fp-overflow,
  .page #site-content,
  .page #site-content .fp-overflow {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

@media (max-width: 1199px) {

  .single #site-content,
  .single #site-content .fp-overflow,
  .page #site-content,
  .page #site-content .fp-overflow {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

@media (max-width: 991px) {

  .single #site-content,
  .single #site-content .fp-overflow,
  .page #site-content,
  .page #site-content .fp-overflow {
    max-width: calc(100vw - 10rem);
  }
}

@media (max-width: 575px) {

  .single #site-content,
  .single #site-content .fp-overflow,
  .page #site-content,
  .page #site-content .fp-overflow {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media (max-width: 481px) {

  .single #site-content,
  .single #site-content .fp-overflow,
  .page #site-content,
  .page #site-content .fp-overflow {
    max-width: calc(100vw - 3rem);
  }
}

.has-sidebar #site-content,
.has-sidebar #site-content .fp-overflow,
.has-sidebar .page #site-content,
.has-sidebar .page #site-content .fp-overflow {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 6rem;
}

@media (max-width: 1400px) {

  .has-sidebar #site-content,
  .has-sidebar #site-content .fp-overflow,
  .has-sidebar .page #site-content,
  .has-sidebar .page #site-content .fp-overflow {
    gap: 0;
  }

  .has-sidebar #site-content #secondary,
  .has-sidebar #site-content .fp-overflow #secondary {
    margin-top: 4rem;
  }
}

.has-sidebar #site-content #primary,
.has-sidebar #site-content .fp-overflow #primary {
  grid-column: 1 / span 9;
}

.has-sidebar #site-content #secondary,
.has-sidebar #site-content .fp-overflow #secondary {
  grid-column: 10 / -1;
}

.has-sidebar.left-sidebar #site-content #primary,
.has-sidebar.left-sidebar #site-content .fp-overflow #primary {
  grid-column: 4 / -1;
}

.has-sidebar.left-sidebar #site-content #secondary,
.has-sidebar.left-sidebar #site-content .fp-overflow #secondary {
  grid-column: 1 / 4;
}

@media (min-width: 1401px) {

  .has-sidebar.left-sidebar #site-content #secondary,
  .has-sidebar.left-sidebar #site-content .fp-overflow #secondary {
    grid-row: 1;
  }
}

@media (max-width: 1400px) {

  .has-sidebar #site-content #primary,
  .has-sidebar #site-content .fp-overflow #primary,
  .has-sidebar #site-content #secondary,
  .has-sidebar #site-content .fp-overflow #secondary,
  .has-sidebar.left-sidebar #site-content #primary,
  .has-sidebar.left-sidebar #site-content .fp-overflow #primary,
  .has-sidebar.left-sidebar #site-content #secondary,
  .has-sidebar.left-sidebar #site-content .fp-overflow #secondary {
    grid-column: 1 / -1;
  }
}

:where(.single, .page) #site-content #primary > article .entry-meta {
  margin-bottom: 2.4rem;
}

@media (max-width: 1024px) {
  #site-content .portfolioxpress-article-wrapper .fp-arrow.fp-prev {
    border-width: 28.5px 24px 28.5px 0;
  }

  #site-content .portfolioxpress-article-wrapper .fp-arrow.fp-next {
    border-width: 28.5px 0 28.5px 24px;
  }
}

@media (max-width: 991px) {
  #site-content .portfolioxpress-article-wrapper .fp-arrow.fp-prev {
    border-width: 18.5px 14px 18.5px 0;
  }

  #site-content .portfolioxpress-article-wrapper .fp-arrow.fp-next {
    border-width: 18.5px 0 28.5px 14px;
  }
}

/* Archive 
*-------------------------------------------*/
.portfolioxpress-article-wrapper :where(article, .entry-image) {
  position: relative;
}

.portfolioxpress-article-wrapper .entry-image::before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.portfolioxpress-article-wrapper article {
  background-color: var(--theme-background-color);
  min-height: 500px;
}

.site-footer article {
  min-height: auto;
}

.portfolioxpress-article-wrapper .entry-header {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: auto;
  width: 60%;
  padding: 3.2rem;
  color: var(--theme-plain-white);
  z-index: 2;
}

@media (max-width: 1199px) {
  .portfolioxpress-article-wrapper .entry-header {
    width: 90%;
  }
}

.portfolioxpress-article-wrapper .entry-header a:not(:hover, :focus) {
  color: inherit;
}

.theme-sticky-component {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media (max-width: 991px) {
  .theme-sticky-component {
    position: relative;
  }
}

.site-section {
  width: 100%;
}

.site-banner {
  position: relative;
}

.site-banner .theme-banner-slider a:not(:hover, :focus) {
  color: inherit;
}

.theme-banner-slider {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

.theme-banner-slider .swiper-slide {
  overflow: hidden;
}

.banner-slider-pagination {
  display: none;
}

.pagination-banner-on .banner-slider-pagination {
  display: block;
}

.banner-slider-pagination .swiper-slide {
  border: 1px solid transparent;
  opacity: 0.8;
}

.banner-slider-pagination .swiper-slide-thumb-active {
  opacity: 1;
  border-color: var(--theme-accent-color);
}

.slide-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  background: var(--theme-plain-black);
}

.site-banner .banner-slider-pagination {
  position: absolute;
  overflow: hidden;
  right: 0;
  bottom: 8rem;
  max-width: 70rem;
  margin: 0;
}

@media (max-width: 1024px) {
  .site-banner .banner-slider-pagination {
    max-width: 60rem;
  }
}

@media (max-width: 767px) {
  .site-banner .banner-slider-pagination {
    max-width: 52rem;
    bottom: 2rem;
  }
}

@media (max-width: 575px) {
  .site-banner .banner-slider-pagination {
    max-width: 90%;
  }
}

.site-banner .banner-slider-pagination .swiper-slide {
  height: 12rem;
}

.site-banner .banner-slider-pagination .swiper-slide img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.slide-featured-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0.8;
  transform: scale(1.07);
  -webkit-transition: opacity 0.6s ease-in-out, transform 2s ease 0.7s;
  -moz-transition: opacity 0.6s ease-in-out, transform 2s ease 0.7s;
  transition: opacity 0.6s ease-in-out, transform 2s ease 0.7s;
}

.slider-content {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  translate: 0 -50%;
  z-index: 9;
  opacity: 0;
  transition: opacity 1s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.slider-content.text-center {
  padding-right: 0;
  left: 50%;
  translate: -50% -50%;
}

@media (max-width: 767px) {
  .slider-content.text-center {
    left: 0;
    right: 0;
    translate: 0 -50%;
    padding: 0 1.6rem;
  }
}

.slider-content.text-right {
  left: inherit;
  right: 30%;
  translate: 30% -50%;
  padding-left: 30%;
  padding-right: 0;
}

@media (max-width: 575px) {
  .slider-content.text-right {
    padding-left: 0;
  }
}

.swiper-slide .slider-content {
  opacity: 1;
  transition: opacity 1s ease 1s;
}

.theme-banner-slider .swiper-slide .column {
  -ms-flex: 1;
  flex: 1;
}

@media (min-width: 1025px) {
  .banner-slide-content {
    padding-right: 40%;
  }
}

/* Single Featured Banner
--------------------------------------------- */
.single-featured-banner {
  position: relative;
  min-height: 60rem;
}

.single-featured-banner .featured-banner-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: auto;
  width: 100%;
  z-index: 10;
}

.single-featured-banner .featured-banner-content .post-read-time {
  display: inline-block;
  margin-bottom: 2rem;
}

@media (max-width: 767px) {
  .single-featured-banner .featured-banner-content a:not(:hover):not(:focus) {
    color: inherit;
  }
}

.single-featured-banner .featured-banner-content a:not(:hover):not(:focus) {
  color: inherit;
}

.single-featured-banner .featured-banner-media {
  position: relative;
  margin-left: auto;
  background-color: #e9e9e9;
}

@media (max-width: 767px) {
  .single-featured-banner .featured-banner-media::before {
    position: absolute;
    content: "";
    inset: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 9;
  }
}

.single-featured-banner .featured-banner-media .data-bg {
  width: 100%;
}

.single-featured-banner .featured-banner-content *:where(.entry-breadcrumb .breadcrumbs,
  .portfolioxpress-entry-meta,
  .entry-title) {
  color: var(--theme-plain-white);
  padding: 0.4rem;
  margin-bottom: 1.6rem;
}

.single-featured-banner .featured-banner-content .entry-title {
  display: block;
}

.single-featured-banner .featured-banner-content *:where(.entry-breadcrumb .breadcrumbs, .portfolioxpress-entry-meta) {
  display: inline-flex;
}

@media (max-width: 575px) {

  .single-featured-banner .featured-banner-content *:where(.entry-breadcrumb .breadcrumbs,
    .portfolioxpress-entry-meta,
    .entry-title) {
    margin-bottom: 0.8rem;
  }
}

/* Banner
--------------------------------------------- */
/* Comments
--------------------------------------------- */
.single-comments-area {
  margin-bottom: 0;
  padding-top: 3rem;
  position: relative;
  border-top: 1px solid;
}

.single-comments-area:before {
  content: "";
  position: absolute;
  left: 1.5rem;
  top: 3em;
  bottom: 0;
  border-left: 1px solid;
}

.single-comments-area.no-comments:after {
  display: none;
}

.comment-number {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin-right: 3rem;
  line-height: 3rem;
  border: 1px solid #afafaf;
  text-align: center;
  color: #afafaf;
  background: white;
}

.comment-number.no-comments {
  position: relative;
  z-index: 1;
}

.comments-area-title .comments-title,
.comments-area-title a,
.comment-reply-title .comments-title,
.comment-reply-title a {
  display: inline-block;
  vertical-align: middle;
}

.comments-area-title .comments-title,
.comment-reply-title .comments-title,
.comment-reply-title {
  margin: 0;
  margin-right: 6px;
  font-size: var(--theme-font-size-medium);
  text-transform: none;
  -webkit-transform: none;
  transform: none;
}

.comments-area-title {
  position: relative;
}

.comments-area-title .comment-number {
  position: relative;
}

.commentlist > .comment,
.commentlist > .pingback,
.commentlist > .trackback {
  padding-left: 3rem;
}

@media not screen and (min-width: 992px) {
  .depth-1 > .comment-article > .comment-number {
    left: 0;
  }
}

.comments_add-comment {
  margin-top: 3px;
}

.commentlist {
  list-style: none;
  margin: 0;
  border-left: 0;
  padding-left: 0;
}

li.comment,
li.pingback,
li.trackback {
  position: relative;
  display: block;
  margin-top: 3em;
  margin-bottom: 3em;
}

li.comment .comment-number,
li.pingback .comment-number,
li.trackback .comment-number {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

@media not screen and (min-width: 992px) {

  li.comment .comment-number,
  li.pingback .comment-number,
  li.trackback .comment-number {
    left: -3em;
  }
}

li.comment:last-child,
li.pingback:last-child,
li.trackback:last-child {
  margin-bottom: 0;
}

li.comment .children,
li.pingback .children,
li.trackback .children {
  position: relative;
  margin: 3rem 0;
}

@media not screen and (min-width: 992px) {

  li.comment .children,
  li.pingback .children,
  li.trackback .children {
    margin-left: 0;
  }
}

@media only screen and (min-width: 992px) {

  li.comment .children li,
  li.pingback .children li,
  li.trackback .children li {
    padding-left: 2em;
  }

  li.comment .children li:before,
  li.pingback .children li:before,
  li.trackback .children li:before {
    content: "";
    position: absolute;
    top: 1.5rem;
    border-top: 1px solid;
  }
}

li.comment .children li .comment-number,
li.pingback .children li .comment-number,
li.trackback .children li .comment-number {
  border: 1px solid #afafaf;
  background: #afafaf;
  color: white;
}

li.depth-2:before {
  left: -54px;
  width: 60px;
}

@media only screen and (min-width: 992px) {
  li.depth-3:before {
    left: -126px;
    width: 126px;
  }

  li.depth-4:before {
    left: -198px;
    width: 198px;
  }

  li.depth-5:before {
    left: -272px;
    width: 272px;
  }
}

.comment__author-name {
  font-size: 14px;
}

.comment__author-name a {
  color: black;
}

.bypostauthor {
  color: inherit;
}

.comment-article {
  margin-bottom: 0;
  margin-left: 3rem;
}

.comment-article:hover .comment-edit-link,
.comment-article:hover .comment-reply-link {
  opacity: 1;
}

.comment__avatar {
  margin-right: 0.75em;
}

.comment__avatar img {
  width: 3.75em;
  height: auto;
}

.comment__avatar:empty {
  display: none;
}

.comment__timestamp {
  color: #3d3e40;
}

.comment__avatar {
  margin-bottom: 24px;
}

.comment__content {
  position: relative;
  margin-bottom: 3rem;
  font-size: 0.875em;
  line-height: 1.71429;
  color: #8c888c;
}

.comment__links {
  display: inline-block;
  margin-left: 1.71429em;
  font-size: 0.875em;
  line-height: 1.71429;
}

.comment-edit-link,
.comment-reply-link {
  color: #3d3e40;
  opacity: 0;
  margin-right: 0.85714em;
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

@media not screen and (min-width: 992px) {

  .comment-edit-link,
  .comment-reply-link {
    opacity: 1;
  }
}

.comment-reply-link {
  color: #8c888c;
}

.comment-form p.logged-in-as {
  margin-bottom: 0.75em;
}

.comment-respond {
  position: relative;
  margin-bottom: 1.5em;
}

@media only screen and (min-width: 992px) {
  .comment .comment-respond {
    padding-left: 0;
    margin-right: 0;
  }
}

.comment .comment-respond {
  margin-left: 1.5em;
}

#cancel-comment-reply-link {
  text-decoration: underline;
}

/* Comments Form */
@media only screen and (min-width: 992px) {
  .comment-form {
    padding-left: 4.5em;
  }
}

.comment .comment-form {
  padding-left: 0;
}

.comment-form iframe {
  padding-left: 36px;
}

@media only screen and (min-width: 992px) {
  .comment-form > .comment-subscription-form {
    width: 70%;
  }
}

.comment-form-author,
.comment-form-email,
.comment-form-url {
  margin-bottom: 0;
}

.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
  width: 100%;
  margin-bottom: 1.5em;
}

@media not screen and (min-width: 992px) {

  .comment-form-author input,
  .comment-form-email input,
  .comment-form-url input {
    margin-bottom: 0.75em;
  }
}

.comment-form-comment,
.logged-in-as {
  width: 100%;
}

.comment-form-comment textarea,
.comment-subscription-form textarea {
  width: 100%;
  max-width: 100%;
  line-height: 1.5;
}

.form-submit {
  margin-top: 0.75em;
  margin-bottom: 0;
  text-align: right;
}

.form-submit #submit {
  border: 0;
}

@media not screen and (min-width: 992px) {
  .form-submit #submit {
    width: 100%;
  }
}

.comment-subscription-form {
  float: left;
  clear: left;
  margin-top: 0.75em;
  margin-bottom: 0.375em;
}

.comment-subscription-form + .comment-subscription-form {
  margin-top: 0;
}

.comment-subscription-form input[type="checkbox"] {
  margin-right: 0.75em;
  position: relative;
  top: -0.05em;
}

.add-comment {
  margin-top: 3em;
}

.add-comment .add-comment__button {
  position: relative;
  z-index: 1;
  margin-right: 0.5em;
  font-size: 1.5em;
  line-height: 1.5;
}

.add-comment .add-comment__text {
  font-size: 1.25em;
  line-height: 1.2;
  font-weight: bold;
}

/* Comments Navigation */
.comment-navigation {
  position: relative;
  padding-left: 3.75em;
  margin-top: 3em;
  margin-bottom: 3em;
}

.comment-navigation .comment-number {
  position: absolute;
  left: 0;
  top: 0;
  line-height: 30px;
}

.comment-navigation .assistive-text {
  margin-top: 0;
  margin-left: 8px;
  font-size: 28px;
  -webkit-transform: none;
  transform: none;
}

.comment-navigation .nav-previous a,
.comment-navigation .nav-next a {
  font-size: 18px;
}

.comment-navigation .nav-previous {
  float: left;
}

.comment-navigation .nav-previous a:before {
  content: "\2190 ";
}

.comment-navigation .nav-previous a:after {
  content: "";
}

.comment-navigation .nav-next {
  float: right;
}

.comment-navigation .nav-next a:before {
  content: "";
}

.comment-navigation .nav-next a:after {
  content: " \2192";
}

.nocomments {
  -webkit-transform: none;
  transform: none;
}

.nocomments span {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.75em;
  line-height: 1.28571;
  line-height: 48px;
}

.no-comments-box {
  position: relative;
  z-index: 1;
}

div#respond {
  padding-top: 0;
}

div#respond #reply-title {
  padding-left: 4rem;
}

div#respond p.comment-subscription-form label {
  color: #999;
}

.comment-form-cookies-consent input[type="checkbox"] {
  margin-right: 0.75em;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}

.widget:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.widget ul,
.widget ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget li {
  margin: 0;
}

.widget select {
  max-width: 100%;
}

.widget_recent_entries ul,
.widget_recent_entries ol,
.widget_categories ul,
.widget_categories ol,
.widget_archive ul,
.widget_archive ol,
.widget_meta ul,
.widget_meta ol,
.widget_recent_comments ul,
.widget_recent_comments ol,
.widget_nav_menu ul,
.widget_nav_menu ol,
.widget_block .wp-block-group__inner-container ul,
.widget_block .wp-block-group__inner-container ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget_recent_entries ul li,
.widget_recent_entries ol li,
.widget_categories ul li,
.widget_categories ol li,
.widget_archive ul li,
.widget_archive ol li,
.widget_meta ul li,
.widget_meta ol li,
.widget_recent_comments ul li,
.widget_recent_comments ol li,
.widget_nav_menu ul li,
.widget_nav_menu ol li,
.widget_block .wp-block-group__inner-container ul li,
.widget_block .wp-block-group__inner-container ol li {
  border-bottom: 1px solid;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.widget_recent_entries ul li:last-child,
.widget_recent_entries ol li:last-child,
.widget_categories ul li:last-child,
.widget_categories ol li:last-child,
.widget_archive ul li:last-child,
.widget_archive ol li:last-child,
.widget_meta ul li:last-child,
.widget_meta ol li:last-child,
.widget_recent_comments ul li:last-child,
.widget_recent_comments ol li:last-child,
.widget_nav_menu ul li:last-child,
.widget_nav_menu ol li:last-child,
.widget_block .wp-block-group__inner-container ul li:last-child,
.widget_block .wp-block-group__inner-container ol li:last-child {
  border: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.theme-widget-list .theme-widget-article {
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.theme-widget-list.style_2 .theme-widget-article {
  flex-direction: row-reverse;
}

.theme-widget-list.style_1 .theme-widget-article .entry-image,
.theme-widget-list.style_2 .theme-widget-article .entry-image {
  height: 10rem;
  width: 10rem;
}

.theme-widget-list.style_1 .theme-widget-article .entry-image,
.theme-widget-list.style_2 .theme-widget-article .entry-image {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.theme-widget-list.style_1 .theme-widget-article .entry-details,
.theme-widget-list.style_2 .theme-widget-article .entry-details {
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.theme-widget-list.style_3 .theme-widget-article {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.theme-widget-list .entry-details > h3 {
  margin-bottom: 0.5rem;
}

.wp-block-search__inside-wrapper {
  gap: 1rem;
}

.theme-widget-tab {
  width: 100%;
}

.widget-tab-header {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid;
}

.tab-header-list {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tab-header-list li {
  flex: 1;
  text-align: center;
}

.tab-header-list li button {
  background-color: rgba(0, 0, 0, 0.25);
  border: none;
  display: block;
  padding: 10px;
  text-decoration: none;
  width: 100%;
}

.tab-header-list li.active button,
.tab-header-list li button:hover,
.tab-header-list li button:focus {
  background-color: var(--theme-accent-color);
}

.tab-header-list li .tab-icon {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.tab-header-list li .svg-icon {
  height: 3rem;
  width: 3rem;
}

.widget-tab-content .tab-content-panel {
  display: none;
}

.widget-tab-content .tab-content-panel.active {
  display: block;
}

.theme-author-widget {
  display: grid;
  gap: 2rem;
  max-width: 40rem;
}

.theme-author-widget.has-round-image .author-image {
  border-radius: 100%;
  overflow: hidden;
  width: 20rem;
  height: 20rem;
}

.theme-author-widget.has-round-image .author-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.theme-author-widget .author-social {
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.theme-author-widget .author-social a .svg-icon {
  display: flex;
  width: 3.6rem;
  height: 3.6rem;
  border: 1px solid #dcd7ca;
  padding: 0.5rem;
}

.theme-author-widget .author-social a:hover .svg-icon {
  border-color: var(--theme-accent-color);
  fill: var(--theme-accent-color);
}

.theme-author-widget .author-desc p:last-child {
  margin-bottom: 0;
}

.theme-author-widget.style_2 {
  justify-items: center;
  align-items: center;
  margin: 0 auto;
}

.theme-author-widget.style_2 .author-details {
  display: grid;
  justify-items: center;
  align-items: center;
  text-align: center;
}

.theme-author-widget.style_3 {
  max-width: 100%;
  grid-template-columns: auto 1fr;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .theme-author-widget.style_3 {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .theme-author-widget.style_3 .author-details {
    display: grid;
    justify-items: center;
    align-items: center;
    text-align: center;
  }
}

.portfolioxpress-social-menu-widget.style_1 .social-media-title {
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.portfolioxpress-social-menu-widget ul li a {
  background-color: var(--theme-plain-black);
  color: var(--theme-plain-white);
}

.portfolioxpress-social-menu-widget ul li a[href*="bitbucket.org"] {
  background-color: #205081;
}

.portfolioxpress-social-menu-widget ul li a[href*="dribbble.com"] {
  background-color: #ea4c89;
}

.portfolioxpress-social-menu-widget ul li a[href*="facebook.com"] {
  background-color: #3b5998;
}

.portfolioxpress-social-menu-widget ul li a[href*="skype.com"] {
  background-color: #00aff0;
}

.portfolioxpress-social-menu-widget ul li a[href*="foursquare.com"] {
  background-color: #f94877;
}

.portfolioxpress-social-menu-widget ul li a[href*="github.com"] {
  background-color: #2ea44f;
}

.portfolioxpress-social-menu-widget ul li a[href*="instagram.com"] {
  background-color: #8a3ab9;
}

.portfolioxpress-social-menu-widget ul li a[href*="linkedin.com"] {
  background-color: #0077b5;
}

.portfolioxpress-social-menu-widget ul li a[href*="pinterest.com"] {
  background-color: #e60023;
}

.portfolioxpress-social-menu-widget ul li a[href*="reddit.com"] {
  background-color: #ff4500;
}

.portfolioxpress-social-menu-widget ul li a[href*="slack.com"] {
  background-color: #e01563;
}

.portfolioxpress-social-menu-widget ul li a[href*="snapchat.com"] {
  background-color: #fffc00;
  color: var(--theme-plain-black);
}

.portfolioxpress-social-menu-widget ul li a[href*="tumblr.com"] {
  background-color: #35465c;
}

.portfolioxpress-social-menu-widget ul li a[href*="twitch.tv"] {
  background-color: #9146ff;
}

.portfolioxpress-social-menu-widget ul li a[href*="twitter.com"] {
  background-color: #1da1f2;
}

.portfolioxpress-social-menu-widget ul li a[href*="vimeo.com"] {
  background-color: #1ab7ea;
}

.portfolioxpress-social-menu-widget ul li a[href*="vk.com"] {
  background-color: #45668e;
}

.portfolioxpress-social-menu-widget ul li a[href*="whatsapp.com"] {
  background-color: #075e54;
}

.portfolioxpress-social-menu-widget ul li a[href*="wordpress.org"],
.portfolioxpress-social-menu-widget ul li a[href*="wordpress.com"] {
  background-color: #0087be;
}

.portfolioxpress-social-menu-widget ul li a[href*="yelp.com"] {
  background-color: #c41200;
}

.portfolioxpress-social-menu-widget ul li a[href*="youtube.com"] {
  background-color: #ff0000;
}

.portfolioxpress-social-menu-widget ul li a[href*="mailto"] {
  background-color: #cc0010;
}

.portfolioxpress-social-menu-widget ul li a[href*="spotify.com"] {
  background: #1db954;
}

.portfolioxpress-social-menu-widget ul li a:hover,
.portfolioxpress-social-menu-widget ul li a:focus {
  background-color: var(--theme-plain-black);
  color: var(--theme-plain-white);
}

.portfolioxpress-social-menu-widget.style_1 .portfolioxpress-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.portfolioxpress-social-menu-widget.style_1 .portfolioxpress-social-icons li,
.portfolioxpress-social-menu-widget.style_3 .portfolioxpress-social-icons li {
  text-align: center;
}

.portfolioxpress-social-menu-widget.style_1 .portfolioxpress-social-icons li a,
.portfolioxpress-social-menu-widget.style_3 .portfolioxpress-social-icons li a {
  border-radius: 2px;
  display: flex;
  line-height: 1;
  align-items: center;
  justify-content: center;
}

.portfolioxpress-social-menu-widget.style_1 .portfolioxpress-social-icons li a {
  width: 4rem;
  height: 4rem;
}

.portfolioxpress-social-menu-widget.style_2 .portfolioxpress-social-icons li:not(:last-child) {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}

.portfolioxpress-social-menu-widget.style_2 .portfolioxpress-social-icons li a {
  border-radius: 0.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.5rem;
  width: 100%;
}

.portfolioxpress-social-menu-widget.style_2 .portfolioxpress-social-icons li a .svg-icon {
  order: 1;
}

.portfolioxpress-social-menu-widget.style_2 .portfolioxpress-social-icons li a .social-media-title {
  order: 2;
}

.portfolioxpress-social-menu-widget.style_3 .portfolioxpress-social-icons {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}

.portfolioxpress-social-menu-widget.style_3 .portfolioxpress-social-icons li a {
  height: 7rem;
  flex-direction: column-reverse;
}

.portfolioxpress-social-menu-widget.style_3 .portfolioxpress-social-icons li a .social-media-title {
  font-size: 80%;
  margin: 0.5rem 0;
}

.portfolioxpress-cover-block {
  position: relative;
  background-size: cover;
  background-position: 50%;
  min-height: 20rem;
  background-color: var(--theme-plain-black);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 5rem;
  padding-top: 5rem;
}

.portfolioxpress-block-overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  opacity: 0.5;
  background-color: var(--theme-plain-black);
}

.portfolioxpress-cover-block img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
  object-fit: cover;
  outline: none;
  border: none;
  box-shadow: none;
  z-index: 0;
}

.portfolioxpress-block-inner-wrapper {
  width: 100%;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}

.theme-widgetarea-full {
  color: var(--theme-plain-white);
}

@media (max-width: 1600px) {
  .theme-widgetarea-full {
    padding: 4rem 0;
  }
}

.theme-widgetarea-full a:not(:hover, :focus) {
  color: inherit;
}

@media only screen and (min-width: 482px) {
  .theme-widgetarea-full .portfolioxpress-block-inner-wrapper {
    max-width: calc(100vw - 10rem);
  }
}

@media only screen and (min-width: 992px) {
  .theme-widgetarea-full .portfolioxpress-cover-block {
    padding-bottom: 10rem;
    padding-top: 10rem;
  }

  .theme-widgetarea-full .portfolioxpress-mailchimp-widget.style_1 .portfolioxpress-mailchimp-inner-wrapper {
    max-width: min(calc(100vw - 20rem), 72rem);
  }

  .theme-widgetarea-full .portfolioxpress-mailchimp-widget.style_2 .portfolioxpress-mailchimp-inner-wrapper {
    display: flex;
    justify-content: space-between;
  }

  .mailchimp-content-group_1,
  .mailchimp-content-group_2 {
    flex: 1;
  }

  .theme-widgetarea-full .portfolioxpress-mailchimp-widget.style_2 .portfolioxpress-mailchimp-inner-wrapper {
    max-width: min(calc(100vw - 20rem), 124rem);
  }
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1rem;
}

.gallery-item {
  display: inline-block;
  margin: 0;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/* Footer
--------------------------------------------- */
.site-recommendation > div,
.site-recommendation article {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.site-recommendation > div {
  height: 100%;
}

.site-recommendation article {
  position: relative;
  width: 50%;
  height: calc(100% / 2);
  flex-direction: column;
  text-align: center;
  background-color: #cecece;
}

@media (max-width: 767px) {
  .site-recommendation article {
    width: 100%;
  }
}

.site-recommendation .theme-article-detail {
  position: relative;
  color: var(--theme-plain-white);
  padding: 0 4rem;
  z-index: 15;
}

.site-recommendation .theme-article-detail a:not(:hover, :focus) {
  color: inherit;
}

.site-recommendation .entry-image {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
}

.site-recommendation .entry-image::before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 10;
}

.site-recommendation .entry-image .featured-media,
.site-recommendation .entry-image a,
.site-recommendation .entry-image img {
  height: 100%;
}

.site-recommendation .entry-image img {
  object-fit: cover;
}

.theme-widgetarea-full {
  border-top: 1px solid;
}

.theme-widgetarea-full > .widget,
.theme-widgetarea-full > .widget > .widget-content,
.theme-widgetarea-full > .widget > .widget-content > div {
  height: 100%;
}

.site-footer {
  border-top: 1px solid;
  padding-bottom: 6rem;
  padding-top: 6rem;
  position: relative;
  margin-right: 0;
  color: var(--theme-plain-white);
  background-color: var(--theme-background-color);
  transition: 0.4s;
}

.site-footer.fp-section {
  justify-content: flex-start;
}

.site-footer.fp-section .fp-overflow {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.site-footer.fp-section .theme-footer-top {
  margin-top: auto;
  margin-bottom: auto;
}

.site-footer.fp-section .theme-footer-bottom {
  margin-bottom: 0;
  margin-top: auto;
}

@media (max-width: 575px) {
  .site-footer {
    padding: 1.6rem;
  }
}

.site-footer a:not(:hover, :focus) {
  color: inherit;
}

.site-footer .column-row {
  margin: 0;
}

.footer-has-overlay::before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.site-footer.data-bg.footer-has-overlay,
.site-footer.data-bg.footer-has-overlay a,
.site-footer.data-bg.footer-has-overlay .svg-icon {
  color: var(--theme-plain-white);
}

.footer-has-overlay > .wrapper {
  position: relative;
  z-index: 1;
}

.theme-footer-top .tab-header-list li.active a,
.theme-footer-top .tab-header-list li a:hover {
  color: var(--theme-plain-white);
  background-color: var(--theme-accent-color);
}

@media screen and (min-width: 1200px) {

  .has-sticky-footer .site,
  .has-sticky-footer .site .site-content-area {
    background-color: inherit;
  }

  .has-sticky-footer .site-content-area {
    position: relative;
  }

  .has-sticky-footer:not(.portfolioxpress-search-canvas-open) .site-content-area {
    z-index: 1;
  }

  .site-footer[data-sticky-footer="true"] {
    position: fixed;
    bottom: 0;
    right: 0;
    width: calc(100% - var(--grid-width));
    opacity: 0;
    visibility: hidden;
    z-index: 0;
  }

  .site-footer[data-sticky-footer="true"].has-footer-stuck {
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (max-width: 1199px) {
  .sticky-footer-spacer {
    display: none !important;
    height: 0 !important;
  }
}

.theme-footer-top,
.theme-footer-bottom {
  position: relative;
}

.site-footer-social-menu {
  border-bottom: 0.1rem solid;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}

.theme-footer-bottom {
  border-top: 0.1rem solid;
  margin-top: 3rem;
  padding-top: 3rem;
}

.footer-has-overlay .theme-footer-bottom,
.footer-has-overlay .site-footer-social-menu {
  border-color: var(--theme-plain-white);
}

.site-footer .theme-social-navigation {
  justify-content: center;
}

.site-footer .theme-social-navigation li {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.site-footer .theme-social-navigation li a {
  display: -ms-flexbox;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.2rem;
}

#theme-scroll-to-start {
  display: none;
  position: fixed;
  right: 4rem;
  bottom: 6rem;
  font-size: 40px;
  cursor: pointer;
  z-index: 20;
}

#theme-scroll-to-start.visible {
  display: inline-block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.skip-link.screen-reader-text:focus {
  background-color: #eee;
  color: #444;
  font-size: 1.6rem;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  text-align: left;
  margin-top: 0;
}

.no-sidebar .entry-content > .alignleft {
  max-width: min(calc(100vw - 20rem), 68rem);
}

@media only screen and (min-width: 482px) {
  .alignleft {
    /*rtl:ignore*/
    float: left;
    /*rtl:ignore*/
    margin-right: 2.5rem;
    margin-bottom: 3rem;
  }

  .no-sidebar .entry-content > .alignleft {
    max-width: calc(50% - calc(0.5 * (100vw - min(calc(100vw - 20rem), 68rem))));
  }
}

.aligncenter {
  clear: both;
  display: block;
  float: none;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.alignright {
  margin-top: 0;
  margin-bottom: 3rem;
}

.no-sidebar .entry-content > .alignright {
  max-width: min(calc(100vw - 20rem), 68rem);
}

@media only screen and (min-width: 482px) {
  .alignright {
    /*rtl:ignore*/
    float: right;
    /*rtl:ignore*/
    margin-left: 2.5rem;
  }

  .no-sidebar .entry-content > .alignright {
    max-width: calc(50% - calc(0.5 * (100vw - min(calc(100vw - 20rem), 68rem))));
  }
}

[class*="inner-container"] > .alignleft + *,
[class*="inner-container"] > .alignright + * {
  margin-top: 0;
}

input,
textarea,
.single-comments-area,
.single-comments-area:before,
.single-comments-area li.comment .children li:before,
.single-comments-area li.pingback .children li:before,
.single-comments-area li.trackback .children li:before,
.portfolioxpress-popular,
.site-recommendation,
.theme-widgetarea-full,
.site-footer,
.theme-footer-bottom,
.site-footer-social-menu,
.portfolioxpress-archive_style_1 > article,
.has-sidebar .site #site-content #secondary,
#site-content #secondary .widget,
.widget_recent_entries ul li,
.widget_recent_entries ol li,
.widget_categories ul li,
.widget_categories ol li,
.widget_archive ul li,
.widget_archive ol li,
.widget_meta ul li,
.widget_meta ol li,
.widget_recent_comments ul li,
.widget_recent_comments ol li,
.widget_nav_menu ul li,
.widget_nav_menu ol li,
.widget_block .wp-block-group__inner-container ul li,
.widget_block .wp-block-group__inner-container ol li,
.wp-block-tag-cloud.is-style-outline a,
.wp-block-search__input,
.widget-tab-header {
  border-color: rgba(0, 0, 0, 0.1);
}

.theme-offcanvas-header,
.theme-offcanvas-menu li {
  border-color: rgba(255, 255, 255, 0.1);
}

.welcome-screen-banner {
  background: var(--theme-plain-white);
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  text-align: center;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -ms-transition: all 0.6s ease;
  transition: all 0.6s ease;
}

.welcome-screen-banner.welcome-screen-vanished {
  transform: translateY(-100%);
  -o-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  z-index: -1;
}

.welcome-screen-banner img {
  object-fit: cover;
}

.welcome-screen-banner .welcome-banner-full-viewport img {
  width: 100vw;
  height: 100vh;
}

.welcome-screen-banner .welcome-banner-default,
.welcome-screen-banner .welcome-banner-default .welcome-screen-header,
.welcome-screen-banner .welcome-banner-default .welcome-screen-image {
  display: flex;
}

.welcome-screen-banner .welcome-banner-default {
  height: 100vh;
  flex-direction: column;
  justify-content: center;
  background-color: var(--plain-white);
  width: 100%;
  max-width: 100rem;
  margin: 0 auto;
}

@media only screen and (min-width: 482px) {
  .welcome-screen-banner .welcome-banner-default {
    max-width: 30rem;
  }
}

@media only screen and (min-width: 768px) {
  .welcome-screen-banner .welcome-banner-default {
    max-width: 70rem;
  }
}

@media only screen and (min-width: 992px) {
  .welcome-screen-banner .welcome-banner-default {
    max-width: 80rem;
  }
}

.welcome-screen-banner .welcome-banner-default .welcome-screen-image img {
  height: 100%;
  width: 100%;
}

.welcome-screen-banner .welcome-banner-default .welcome-screen-header {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}

.welcome-screen-banner .welcome-banner-default .welcome-screen-header .welcome-screen-title {
  font-weight: 700;
}

.welcome-screen-banner .welcome-banner-default .welcome-screen-header .welcome-screen-skip {
  padding: 0.3rem 1.5rem;
  border-radius: 2rem;
  text-transform: capitalize;
}

.welcome-screen-banner .welcome-banner-contained {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}

.welcome-screen-banner .welcome-banner-contained .welcome-screen-header {
  order: 2;
}

.welcome-screen-banner .welcome-banner-full-viewport .welcome-screen-cursor {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6rem;
  width: 2rem;
  margin: 0 auto;
  z-index: 100;
  background: none;
  border: none;
}

.mouse-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.mouse-icon {
  height: 35px;
  width: 22px;
  border-radius: 12px;
  border: 2px solid var(--theme-accent-color);
  position: relative;
}

.mouse-icon:after {
  content: "";
  height: 5px;
  width: 3px;
  display: block;
  margin: 5px auto;
  border: 2px solid var(--theme-accent-color);
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -webkit-animation: mouse-wheel 0.6s linear infinite;
  -moz-animation: mouse-wheel 0.6s linear infinite;
}

.mouse-arrow {
  display: block;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right: 2px solid var(--theme-accent-color);
  border-bottom: 2px solid var(--theme-accent-color);
  margin: 2px 0 3px 6px;
  width: 8px;
  height: 8px;
  -webkit-animation: mouse-scroll 1s infinite;
  -moz-animation: mouse-scroll 1s infinite;
  -webkit-animation-delay: 100ms;
  -moz-animation-delay: 100ms;
  -webkit-animation-direction: alternate;
}

.mouse-arrow:after,
.mouse-arrow:before {
  position: absolute;
  content: "";
  display: block;
  border-right: 2px solid var(--theme-accent-color);
  border-bottom: 2px solid var(--theme-accent-color);
  width: 8px;
  height: 8px;
  -webkit-animation: mouse-scroll 1s infinite;
  -moz-animation: mouse-scroll 1s infinite;
}

.mouse-arrow:after {
  margin: 7px 0 3px 7px;
  -webkit-animation-delay: 200ms;
  -moz-animation-delay: 200ms;
  -webkit-animation-direction: alternate;
}

.mouse-arrow:before {
  margin: 14px 0 3px 14px;
  -webkit-animation-delay: 300ms;
  -moz-animation-delay: 300ms;
  -webkit-animation-direction: alternate;
}

@-webkit-keyframes mouse-wheel {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
    transform: translateY(6px);
  }
}

@-webkit-keyframes mouse-scroll {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0.5;
  }

  100% {
    opacity: 1;
  }
}

/* Plugin Support
--------------------------------------------- */
.elementor-html .theme-preloader {
  display: none;
}

.mc4wp-form .mc4wp-alert {
  color: #5bc0de;
  font-size: 13px;
}

.mc4wp-form .mc4wp-error {
  color: #d9534f;
}

.mc4wp-form .mc4wp-success {
  color: #5cb85c;
}

.mc4wp-form label {
  font-size: 1.2rem;
  display: block;
  font-weight: 400;
  margin-bottom: 0;
}

.mc4wp-form input[type="email"] {
  border: 1px solid #ddd;
  margin-bottom: 0;
  width: 100%;
}

.mc4wp-form input[type="email"]::-webkit-input-placeholder {
  color: gray;
  font-size: 1.4rem;
}

.mc4wp-form input[type="email"]:-moz-placeholder {
  color: gray;
  font-size: 1.4rem;
}

.mc4wp-form input[type="email"]::-moz-placeholder {
  color: gray;
  font-size: 1.4rem;
}

.mc4wp-form input[type="email"]:-ms-input-placeholder {
  color: gray;
  font-size: 1.4rem;
}

/* Single page */
.nav-links {
  background: rgba(0, 0, 0, 0.03);
  display: flex;
  gap: 3rem;
  margin-top: 2rem;
  position: relative;
}

.navigation .nav-links > div {
  width: 50%;
  padding: 2rem;
}

.nav-subtitle {
  display: block;
  font-weight: 600;
  font-size: 1.4rem;
}

.nav-title {
  font-weight: 800;
  font-size: var(--theme-font-size-small);
}

/* 404 Page */
.error-404 .search-form {
  display: flex;
  flex-wrap: nowrap;
}

.error-404 .search-form > label {
  margin: 0;
}

.error-404 .search-field {
  height: 100%;
}

/* common css  */
.theme-article-excerpt p {
  margin: 0;
}

.header-title-center {
  text-align: center;
  margin-bottom: 4.8rem;
}

.theme-article-excerpt {
  font-size: 2rem;
  line-height: 1.6;
}

.line-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-2 {
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  -webkit-line-clamp: 3;
}

.self-end {
  align-self: end;
}

.article-content-overlay article {
  position: relative;
}

.article-content-overlay article::before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.article-content-overlay .popular-block-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.6rem;
  color: var(--theme-plain-white);
  z-index: 2;
}

.article-content-overlay .popular-block-content a:not(:hover, :focus) {
  color: inherit;
}

.main-content-container {
  height: 100vh;
}

.section.fp-section {
  color: var(--theme-plain-white);
  background-color: var(--theme-background-color);
}

.theme-primary-btn,
.theme-secondary-btn {
  border: 2px solid var(--theme-accent-color);
  border-radius: 0.5rem;
  color: var(--theme-plain-white);
  font-size: 2rem;
  padding: 1.5rem 3rem;
}

.theme-primary-btn {
  margin-right: 1.6rem;
  background-color: var(--theme-accent-color);
}

.theme-primary-btn:where(:hover, :focus),
.theme-secondary-btn:where(:hover, :focus) {
  color: var(--theme-plain-white) !important;
  background-color: var(--theme-accent-hover-color);
  border-color: var(--theme-accent-hover-color);
}

@media (max-width: 575px) {

  .theme-primary-btn,
  .theme-secondary-btn {
    display: block;
    margin: 2rem auto;
    width: 100%;
  }
}

.theme-section-image,
.theme-section-image::before {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
}

.theme-section-image::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 10;
}

.theme-section-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.page-template-front-page-template .main-content-container :where(.wrapper, .wrapper-fluid) {
  position: relative;
  z-index: 15;
}

/* about us  */
@media (max-width: 1024px) {
  .portfolioxpress-about-us {
    padding: 4rem 0;
  }
}

.portfolioxpress-about-us a:not(:hover, :focus) {
  color: inherit;
}

@media (min-width: 992px) {
  .portfolioxpress-about-us > .fp-overflow {
    overflow-y: inherit;
  }
}

.about-us-image {
  position: relative;
}

@media (min-width: 576px) {
  .about-us-image::before {
    position: absolute;
    content: "";
    top: -4rem;
    left: 4rem;
    right: -4rem;
    bottom: 4rem;
    height: 100%;
    width: 100%;
    border: 2px solid var(--theme-accent-color);
    z-index: 1;
  }
}

.portfolioxpress-about-us img {
  position: relative;
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: 2;
}

@media (max-width: 991px) {
  .portfolioxpress-about-us .portfolioxpress-body {
    margin-bottom: 9.6rem;
  }
}

.portfolioxpress-about-us .portfolioxpress-body {
  margin-bottom: 5.6rem;
}

.portfolioxpress-about-us .portfolioxpress-footer .font-size-small {
  text-transform: uppercase;
}

.companies-worked-with img {
  height: 8rem;
  object-fit: contain;
  max-width: 16rem;
}

@media (max-width: 991px) {
  .portfolioxpress-about-us .portfolioxpress-footer {
    margin-bottom: 8rem;
  }
}

@media (max-width: 575px) {
  .portfolioxpress-about-us .portfolioxpress-footer {
    margin-bottom: 4rem;
  }
}

/* testimonial  */
.testimonial-content-container {
  padding: 8rem 0;
}

.testimonial-content-container .swiper-pagination {
  bottom: 0;
}

.testimonial-content-container .swiper-pagination .swiper-pagination-bullet {
  background: var(--theme-plain-white);
}

.portfolioxpress-testimonial-content {
  position: relative;
  padding: 3.2rem 2.4rem;
  min-height: 32rem;
  background-color: #262626;
  box-shadow: 0 0.3rem 1.4rem 0.3rem rgba(0, 0, 0, 0.6);
  border-radius: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (min-width: 1600px) {
  .portfolioxpress-testimonial-content {
    padding: 8rem 2.4rem;
  }
}

.portfolioxpress-testimonial-image {
  position: absolute;
  top: -4rem;
  left: 50%;
  translate: -50% 0;
  height: 12rem;
  width: 12rem;
  z-index: 15;
}

@media (min-width: 1600px) {
  .portfolioxpress-testimonial-image {
    top: -8rem;
    height: 16rem;
    width: 16rem;
  }
}

.portfolioxpress-testimonial-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.portfolioxpress-testimonial-excerpt p {
  margin: 0;
  font-size: var(--theme-font-size-medium);
  line-height: calc(var(--theme-font-size-medium) * 1.2);
}

.portfolioxpress-testimonial-detail h2 {
  font-size: 1.4rem;
  line-height: calc(1.4rem * 1.2);
}

.portfolioxpress-testimonial-detail > svg {
  background-color: transparent;
  height: 6rem;
  width: 6rem;
}

.portfolioxpress-testimonial .swiper-pagination {
  bottom: 0;
}

.portfolioxpress-testimonial .swiper-pagination-bullet {
  height: 0.4rem;
  width: 2.8rem;
  border-radius: 0;
}

/* gallery  */
@media (min-width: 576px) {
  .gallery-image-container {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 240px);
  }
}

@media (max-width: 1400px) {
  .gallery-image-container {
    grid-template-rows: repeat(4, 240px);
  }
}

@media (max-width: 575px) {
  .portfolioxpress-gallery-image {
    height: 240px;
  }

  .portfolioxpress-gallery-image:not(:last-child) {
    margin-bottom: 0.8rem;
  }
}

.portfolioxpress-gallery-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
}

@media (min-width: 576px) {
  .gallery-image-container .portfolioxpress-gallery-image:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(2) {
    grid-column: 3 / 5;
    grid-row: 1 / 2;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(3) {
    grid-column: 3 / 5;
    grid-row: 2 / 3;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(4) {
    grid-column: 5 / 7;
    grid-row: 1 / 3;
  }
}

@media (min-width: 576px) and (max-width: 1400px) {
  .gallery-image-container .portfolioxpress-gallery-image:first-child {
    grid-column: 1 / 5;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(2) {
    grid-column: 5 / 9;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(3) {
    grid-column: 5 / 9;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(4) {
    grid-column: 9 / -1;
  }
}

@media (min-width: 576px) {
  .gallery-image-container .portfolioxpress-gallery-image:nth-child(5) {
    grid-column: 7 / 9;
    grid-row: 1 / 2;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(6) {
    grid-column: 7 / 9;
    grid-row: 2 / 3;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(7) {
    grid-column: 9 / 11;
    grid-row: 1 / 3;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(8) {
    grid-column: 11 / -1;
    grid-row: 1 / 2;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(9) {
    grid-column: 11 / -1;
    grid-row: 2 / 3;
  }
}

@media (min-width: 576px) and (max-width: 1400px) {
  .gallery-image-container .portfolioxpress-gallery-image:nth-child(5) {
    grid-column: 1 / 5;
    grid-row: 3 / 4;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(6) {
    grid-column: 1 / 5;
    grid-row: 4 / 5;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(7) {
    grid-column: 5 / 9;
    grid-row: 3 / 5;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(8) {
    grid-column: 9 / -1;
    grid-row: 3 / 4;
  }

  .gallery-image-container .portfolioxpress-gallery-image:nth-child(9) {
    grid-column: 9 / -1;
    grid-row: 4 / 5;
  }
}

.portfolioxpress-gallery-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--theme-plain-black);
  opacity: 0;
  visibility: hidden;
  z-index: 100;
  transition: 0.4s ease;
}

.portfolioxpress-gallery-popup.active {
  opacity: 1;
  visibility: visible;
}

.portfolioxpress-gallery-popup img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 80%;
  max-width: 80%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .portfolioxpress-gallery-popup img {
    max-height: 72%;
    max-width: 72%;
  }
}

@media (max-width: 575px) {
  .portfolioxpress-gallery-popup img {
    max-height: 56%;
  }
}

.portfolioxpress-gallery-popup > svg {
  position: absolute;
  top: 4rem;
  right: 4rem;
  z-index: 101;
  height: 4rem;
  width: 4rem;
  fill: var(--theme-plain-white);
  cursor: pointer;
}

.portfolioxpress-gallery-next,
.portfolioxpress-gallery-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 101;
  background-color: var(--theme-plain-white);
  color: var(--plain-black);
  font-size: var(--font-size-small);
  padding: 0.8rem 1.6rem;
}

@media (max-width: 575px) {

  .portfolioxpress-gallery-next,
  .portfolioxpress-gallery-prev {
    padding: 0.8rem;
  }
}

.portfolioxpress-gallery-next {
  right: 4%;
}

.portfolioxpress-gallery-prev {
  left: 4%;
}

@media (max-width: 575px) {
  .portfolioxpress-gallery-next {
    right: 2%;
  }

  .portfolioxpress-gallery-prev {
    left: 2%;
  }
}

/* popular slider  */
.theme-popular-slider {
  padding-bottom: 4rem;
}

.theme-popular-slider .swiper-pagination {
  bottom: 0;
}

.search #site-content #primary > .page-header {
  margin-bottom: 3.2rem;
}

@media (min-width: 1401px) {
  .aside-widget-content {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
  }
}

/* our service  */
@media (min-width: 1600px) {
  .portfolioxpress-service-block .column-row > .column:first-child h2 {
    font-size: var(--theme-font-size-large);
    line-height: calc(var(--theme-font-size-large) * 1.4);
  }
}

@media (max-width: 767px) {
  .portfolioxpress-service-block {
    padding: 4rem 0;
  }
}

.portfolioxpress-service-block .column-row > .column:first-child .our-service-item {
  background-color: transparent;
}

@media (max-width: 767px) {
  .portfolioxpress-service-block .column-row > .column:first-child .our-service-item {
    padding: 0 1.6rem;
    min-height: auto;
  }
}

.our-service-item {
  padding: 4rem 3.2rem;
  background-color: #222222;
  height: 100%;
  min-height: 24rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

@media (max-width: 1400px) {
  .our-service-item {
    padding: 1.6rem;
  }
}

.our-service-item a:not(:hover, :focus) {
  color: inherit;
}

.our-service-item svg {
  height: 4rem;
  width: 4rem;
  margin-bottom: 0.8rem;
}

.portfolioxpress-service-block .column-row > .column:first-child ~ .column .font-size-medium {
  font-weight: 700;
}

/* project  */
.portfolioxpress-popular a:not(:hover, :focus) {
  color: inherit;
}

.portfolioxpress-popular .swiper-pagination-bullet {
  background: var(--theme-plain-white);
}

.portfolioxpress-popular article {
  position: relative;
}

.portfolioxpress-popular .entry-image::before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.portfolioxpress-popular .swiper-slide-active .entry-image::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(70%, rgba(0, 0, 0, 0.9)));
  background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 70%);
  background-color: transparent;
}

.portfolioxpress-popular .featured-media,
.portfolioxpress-popular .featured-media a,
.portfolioxpress-popular img {
  height: 100%;
}

.portfolioxpress-popular img {
  object-fit: cover;
}

.portfolioxpress-popular .portfolio-block-content {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.4rem;
  text-align: center;
  height: auto;
  width: auto;
  z-index: 2;
}

.portfolioxpress-popular .swiper-slide-active .portfolio-block-content {
  display: block;
}

.portfolioxpress-popular .swiper-pagination {
  bottom: 0;
}

.portfolioxpress-popular-container {
  padding-bottom: 4rem;
}

/* contact us  */
.portfolioxpress-contact form > p:not(:last-of-type) input,
.portfolioxpress-contact form > p textarea {
  color: var(--theme-plain-white);
  background-color: #3e3e3e;
}

.portfolioxpress-contact-image {
  position: relative;
}

@media (max-width: 991px) {
  .portfolioxpress-contact-image {
    margin-bottom: 2.4rem;
  }
}

.portfolioxpress-contact-image::before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.portfolioxpress-contact-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.contact-social-links .portfolioxpress-social-icons {
  position: absolute;
  bottom: 5.6rem;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  z-index: 2;
}

.contact-social-links .portfolioxpress-social-icons a {
  height: 4rem;
  width: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f2f4f7;
}

.contact-social-links .portfolioxpress-social-icons svg {
  height: 2.4rem;
  width: 2.4rem;
}

.contact-social-links .portfolioxpress-social-icons .social-media-title {
  display: none;
}

.portfolioxpress-contact-form {
  max-width: 600px;
  margin: 0 auto;
}

@media (max-width: 991px) {
  .portfolioxpress-contact-form {
    max-width: 100%;
  }
}

.portfolioxpress-contact-form > p {
  margin-top: 0;
  margin-bottom: 2.4rem;
}

.portfolioxpress-contact label > span {
  display: inline-block;
  width: 100%;
  margin-top: 0.8rem;
}

.fp-watermark {
  display: none;
}

/* page header  */
.page-header {
  position: relative;
  color: var(--theme-plain-white);
  background-color: var(--theme-background-color);
}

.page-header .wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: auto;
  width: 100%;
  text-align: center;
}

.portfolioxpress-nav-pagination {
  display: none;
}

.pagination-active .portfolioxpress-nav-pagination {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4rem;
  text-align: center;
  z-index: 100;
}

.portfolioxpress-nav-pagination a {
  color: var(--theme-plain-black);
  background-color: var(--theme-plain-white);
  padding: 0.8rem 1.6rem;
}

.portfolioxpress-nav-pagination a:not(:hover, :focus) {
  color: inherit;
}

/* 404 */
.error-404 {
  height: 40rem;
  padding-top: 4rem;
  margin-top: 4rem;
}

.error-404 .page-header,
.content-null .page-header,
.search-no-results .page-header {
  background-color: transparent;
}

.error-404 .page-header .page-title,
.content-null .page-header .page-title,
.search-no-results .page-header {
  position: relative;
  inset: 0;
  translate: 0;
  color: var(--theme-plain-black);
}

.content-null #site-content {
  padding: 4rem 0;
}

.search-no-results .archive-title {
  font-size: var(--theme-font-size-big);
  line-height: calc(var(--theme-font-size-big) * 1.4);
}

.fp-overflow::-webkit-scrollbar {
  display: none;
}

.fp-overflow {
  scrollbar-width: 0;
}

.portfolioxpress-load-posts-btn-wrapper {
  position: relative;
  margin-top: 6rem;
}

.portfolioxpress-load-posts-btn-wrapper > hr {
  border: 0;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  margin-top: 4rem;
  margin-bottom: 2rem;
}

.portfolioxpress-load-posts-btn-wrapper > .ajax-viewmore-link {
  background: none;
  display: block;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ajax-viewmore-link .load-btn {
  padding: 1rem 4rem;
}

.ajax-viewmore-link .portfolioxpress-ajax-loader {
  width: 2rem;
  height: 2rem;
  border: 5px solid var(--theme-accent-color);
  border-bottom-color: #FF3D00;
  border-radius: 50%;
  display: none;
  visibility: hidden;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  position: absolute;
  top: calc(50% - 1rem);
  left: 1rem;
  z-index: 1;
}

.ajax-viewmore-link .portfolioxpress-ajax-loader.active {
  display: inline-block;
  visibility: visible;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.no-sidebar.single #primary > article .entry-header {
  text-align: center;
}

#theme-toggle-search-button {
  display: none;
}

.search-enable #theme-toggle-search-button {
  display: inline-block;
}

.search-no-results #primary .portfolioxpress-article-wrapper {
  margin: 4rem 0;
}

.entry-header-center #site-content .portfolioxpress-article-wrapper article .entry-header {
  text-align: center;
}

.entry-header-center #site-content .portfolioxpress-article-wrapper article .portfolioxpress-entry-meta {
  justify-content: center;
}

.entry-header-right #site-content .portfolioxpress-article-wrapper article .entry-header {
  text-align: right;
}

.entry-header-right #site-content .portfolioxpress-article-wrapper article .portfolioxpress-entry-meta {
  justify-content: flex-end;
}

body #fp-nav ul li a span,
body .fp-slidesNav ul li a span {
  background-color: #fff;
}