/* ------------------------------------------------
 - Variables
 - General Styles
 - Preloader
 - Typography
 - Form
 - Table
 - Button
 - Sidebar
 - Sections
 - Navbar
 - Popup
 - Cases
 - Clients
 - Contact
 - Portfolio
 - Posts
 - Single post
 - Single project
 - Testimonials
 - Timeline
 - Footer
 - Other
 - 404
------------------------------------------------ */
:root {
  --font-family: 'Poppins', sans-serif;
  --font-base-size: 15px;
  --font-mobile-size: calc(var(--font-base-size) - 1px);
	--heading--font-size-h1: calc(var(--font-base-size) + 17px);
  --heading--font-size-h2: calc(var(--font-base-size) + 9px);
  --heading--font-size-h3: calc(var(--font-base-size) + 3px);
  --heading--font-size-h4: calc(var(--font-base-size) + 1px);
  --heading--font-size-h5: calc(var(--font-base-size) - 1px);
  --heading--font-size-h6: calc(var(--font-base-size) - 3px);
  --heading--font-mobile-size-h1: 24px;
  --heading--font-mobile-size-h2: 18px;
  --heading--font-mobile-size-h3: 16px;
  --heading--font-mobile-size-h4: 14px;
  --heading--font-mobile-size-h5: 12px;
  --heading--font-mobile-size-h6: 10px;
  --color-heading: #FCFCFC;
  --color-overhead: #9C9C9C;
  --color-paragraph: #D6D6D6;
  --color-border: #383838;
  --color-bg: #121212;
  --color-surface-1: #1e1e1f;
  --color-surface-2: #2a2a2b;
  --color-surface-3: #202021;
  --color-accent: #FFDB6E;
  --color-error: #B84C4C;
  --color-sticky: #db503e;
  --color-gradient: linear-gradient(137.84deg, #FFDB6E 26.31%, #FFBC5E 93.75%);
  --color-gradient-soft: linear-gradient(135deg, rgba(255, 218, 109, 0.0375) 0%, rgba(255, 189, 94, 0) 100%), #1E1E1F;
  --color-gradient-text: linear-gradient(90deg, #FFDB6E, #FFBC5E);
  --color-gradient-border: linear-gradient(155deg, #FFDA6D 0%, rgba(255, 191, 96, 0) 50%);
  --color-gradient-border-gray: linear-gradient(135deg, #404040 0%, rgba(64, 64, 64, 0) 48.44%);
  --color-gradient-gray: linear-gradient(137.84deg, #3F3F40 2.69%, #303030 93.75%);
  --color-gradient-icon: linear-gradient(135deg, rgba(255, 218, 109, 0.25) 0%, rgba(255, 189, 94, 0) 59.86%), #202021;
  --color-btn: linear-gradient(135deg, rgba(45, 45, 46, 0.25) 0%, rgba(27, 27, 28, 0) 100%), #202021;
  --color-case-icon: invert(92%) sepia(85%) saturate(652%) hue-rotate(319deg) brightness(102%) contrast(101%);
  --box-shadow-24: -4px 8px 24px rgba(0, 0, 0, 0.25);
  --box-shadow-30: 0px 16px 30px rgba(0, 0, 0, 0.25);
  --box-shadow-40: 0px 16px 40px rgba(0, 0, 0, 0.25);
  --box-shadow-50: 0px 25px 50px rgba(0, 0, 0, 0.15);
  --box-shadow-80: 0px 24px 80px rgba(0, 0, 0, 0.7);
  --submenu-shadow: 0 12px 48px -8px rgba(0, 0, 0, 0.7), 0 0 1px rgba(0, 0, 0, 0.3);
  --radius-32: 32px;
  --radius-20: 20px;
  --radius-18: 18px;
  --radius-16: 16px;
  --radius-14: 14px;
  --radius-12: 12px;
  --radius-8: 8px;
}

/* -----------------------------------------------------------------
    - General Styles
----------------------------------------------------------------- */
*,
::before,
::after {
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-overflow-scrolling: touch;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body,
html {
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--color-bg);
  color: var(--color-paragraph);
  font-family: var(--font-family);
  font-size: var(--font-base-size);
  font-weight: 300;
  line-height: 1.65;
  min-height: 100vh;
  overflow-x: hidden;
  word-wrap: break-word;
  -ms-overflow-style: scrollbar;
  -webkit-font-smoothing: antialiased;
}

@media only screen and (max-width: 992px) {
  body.admin-bar {
    padding-top: 32px;
  }
}
@media screen and (max-width: 782px) {
  body.admin-bar {
    padding-top: 0;
  }	
}

@media only screen and (max-width: 580px) {
  body {
    font-size: var(--font-mobile-size);
    line-height: 1.6;
  }
}

html.is-scroll-disabled body {
  height: 100vh;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  html.is-scroll-disabled {
    overflow: hidden;
  }
}

.no-scroll {
  overflow: hidden;
  -ms-overflow-style: none;
}

.no-scroll-height {
  overflow-x: hidden;
}

.svg-defs {
  position: absolute;
  height: 0;
  width: 0;
}

img {
  height: auto;
  max-width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

figure {
  margin: 0;
}

embed,
iframe,
object,
video {
  max-width: 100%;
}

pre {
  font-family: "Courier 10 Pitch", courier, monospace;
  color: var(--color-paragraph);
  line-height: 1.6;
  background: var(--color-bg);
  margin-bottom: 1.6rem;
  max-width: 100%;
  overflow: auto;
  padding: 1.6rem;
}

pre.wp-block-preformatted {
  overflow-x: auto;
  white-space: pre;
}

.cover {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  height: 100% !important;
  width: 100%;
}

::-moz-selection {
  background: transparent;
  color: var(--color-accent);
}

::selection {
  background: transparent;
  color: var(--color-accent);
}

.scroll-line {
  background: var(--color-gradient);
  height: 0.1875rem;
  position: fixed;
  top: 0;
  width: 0;
  z-index: 12;
}

.bg-triangles {
  background-image: url(../images/triangles-top.svg), url(../images/triangles-bottom.svg);
  background-position: left top, right bottom;
  background-repeat: no-repeat;
  background-size: inherit;
}
@media only screen and (max-width: 580px) {
  .bg-triangles {
    background-size: contain;
  }
}

/* -----------------------------------------------------------------
    - Preloader
----------------------------------------------------------------- */
.preloader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: center;
  z-index: 1106;
  opacity: 1;
}

.preloader > * {
  min-width: 0;
}

.preloader__wrap {
  width: 100%;
  max-width: 9.375rem;
}

.preloader__progress {
  background: #fff;
  height: 0.125rem;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
}

.preloader__progress span {
  background: var(--color-accent);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
}

.circle-pulse > * {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  box-sizing: border-box;
  transform: scale(0);
  animation: pulse 1.6s linear infinite;
}

.circle-pulse__1 {
  width: 6rem;
  height: 6rem;
  margin-top: -3rem;
  margin-left: -3rem;
  background-color: var(--color-accent);
}

.circle-pulse__2 {
  width: 4.8rem;
  height: 4.8rem;
  margin-top: -2.4rem;
  margin-left: -2.4rem;
  background-color: var(--color-accent);
  animation-delay: -0.8s;
}

@keyframes pulse {
  0% {
    transform: scale(0, 0);
    opacity: 1;
  }
  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}

/* -----------------------------------------------------------------
    - Typography
----------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.3;
  word-break: break-word;
}

h1 {
  font-size: var(--heading--font-size-h1);
}

@media only screen and (max-width: 580px) {
  h1 {
    font-size: var(--heading--font-mobile-size-h1);
  }
}

h2 {
  font-size: var(--heading--font-size-h2);
}

@media only screen and (max-width: 580px) {
  .h2 {
    font-size: var(--heading--font-mobile-size-h2);
  }
}

h3 {
  font-size: var(--heading--font-size-h3);
}

@media only screen and (max-width: 580px) {
  h3 {
    font-size: var(--heading--font-mobile-size-h3);
  }
}

h4 {
  font-size: var(--heading--font-size-h4);
  font-weight: 500;
}

@media only screen and (max-width: 580px) {
  h4 {
    font-size: var(--heading--font-mobile-size-h4);
  }
}

h5 {
  font-size: var(--heading--font-size-h5);
}

@media only screen and (max-width: 580px) {
  h5 {
    font-size: var(--heading--font-mobile-size-h5);
  }
}

h6 {
  font-size: var(--heading--font-size-h6);
}

@media only screen and (max-width: 580px) {
  h6 {
    font-size: var(--heading--font-mobile-size-h6);
  }
}

b,
strong {
  font-weight: 600;
  color: var(--color-heading);
}

code,
kbd,
samp {
  font-size: var(--font-base-size);
  color: var(--color-heading);
}

address {
  display: block;
  font-style: italic;
}

ul.aligncenter,
ol.aligncenter {
  list-style-position: inside;
  padding: 0;
}

ul.alignright,
ol.alignright {
  list-style-position: inside;
  text-align: right;
  padding: 0;
}

ul ul {
  list-style-type: circle;
}

ol {
  list-style-type: decimal;
}

ol ul {
  list-style-type: circle;
}

dt {
  color: var(--color-heading);
}

dd {
  padding-left: 2rem;
}

a:hover {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.title--h1 {
  font-size: var(--heading--font-size-h1);
  margin-bottom: 1.0625rem;
}

.vcard-heading {
  display: flex;
}
.vcard-heading .title--h1 {
  flex-grow: 1;
  flex-shrink: 1;
}
.vcard-heading .fix-width-title {
  flex-grow: 0;
  flex-shrink: 0;
}

@media only screen and (max-width: 992px) {
  .vcard-heading .fix-width-title {
    display: none;
  }
}

@media only screen and (max-width: 580px) {
  .title--h1 {
    font-size: var(--heading--font-mobile-size-h1);
  }
}

.title--h2 {
  font-size: var(--heading--font-size-h2);
  margin-bottom: 1.25rem;
}

@media only screen and (max-width: 580px) {
  .title--h2 {
    font-size: var(--heading--font-mobile-size-h2);
  }
}

.title--h3 {
  font-size: var(--heading--font-size-h3);
  margin-bottom: 0.5rem;
}

@media only screen and (max-width: 580px) {
  .title--h3 {
    font-size: var(--heading--font-mobile-size-h3);
  }
}

.title--h4 {
  font-size: var(--heading--font-size-h4);
  margin-bottom: 0.8125rem;
  font-weight: 500;
}

@media only screen and (max-width: 580px) {
  .title--h4 {
    font-size: var(--heading--font-mobile-size-h4);
  }
}

.title--h5 {
  font-size: var(--heading--font-size-h5);
}

@media only screen and (max-width: 580px) {
  .title--h5 {
    font-size: var(--heading--font-mobile-size-h5);
  }
}

.title--h6 {
  font-size: var(--heading--font-size-h6);
}

@media only screen and (max-width: 580px) {
  .title--h6 {
    font-size: var(--heading--font-mobile-size-h6);
  }
}

.title--center {
  text-align: center;
}

.title--tone {
  background: var(--color-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.title-icon {
  margin-right: 0.5rem;
  margin-top: -0.25rem;
  height: 2.5rem;
  width: 2.5rem;
}

@media only screen and (max-width: 580px) {
  .title-icon {
    height: 2.08333rem;
    width: 2.08333rem;
  }
}

.title__separate {
  margin-bottom: 2.3125rem;
  position: relative;
}

.title__separate::before {
  content: '';
  background: var(--color-gradient);
  border-radius: 0.5rem;
  height: 0.3125rem;
  position: absolute;
  bottom: -1.0625rem;
  left: 0;
  width: 2.5rem;
  z-index: 1;
}

@media only screen and (max-width: 580px) {
  .title__separate {
    margin-bottom: 1.5rem;
  }
  .title__separate::before {
    height: 0.1875rem;
    bottom: -0.625rem;
    width: 1.875rem;
  }
}

.page-description {
  font-weight: 300;
}
.overhead {
  color: var(--color-overhead);
  font-size: calc(var(--font-base-size) - 3px);
  font-weight: 400;
  display: block;
  text-transform: uppercase;
}

@media only screen and (max-width: 580px) {
  .overhead {
    font-size: calc(var(--font-base-size) - 4px);
  }
}

.contacts-block__info .overhead,
.text-overflow {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

blockquote {
  padding: 0 2rem 0 3.2rem;
  position: relative;
  margin: 2rem 0 2rem 0;
}

@media only screen and (max-width: 580px) {
  blockquote {
    padding: 0 1rem 0 2.2rem;
  }
}

blockquote > * {
  margin-bottom: 1.2rem;
}

blockquote > *:first-child {
  margin-top: 0;
}

blockquote > *:last-child {
  margin-bottom: 0;
}

blockquote p {
  color: var(--color-heading);
  letter-spacing: normal;
  font-style: italic;
  font-weight: 400;
  line-height: 1.6;
  margin: 0 0 .6rem;
}

blockquote cite,
blockquote footer {
  color: var(--color-paragraph);
  font-size: calc(var(--font-base-size) - 1px);
  letter-spacing: normal;
  opacity: 70%;
}

blockquote cite br {
  display: none;	
}

blockquote.alignleft,
blockquote.alignright {
  padding-left: inherit;
}

blockquote.alignleft p,
blockquote.alignright p {
  font-size: calc(var(--font-base-size) + 3px);
  max-width: inherit;
  width: inherit;
}

blockquote.alignleft cite,
blockquote.alignleft footer,
blockquote.alignright cite,
blockquote.alignright footer {
  font-size: calc(var(--font-base-size) + 1px);
  letter-spacing: normal;
}

blockquote strong {
  font-weight: 600;
}

blockquote:before {
  content: '\ea1d';
  font-family: 'feather';
  font-size: 1.8rem;
  color: var(--color-accent);
  line-height: 1;
  position: absolute;
  left: 0;
  top: -2px;
}

blockquote .wp-block-quote__citation,
blockquote cite,
blockquote footer {
  color: var(--color-paragraph);
  font-size: calc(var(--font-base-size) + 1px);
  font-style: normal;
  opacity: 70%;
}

@media only screen and (max-width: 580px) {
  blockquote:before {
    font-size: 1.4rem;
    top: 0;
  }
    
  blockquote cite {
    font-size: calc(var(--font-base-size) - 2px);	
  }
	
  .wp-block-pullquote {
    padding-left: 0;
  }
}

/* Media captions */
figcaption {
  font-size: calc(var(--font-base-size) - 1px);
  font-style: italic;
  text-align: center;
  padding: 0.8rem 1rem 0;
  word-break: break-word;
}

.wp-block-embed figcaption {
  color: var(--color-paragraph);
  font-size: calc(var(--font-base-size) - 1px);
  font-style: italic;
  text-align: center;
  padding: 0.5rem 1rem 0;
}

.wp-caption-text {
  font-size: calc(var(--font-base-size) - 1px);
  font-style: italic;
  text-align: center;
  padding: 0.8rem 1rem 0;
}

.wp-block-video figcaption,
.blocks-gallery-caption {
  color: var(--color-paragraph);
  font-size: calc(var(--font-base-size) - 1px);
  font-style: italic;
  text-align: center;
  padding: 0 1rem 0;
}

@media only screen and (max-width: 580px) {
  figcaption {
    font-size: calc(var(--font-base-size) - 1px);
	  padding: 0.5rem 0.5rem 0;
  }
}

@media only screen and (max-width: 580px) {
  .wp-block-embed figcaption {
    font-size: calc(var(--font-base-size) - 1px);
	  padding: 0 0.5rem 0;
  }
}

@media only screen and (max-width: 580px) {
  .wp-caption-text {
	  padding: 0.5rem 0.5rem 0;
  }
}

@media only screen and (max-width: 580px) {
  .wp-block-video figcaption,
  .blocks-gallery-caption {
	  font-size: calc(var(--font-base-size) - 1px);
	  padding: 0 1rem 0;
  }
}

.alignleft figcaption,
.alignright figcaption,
.alignleft .wp-caption,
.alignright .wp-caption,
.alignleft .wp-caption-text,
.alignright .wp-caption-text,
.alignleft .wp-block-embed figcaption,
.alignright .wp-block-embed figcaption {
  margin-bottom: 0;
}

.wp-block-pullquote {
  padding: calc(2 * 1.2rem) 0;
  text-align: center;
  border-width: 2px;
  border-bottom-style: solid;
  border-top-style: solid;
  color: var(--color-paragraph);
  border-color: var(--color-border) !important;
  position: relative;
}

.wp-block-pullquote blockquote {
	padding: 0;
}

.wp-block-pullquote blockquote::before {
  position: relative;
}

.wp-block-pullquote p {
  font-size: calc(var(--font-base-size) + 9px);
  font-style: italic;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.6;
  margin: 0;
  color: var(--color-heading);
}

.wp-block-pullquote .wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  color: var(--color-paragraph);
  display: block;
  font-size: calc(var(--font-base-size) + 3px);
  font-style: normal;
  text-transform: none;
  opacity: 70%;
}

.wp-block-pullquote:not(.is-style-solid-color) {
  background: none;
}

.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
  text-align: center;
}

.wp-block-pullquote.alignwide > p,
.wp-block-pullquote.alignwide blockquote {
  max-width: calc(100vw - calc(2 * 1.5rem * 0.6));
}

.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p,
.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
  padding: 0 calc(2 * 1.2rem);
}

.wp-block-pullquote.is-style-solid-color {
  padding: calc(2.5 * 1.2rem);
  border-width: 2px;
  border-style: solid;
  border-radius: var(--radius-16);
  border-color: var(--color-border);
  background: var(--color-surface-2) !important;
}

@media (min-width: 600px) {
  .wp-block-pullquote.is-style-solid-color {
     padding: calc(2 * 1.2rem);
  }
}

.wp-block-pullquote.is-style-solid-color blockquote::before {
  text-align: left;
}

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

.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: calc(var(--font-base-size) + 9px);
}

.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
.wp-block-pullquote.is-style-solid-color cite,
.wp-block-pullquote.is-style-solid-color footer {
  color: var(--color-paragraph);
  opacity: 70%;
}

.wp-block-pullquote.is-style-solid-color.alignleft,
.wp-block-pullquote.is-style-solid-color.alignright {
  padding: 1.2rem;
}

.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
.wp-block-pullquote.is-style-solid-color.alignright blockquote {
  max-width: initial;
}

.wp-block-query.has-background {
  padding: calc(0.666 * 2rem);
}

@media only screen and (min-width: 482px) {
  .wp-block-query.has-background {
    padding: 2rem;
  }
}

.wp-block-quote {
  border-left: none;
  padding: 0 2rem 0 3.2rem;
}

.has-background .wp-block-quote .wp-block-quote__citation,
[class*=background-color] .wp-block-quote .wp-block-quote__citation,
[style*=background-color] .wp-block-quote .wp-block-quote__citation,
.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
.has-background .wp-block-quote cite,
[class*=background-color] .wp-block-quote cite,
[style*=background-color] .wp-block-quote cite,
.wp-block-cover[style*=background-image] .wp-block-quote cite,
.has-background .wp-block-quote footer,
[class*=background-color] .wp-block-quote footer,
[style*=background-color] .wp-block-quote footer,
.wp-block-cover[style*=background-image] .wp-block-quote footer {
  color: var(--color-paragraph);
}

.wp-block-quote.has-text-align-right {
	padding-right: 0;
	border-right: none;
}

.wp-block-quote.has-text-align-right:before {
	display: none;
}

.wp-block-quote.has-text-align-right p:first-child:before {
	content: '\ea1d';
	font-family: 'feather';
	font-size: 1.8rem;
	font-weight: normal;
	color: var(--color-accent);
	line-height: 1;
	margin-right: .8em;
	top: 4px;
    position: relative;
}

.wp-block-quote.has-text-align-center {
	margin: 2rem auto;
}

.wp-block-quote.has-text-align-center:before {
	display: none;
}

.wp-block-quote.is-style-large:not(.is-style-plain),
.wp-block-quote.is-style-large.is-style-plain {
	padding: 0 0 0 3.2rem;
}

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	padding-left: 0;
	padding-right: 0;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
	font-size: calc(var(--font-base-size) + 21px);
	font-style: normal;
	line-height: 1.35;
}

.wp-block-quote.is-large.has-text-align-right:before,
.wp-block-quote.is-style-large.has-text-align-right:before {
	display: none;
}

.wp-block-quote.is-large.has-text-align-right p:before,
.wp-block-quote.is-style-large.has-text-align-right p:before {
	margin-right: 10px;
}

.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large .wp-block-quote__citation,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
	color: var(--color-paragraph);
	font-size: calc(var(--font-base-size) + 3px);
  opacity: 70%;
}

.wp-block-quote.is-style-large:not(.is-style-plain) p {
  font-size: calc(var(--font-base-size) + 5px);
}

.wp-block-quote.is-style-large:not(.is-style-plain) cite,
.wp-block-pullquote cite {
  font-size: var(--font-base-size);
}

@media only screen and (max-width: 580px) {
  .wp-block-pullquote {
    padding: 0;
  }
	
  .wp-block-pullquote blockquote::before {
    top: 0;
  }
	
  .wp-block-quote,
  .wp-block-quote.is-style-large:not(.is-style-plain),
  .wp-block-quote.is-style-large.is-style-plain {
    padding: 0 0 0 2.2rem;
  }
	
  .wp-block-quote.is-style-large:not(.is-style-plain) {
    margin-top: 1.5rem;
	  margin-bottom: 1.5rem;	
  }
	
  .wp-block-quote.is-style-large:not(.is-style-plain)::before {
    top: 2px;	
  }
	
  .wp-block-quote.is-style-large:not(.is-style-plain) cite,
  .wp-block-pullquote cite {
    font-size: calc(var(--font-base-size) - 1px);
	  margin-top: 0.5rem;
  }

  .wp-block-quote.is-large p,
  .wp-block-quote.is-style-large p {
	  font-size: calc(var(--font-base-size) + 16px);
  }
	
  .wp-block-quote.is-style-large:not(.is-style-plain) p {
    font-size: calc(var(--font-base-size) + 3px);
  }
	
  .wp-block-quote.has-text-align-right p:first-child:before {
    font-size: calc(var(--font-base-size) + 7px);
	  margin-right: 0.8rem;
	  top: 3px;
  }
	
  .wp-block-quote.is-large,
  .wp-block-quote.is-style-large {
    padding-left: 1.5rem;
  }

  .wp-block-quote.is-large:before,
  .wp-block-quote.is-style-large:before {
    left: 0;
  }

  .wp-block-quote.is-large.has-text-align-right,
  .wp-block-quote.is-style-large.has-text-align-right {
    padding-left: 0;
    padding-right: 1.5rem;
  }

  .wp-block-quote.is-large.has-text-align-right:before,
  .wp-block-quote.is-style-large.has-text-align-right:before {
    right: 0;
  }

  .wp-block-quote.is-large.has-text-align-center,
  .wp-block-quote.is-style-large.has-text-align-center {
    padding-left: 0;
    padding-right: 0;
  }
	
  .wp-block-quote.has-text-align-right {
    padding-left: 0;
	padding-right: 0;
  }

  .wp-block-quote.has-text-align-right:before {
    right: 0;
  }

  .wp-block-quote.has-text-align-center {
    padding-left: 0;
	padding-right: 0;
  }
	
  .wp-block-pullquote p,
  .wp-block-pullquote.is-style-solid-color blockquote p {
    font-size: calc(var(--font-base-size) + 3px);
  }
	
  .wp-block-pullquote.is-style-solid-color {
    padding: 1.5rem;	
  }
}

.block-quote {
  font-size: calc(var(--font-base-size) + 5px);
  font-weight: 400;
  font-style: italic;
  margin: 1.8125rem 0;
  position: relative;
  line-height: 1.6;
}

@media only screen and (max-width: 991px) {
  .block-quote {
    padding-left: 3.8125rem;
  }
}

@media only screen and (max-width: 580px) {
  .block-quote {
    font-size: calc(var(--font-base-size) + 3px);
    margin: 1rem 0;
    padding-left: 0;
    padding-top: 2.8125rem;
  }
  .block-quote p {
    margin-bottom: 0.5rem;
  }
}

.block-quote::before {
  background-image: url(assets/icons/icon-quote.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  height: 1.125rem;
  margin: 0 auto;
  position: absolute;
  top: 0.5rem;
  left: -3.125rem;
  width: 1.6875rem;
}

@media only screen and (max-width: 991px) {
  .block-quote::before {
    left: 0;
  }
}

.block-quote__author {
  font-size: calc(var(--font-base-size) - 1px);
  font-style: normal;
  display: block;
  margin-top: 0.5625rem;
  padding-left: 3rem;
  position: relative;
}

@media only screen and (max-width: 580px) {
  .block-quote__author {
    font-size: calc(var(--font-base-size) - 1px);
    margin-top: 0;
    padding-left: 2rem;
  }
}

.block-quote__author::before {
  content: '';
  background-color: var(--color-heading);
  height: 0.0625rem;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2rem;
}

@media only screen and (max-width: 580px) {
  .block-quote__author::before {
    width: 1rem;
  }
}

.wp-block-file a.wp-block-file__button {
  display: inline-block;
}

.wp-block-code {
  color: var(--color-heading);
  border: 1px solid var(--color-border);
}

a {
  color: var(--color-accent);
  cursor: pointer;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

a:hover {
  outline: none;
}

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

a.link-gradient {
  background: var(--color-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-decoration-skip: objects;
}

.description {
  color: var(--color-paragraph);
  margin-bottom: 1.875rem;
}

.foreword {
  font-size: calc(var(--font-base-size) + 3px);
}

/* Badges */
.badge {
  background: var(--color-surface-2);
  font-size: calc(var(--font-base-size) - 3px);
  font-weight: 300;
  border-radius: var(--radius-8);
  padding: 0.5rem 1rem;
}

@media only screen and (max-width: 580px) {
  .badge {
    font-size: calc(var(--font-base-size) - 4px);
    padding: 0.375rem 0.75rem;
  }
}

/* -----------------------------------------------------------------
    - Form
----------------------------------------------------------------- */
input:not(.submit),
select,
textarea,
.input,
.textarea,
.custom-select,
.wp-block-search__input  {
  background-color: transparent;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-14);
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--color-heading);
  font-size: inherit;
  height: auto;
  padding: 0.875rem 1.375rem 0.8125rem;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wp-block-post-comments-form textarea {
  border-color: var(--color-border) !important;
}

.wp-block-post-comments-form textarea:focus {
  border-color: var(--color-accent) !important;
}

select {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23fff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 1rem center/10px 1rem;	
}

option {
  background-color: var(--color-surface-2);
}

@media only screen and (max-width: 580px) {
  input:not(.submit),
  select,
  textarea,
  .input,
  .textarea,
  .custom-select {
    padding: 0.8125rem 1.375rem 0.75rem;
  }
}

input:not(.submit):focus,
select:focus,
textarea:focus,
.input:focus,
.textarea:focus,
.custom-select:focus {
  background-color: transparent;
  border-color: var(--color-accent);
  color: var(--color-heading);
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

input:not(.submit),
.input {
  line-height: inherit;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  input:not(.submit),
  .input {
    line-height: 0;
  }
}

.input__icon {
  padding-left: 3.375rem;
}

@media only screen and (max-width: 580px) {
  .input__icon {
    padding-left: 2.8125rem;
  }
}

.textarea {
  border-radius: var(--radius-14);
  display: block;
  padding: 0.8125rem 1.1875rem;
  resize: none;
}

label,
.wp-block-search .wp-block-search__label {
  font-weight: 300;
  margin-bottom: 0.5rem;
}

/* Base for label styling */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  position: absolute;
  left: 0;
  opacity: 0.01;
}
[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 2rem;
  cursor: pointer;
}

/* checkbox aspect */
[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.4rem;
  height: 1.4rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface-1);
  border-radius: .3rem;
  -webkit-transition: all .275s;
      transition: all .275s;
}

/* checked mark aspect */
[type="checkbox"]:not(:checked) + label:after,
[type="checkbox"]:checked + label:after {
  content: '\e92e';
  position: absolute;
  top: .7rem;
  left: .2rem;
  font-family: 'feather';
  font-size: 1rem;
  color: var(--color-accent);
  line-height: 0;
  -webkit-transition: all .2s;
      transition: all .2s;
}

/* checked mark aspect changes */
[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
}

[type="checkbox"]:checked + label:after {
  opacity: 1;
}

/* Disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #e9e9e9;
}

[type="checkbox"]:disabled:checked + label:after {
  color: #777;
}

[type="checkbox"]:disabled + label {
  color: #aaa;
}

.form-group {
  margin-bottom: 1.7rem;
  position: relative;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-16);
}

@media only screen and (max-width: 580px) {
  .form-group {
    margin-bottom: 1rem;
  }
}

.wpcf7-not-valid-tip {
  font-size: var(--font-base-size);
  color: var(--color-error);
  padding-top: 0.75rem;
  padding-left: 0.375rem;
}

@media only screen and (max-width: 580px) {
  .wpcf7-not-valid-tip {
    font-size: calc(var(--font-base-size) - 4px);
  }
}

.with-errors {
  color: var(--color-error);
}

.wpcf7 input:invalid,
.wpcf7 textarea:invalid,
.wpcf7 input:focus:invalid,
.wpcf7 textarea:focus:invalid {
  border-color: var(--color-error);
}

#validator-contact {
  font-size: calc(var(--font-base-size) - 1px);
  margin-top: 1rem;
}

.form-control::-webkit-input-placeholder {
  color: var(--color-paragraph);
  opacity: .5;
}

.form-control:-ms-input-placeholder {
  color: var(--color-paragraph);
  opacity: .5;
}

.form-control::-ms-input-placeholder {
  color: var(--color-paragraph);
  opacity: .5;
}

.form-control::placeholder {
  color: var(--color-paragraph);
  opacity: .5;
}

input:invalid,
textarea:invalid {
  outline: none !important;
}

.form-check-input {
  background: transparent;
  border-color: rgba(244, 244, 244, 0.15);
}

.form-check-input:checked {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}

.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23000'/%3e%3c/svg%3e");
}

.form-check-input:focus {
  border-color: var(--color-paragraph);
  -webkit-box-shadow: 0 0 0 0.125rem rgba(244, 244, 244, 0.25);
          box-shadow: 0 0 0 0.125rem rgba(244, 244, 244, 0.25);
}

.dropdown-menu {
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-12);
  -webkit-box-shadow: var(--box-shadow-50);
          box-shadow: var(--box-shadow-50);
  font-size: inherit;
}

.dropdown-menu::before {
  content: '';
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-bottom: 0.375rem solid var(--color-border);
  height: 0;
  position: absolute;
  top: -0.375rem;
  left: 1.0625rem;
  width: 0;
}

.dropdown-item {
  color: var(--color-paragraph);
  font-weight: 300;
}

.dropdown-item:hover, .dropdown-item:focus {
  background: var(--color-border);
  color: var(--color-paragraph);
}

.dropdown.dropup .dropdown-menu::before {
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid var(--color-border);
  border-bottom: 0.375rem solid transparent;
  top: auto;
  bottom: -0.75rem;
}

.progress {
  display: block;
  background: transparent;
  font-size: var(--font-base-size);
  margin-bottom: 1.5rem;
  height: auto;
}

@media only screen and (max-width: 580px) {
  .progress {
    font-size: calc(var(--font-base-size) - 2px);
    margin-bottom: 1rem;
  }
}

.progress:last-child {
  margin-bottom: 0;
}

.progress-bar {
  background-color: var(--color-border);
  border-radius: var(--radius-16);
  height: 0.5rem;
  overflow: inherit;
  position: relative;
  width: 100%;
}

.progress-bar > span {
  background: var(--color-gradient);
  border-radius: 1rem;
  display: block;
  overflow: hidden;
  position: relative;
  height: 0.5rem;
  width: 0%;
  -webkit-transition: width .6s ease-in-out;
  transition: width .6s ease-in-out;
  z-index: 1;
}

.progress-bar .progress-text {
  display: none;
}
.progress .progress-text {
  margin-bottom: 0.5rem;
}

.progress .progress-title {
  color: var(--color-heading);
  font-weight: 500;
}

.progress .progress-value {
  color: var(--color-overhead);
}

/* -----------------------------------------------------------------
    - Table
----------------------------------------------------------------- */
table,
.wp-block-table {
  width: 100%;
  min-width: 240px;
  border-collapse: collapse;
}

table thead,
table tfoot,
.wp-block-table thead,
.wp-block-table tfoot {
  text-align: center;
}

.wp-block-table thead {
  border-bottom: 3px solid;
  border-color: var(--color-border);
}

.wp-block-table tfoot {
  border-top: 3px solid;
  border-color: var(--color-border);
}

table td,
table th,
.wp-block-table td,
.wp-block-table th {
  color: var(--color-heading);
  padding: 1rem;
  border: 1px solid;
  border-color: var(--color-border);
}

@media only screen and (max-width: 580px) {
  table td,
  table th,
  .wp-block-table td,
  .wp-block-table th {
    padding: 0.5rem;
  }
}

table td,
.wp-block-table td {
  color: var(--color-paragraph);
}

table figcaption,
.wp-block-table figcaption {
  font-size: calc(var(--font-base-size) - 1px);
  color: var(--color-paragraph);
}

table.is-style-regular .has-background,
table.is-style-stripes .has-background,
table.is-style-stripes .has-background thead tr,
table.is-style-stripes .has-background tfoot tr,
table.is-style-stripes .has-background tbody tr,
.wp-block-table.is-style-regular .has-background,
.wp-block-table.is-style-stripes .has-background,
.wp-block-table.is-style-stripes .has-background thead tr,
.wp-block-table.is-style-stripes .has-background tfoot tr,
.wp-block-table.is-style-stripes .has-background tbody tr {
  color: #e0e0e0;
}

table.is-style-stripes,
.wp-block-table.is-style-stripes {
  border-color: var(--color-border);
}

table.is-style-stripes th,
table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
  border-width: 0;
}

table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--color-surface-2);
}

table.is-style-stripes .has-background tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
  background-color: var(--color-surface-2);
}

table.wp-calendar-table td,
table.wp-calendar-table th {
  background: transparent;
  border: 0;
  text-align: center;
  line-height: 2;
  vertical-align: middle;
  word-break: normal;
}

table.wp-calendar-table th {
  font-weight: 600;
}

table.wp-calendar-table thead,
table.wp-calendar-table tbody {
  color: var(--color-border);
  border: 1px solid;
}

table.wp-calendar-table caption {
  text-align: left;
  color: var(--color-heading);
}

.wp-calendar-nav {
  text-align: left;
}

.wp-calendar-nav .wp-calendar-nav-next {
  float: right;
}

/* -----------------------------------------------------------------
    - Button
----------------------------------------------------------------- */
.btn,
.wp-block-search__button,
.form-submit .submit,
.entry-content .wp-block-button .wp-block-button__link,
.page-nav .prev,
.page-nav .next,
.load-more__btn {
  background: var(--color-gradient-border-gray);
  border-radius: var(--radius-14);
  -webkit-box-shadow: var(--box-shadow-40);
          box-shadow: var(--box-shadow-40);
  border: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-weight: 400;
  font-size: calc(var(--font-base-size) + 1px);
  line-height: initial;
  padding: 1rem 1.5rem;
  position: relative;
  white-space: break-spaces;
  z-index: 0;
}

.btn::before,
.wp-block-search__button::before,
.form-submit .submit::before,
.entry-content .wp-block-button .wp-block-button__link::before,
.page-nav .prev::before,
.page-nav .next::before,
.load-more__btn::before {
  content: '';
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background: var(--color-btn);
  border-radius: inherit;
  z-index: -1;
}

.btn:hover,
.wp-block-search__button:hover,
.form-submit .submit:hover,
.entry-content .wp-block-button .wp-block-button__link:hover,
.page-nav .prev:hover,
.page-nav .next:hover,
.load-more__btn:hover {
  background: var(--color-gradient-border);
  color: var(--color-accent);
  text-decoration: none;
}

.btn:hover::before,
.wp-block-search__button:hover::before,
.form-submit .submit:hover::before,
.entry-content .wp-block-button .wp-block-button__link:hover::before,
.page-nav .prev:hover::before,
.page-nav .next:hover::before,
.load-more__btn:hover::before {
  background: var(--color-gradient-icon);
}

.btn:focus,
.wp-block-search__button:focus,
.form-submit .submit:focus,
.entry-content .wp-block-button .wp-block-button__link:focus,
.page-nav .prev:focus,
.page-nav .next:focus,
.load-more__btn:focus {
  -webkit-box-shadow: var(--box-shadow-40);
          box-shadow: var(--box-shadow-40);
}

.btn .font-icon {
  margin-right: 0.375rem;
}

.btn--small {
  -webkit-box-shadow: var(--box-shadow-30);
          box-shadow: var(--box-shadow-30);
  font-size: calc(var(--font-base-size) - 3px);
  padding: 0.625rem 1rem;
}

.btn--small:focus {
  -webkit-box-shadow: var(--box-shadow-30);
          box-shadow: var(--box-shadow-30);
}

.btn--icon-left i {
  margin-right: 0.5rem;
}

.btn--icon-right i {
  margin-left: 0.5rem;
}

@media only screen and (max-width: 580px) {
  .btn,
  .wp-block-search__button,
  .form-submit .submit,
  .entry-content .wp-block-button .wp-block-button__link,
  .page-nav .prev,
  .page-nav .next,
  .load-more__btn {
    font-size: calc(var(--font-base-size) - 1px);
    padding: 0.75rem 1.125rem;
  }
  .page-nav .prev,
  .page-nav .next {
    border-radius: var(--radius-8);
  }
}

@media only screen and (max-width: 580px) {
  .wpcf7-form .btn,
  .contact-form .btn{
    width: 100%;
  }
}

button:focus {
  outline: none;
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus,
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:active {
  border-width: 1px;
  border-style: solid;
}

.entry-content .wp-block-button.is-style-squared .wp-block-button__link,
.entry-content .wp-block-button.is-style-squared .wp-block-button__link:focus,
.entry-content .wp-block-button.is-style-squared .wp-block-button__link:active {
  border-radius: 2px;
}

/* -----------------------------------------------------------------
    - Sidebar
----------------------------------------------------------------- */
.sidebar {
  z-index: 10;
}

.sidebar .widget-area {
  word-break: break-word;
}

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

@media only screen and (max-width: 1200px) {
  .sidebar {
    margin-bottom: 1.875rem;
  }
}

@media only screen and (max-width: 580px) {
  .sidebar {
    margin-bottom: 1rem;
  }
}

@media only screen and (max-width: 1200px) {
  .sidebar__base-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sidebar__base-info > * {
    min-width: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .sidebar__additional-info {
    display: block !important;
  }
}

@media only screen and (max-width: 1200px) {
  .sidebar__additional-info {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  .sidebar__additional-info .details-info__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .sidebar__additional-info .details-info__item:nth-last-child(2),
  .sidebar__additional-info .details-info__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 768px) {
  .sidebar__additional-info .details-info__item {
    margin-bottom: 1.25rem;
  }
  .sidebar__additional-info .details-info__item:nth-last-child(2) {
    margin-bottom: 1.25rem;
  }
  .sidebar__additional-info .details-info__item:nth-last-child(1) {
    margin-bottom: 0 !important;
  }
}

@media only screen and (max-width: 580px) {
  .sidebar__additional-info .details-info__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .sidebar__additional-info .details-info__item:nth-last-child(2) {
    margin-bottom: 0.9375rem;
  }
  .sidebar__additional-info .details-info__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}

.sidebar .avatar-box {
  background: var(--color-gradient-gray);
  border-radius: var(--radius-32);
  margin: 1.875rem 1.875rem 1.25rem;
  overflow: hidden;
  height: calc(100% - 3.75rem);
  width: calc(100% - 3.75rem);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

@media only screen and (max-width: 1200px) {
  .sidebar .avatar-box {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 1.5rem 0 0;
    height: 7.5rem;
    width: 7.5rem;
  }
}

@media only screen and (max-width: 580px) {
  .sidebar .avatar-box {
    border-radius: var(--radius-20);
    margin: 0 1rem 0 0;
    height: 5rem;
    width: 5rem;
  }
}

.sidebar .avatar-box img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

.sidebar__name {
  font-size: calc(var(--font-base-size) + 11px);
  font-weight: 500;
  margin-bottom: 1rem;
  position: relative;
}

@media only screen and (max-width: 580px) {
  .sidebar__name {
    font-size: calc(var(--font-base-size) + 2px);
    margin-bottom: 0.625rem;
  }
}

.sidebar__btn {
  position: absolute;
  top: 0;
  right: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  display: none;
}

@media only screen and (max-width: 1200px) {
  .sidebar__btn {
    display: block;
    padding: 0.625rem 1rem;
  }
}

@media only screen and (max-width: 580px) {
  .sidebar__btn {
    padding: 0.625rem;
  }
}

.sidebar__btn i {
  display: none;
}

@media only screen and (max-width: 580px) {
  .sidebar__btn i {
    display: block;
    margin: 0;
  }
  .sidebar__btn span {
    display: none;
  }
}

.contacts-block__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* Social */
.social {
  text-align: center;
}

.social__link {
  font-size: 1.125rem;
  color: var(--color-heading);
  -webkit-text-fill-color: inherit;
  opacity: .6;
  margin: 0 0.375rem;
}

@media only screen and (max-width: 580px) {
  .social__link {
    font-size: 1rem;
  }
}

.social__link:hover {
  color: var(--color-accent);
  opacity: 1;
  text-decoration: none;
}

@media only screen and (max-width: 1200px) {
  .social {
    text-align: left;
  }
}

.sticky-column {
  margin-top: 0;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.sticky-column.is_stuck {
  margin-top: 1.875rem;
}

/* -----------------------------------------------------------------
    - Sections
----------------------------------------------------------------- */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

@media (min-width: 1300px) {
  body.no-sidebar .container {
    max-width: 1140px;
  }
  .container {
    max-width: 1230px;
  }
}

@media (min-width: 1400px) {
  body.no-sidebar .container {
    max-width: 1140px;
  }
  .container {
    max-width: 1290px;
  }
}

.box {
  background: var(--color-gradient-border);
  position: relative;
  z-index: 0;
}

.box::before {
  content: '';
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background: var(--color-gradient-soft);
  border-radius: inherit;
  z-index: -1;
}

.box--s2 {
  background: var(--color-gradient-border-gray);
}

.box--s2::before {
  background-image: var(--color-btn) !important;
  background-color: var(--color-surface-3) !important;
}

.box-outer {
  background-color: var(--color-surface-1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-20);
  -webkit-box-shadow: var(--box-shadow-24);
          box-shadow: var(--box-shadow-24);
  padding: 1.875rem;
  position: relative;
}

@media only screen and (max-width: 580px) {
  .box-outer {
    padding: 0.9375rem;
  }
}

.box-inner {
  border-radius: var(--radius-16);
  -webkit-box-shadow: var(--box-shadow-50);
          box-shadow: var(--box-shadow-50);
  padding: 1.875rem;
  margin-bottom: 1.875rem;
}

@media only screen and (max-width: 580px) {
  .box-inner {
    border-radius: var(--radius-14);
    -webkit-box-shadow: var(--box-shadow-30);
            box-shadow: var(--box-shadow-30);
    padding: 1.25rem;
    margin-bottom: 0.9375rem;
  }
}

.pb-0.pb-sm-2.fix-width,
.pb-3.fix-width {
  margin-top: 2.5rem;
}

.pb-0.pb-sm-2.fix-height,
.pb-3.fix-height {
  margin-top: 3rem;
}

@media only screen and (max-width: 992px) {
  .pb-0.pb-sm-2.fix-width,
  .pb-3.fix-width,
  .pb-0.pb-sm-2.fix-height,
  .pb-3.fix-height {
    margin-top: 0;
  }
}

@media only screen and (max-width: 580px) {
  .pb-0.pb-sm-2.fix-width,
  .pb-3.fix-width,
  .pb-0.pb-sm-2.fix-height,
  .pb-3.fix-height {
    margin-top: 0;
  }
}

.icon-box {
  font-size: 1.125rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: var(--radius-12);
  -webkit-box-shadow: var(--box-shadow-30);
          box-shadow: var(--box-shadow-30);
  line-height: 1;
  margin-right: 1rem;
  height: 3rem;
  width: 3rem;
}

.icon-box > * {
  min-width: 0;
}

.icon-box::before {
  background: var(--color-gradient-icon);
}

.icon-box .font-icon,
.review-item::after,
.review-icon-quote::before {
  background: var(--color-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.box-avatar {
  border-radius: var(--radius-18);
  -webkit-box-shadow: var(--box-shadow-30);
          box-shadow: var(--box-shadow-30);
  height: 5rem;
  width: 5rem;
}

.comment-author .avatar {
  border-radius: var(--radius-18);
}

.wp-block-latest-comments .avatar,
.wp-block-latest-comments__comment-avatar {
  border-radius: var(--radius-8);
}

.box-avatar::before {
  background: var(--color-gradient-gray);
}

.review-item .box-avatar img,
.full-rewiew-con-avatar .box-avatar img {
  border-radius: var(--radius-18);
  -webkit-box-shadow: var(--box-shadow-30);
          box-shadow: var(--box-shadow-30);
  -o-object-fit: cover;
     object-fit: cover;
     width: 100%;
     height: 100%;
}

.box-avatar--not-border {
  background: var(--color-gradient-gray);
}

.box-avatar--not-border::before {
  display: none;
}

@media only screen and (max-width: 580px) {
  .box-avatar {
    border-radius: var(--radius-14);
    -webkit-box-shadow: var(--box-shadow-24);
            box-shadow: var(--box-shadow-24);
    height: calc(5rem - 1.25rem);
    width: calc(5rem - 1.25rem);
  }
  .comment-author .avatar {
    border-radius: var(--radius-14);
  }
  .review-item .box-avatar img {
    border-radius: var(--radius-14);
  }
}

.separation {
  background: var(--color-border);
  margin: 2rem 0;
  height: 1px;
  width: 100%;
}

@media only screen and (max-width: 580px) {
  .separation {
    margin: 1rem 0;
  }
}

.js-image {
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
}

.gutter-top {
  padding-top: 3.75rem;
}

@media only screen and (max-width: 580px) {
  .gutter-top {
    padding-top: 0.9375rem;
  }
}

.gutter-bottom {
  padding-bottom: 3.75rem;
}

@media only screen and (max-width: 580px) {
  .gutter-bottom {
    padding-bottom: 2.5rem;
  }
}

.noGutters-Top {
  margin-top: 0 !important;
}

.noGutters-Bottom {
  margin-bottom: 0 !important;
}

.noGutters-Left {
  margin-left: 0 !important;
}

.noGutters-Right {
  margin-right: 0 !important;
}

/* Details info */
.details-info {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0.5rem;
}

@media only screen and (max-width: 1200px) {
  .details-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 0;
  }
  .details-info > * {
    min-width: 0;
  }
}

@media only screen and (max-width: 768px) {
  .details-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0.5rem;
    font-size: calc(var(--font-base-size) + 1px);
  }
  .details-info > * {
    min-width: 0;
  }
}

@media only screen and (max-width: 580px) {
  .details-info {
    font-size: var(--font-base-size)
  }
}

.details-info--inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.details-info--inline > * {
  min-width: 0;
}

.details-info__item {
  color: var(--color-heading);
  font-size: calc(var(--font-base-size) - 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.details-info__item > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .details-info__item {
    font-size: calc(var(--font-base-size) - 2px);
    margin-bottom: 0.9375rem !important;
  }
}

.details-info__item a {
  color: var(--color-heading);
  -webkit-text-fill-color: inherit;
  text-decoration: none;
}

.details-info__item a:hover {
  color: var(--color-heading);
}

.details-info--inline .details-info__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 5rem;
}

.details-info--inline .details-info__item > * {
  min-width: 0;
}

.details-info--inline .details-info__item:last-child {
  margin-right: 0;
}

.details-info__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* -----------------------------------------------------------------
    - Navbar
----------------------------------------------------------------- */
.nav-wrap {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 11;
}
.nav-container {
  display: flex;
  align-items: center;
  min-height: 4rem;
  max-width: 600px;
  padding: .8rem 2rem;
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: 0 var(--radius-20) 0 var(--radius-20);
  overflow-y: auto;
  white-space: nowrap;
  scrollbar-width: thin;
}

.nav-container ul {
  margin: 0;
  padding: 0;
}

.nav {
  display: table; /*white-space fix*/
  word-spacing: -9em; /*white-space fix*/
}
.nav li {
  display: inline-block;
  word-spacing: normal; /*white-space fix*/
}
.nav li > a {
  position: relative;
}
.nav li:hover,
.nav > li > a:hover,
.nav li:focus,
.nav > li > a:focus {
  z-index: 105;
}
.nav li li {
  display: block;
}
.nav a {
  display: block;
  position: relative;
  background: none;
  color: var(--color-paragraph);
  font-weight: 500;
  text-decoration: none;
  -webkit-text-fill-color: inherit;
  white-space: nowrap;
  transition: all .3s ease-in-out;
}
.nav ul a {
  padding: .75rem 1rem;
}
.nav > li:not(:last-child) {
  margin-right: 2.75rem;
}
.nav li:hover > a,
.nav a:hover,
.nav li:focus > a,
.nav a:focus {
  color: var(--color-accent);
}

.nav li a.active {
  background: var(--color-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nav ul {
  background-color: var(--color-surface-2);
  border: 1px solid var(--color-border);
  box-shadow: var(--submenu-shadow);
  border-radius: var(--radius-8);
  opacity: 0;
  visibility: hidden;
  z-index: 104;
}
.nav li.current-menu-ancestor > a,
.nav li.current-menu-item > a,
body.single-vcard_portfolio .nav .menu-item-portfolio a,
body.single-post .nav .menu-item-blog a {
  color: var(--color-accent);
}
.nav li:hover > ul {
  opacity: 1;
  visibility: visible;
}
.nav ul ul {
  transition: opacity 0.4s, left 0s 0.4s, margin 0s 0.4s;
  z-index: 103;
}
.nav li li:hover ul {
  opacity: 1;
  visibility: visible;
}

.nav li a:first-child:not(:last-child):after {
  content: '\e90d';
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.2em;
}
.nav > li > a:first-child:not(:last-child):after {
  content: '\e90f';
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.2em;
}

/* remove hover when scrolling  */
.isScrolling .nav .sub-menu.depth-0 { 
  left: -999em;
  opacity:0;
}

@media only screen and (min-width: 993px) {
  .nav ul {
    position: absolute;
    left: -999em;
    top: 0;
    transition: opacity 0.5s, left 0s 0.5s, top 0.5s;
  }
  .nav li:hover > ul {
    left: auto;
    top: auto;
    transition: opacity 0.3s ease-in-out, top 0.3s;
  }
  .nav li li:hover ul {
    top: auto;
    margin-left: 100%;
    transform: translateY(-2.2rem);
    transition: opacity 0.5s linear, margin 0.5s;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1299px) {
  .nav-container {
    max-width: 550px;
  }
}
@media only screen and (max-width: 992px) {
  .nav-container {
    background: rgba(43, 43, 44);
    border-radius: 0;
    box-shadow: var(--box-shadow-30);
    display: block;
	  padding: 2rem;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
	  overflow: auto;
    height: 100%;
    width: 350px;
	  transform: translateX(-100%);
    transition: transform .5s ease;
    z-index: 11;
  }
  .nav-container > * {
    min-width: 0;
  }
  .nav-container.show-menu {
    transform: translateX(0);
  }
  .admin-bar .nav-container {
    height: calc(100% - 32px);
  }
  .medium-zoom--opened .nav-container {
    z-index: 10;
  }
  .nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	  height: auto;
    text-align: left;
  }
  .nav ul {
    display: none;
    position: relative;
    top: 0;
    min-width: auto;
    padding: 0;
    margin-left: 1rem;
    text-align: left;
    opacity: 1;
    visibility: visible;
    background-color: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
  }
  .nav > li {
    display: block;
    margin: 0;
    padding: 0;
	}
  .nav li a {
    display: block;
    padding: .4rem 0;
    font-size: calc(var(--font-base-size) + 3px);
	}
  .nav ul li a {
    padding: 2px 8px;
    opacity: .9;
  }
  .nav li a:first-child:not(:last-child):after {
    content: '\e90f';
  }
  .nav .menu-item-has-children .sub-menu a {
    color: var(--color-paragraph) !important;
  }
  .nav .menu-item-has-children.current > a {
    color: var(--color-accent) !important;
  }
}

@media screen and (max-width: 782px) {
  .admin-bar .nav-container {
    height: calc(100% - 46px);
  }	
}

@media only screen and (max-width: 580px) {
  .nav-container {
	  padding-top: 3rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}


.hamburger {
  display: none;
  background-image: var(--color-gradient);
  border-radius: 50%;
  cursor: pointer;
  width: 2.6rem;
  height: 2.6rem;
  align-items: center;
  justify-content: center;
  position: fixed;
  left: 0.5rem;
  transition: all .5s ease;
  z-index: 15;
}

.hamburger.open {
	left: calc(350px + 1rem);
}

.hamburger div,
.hamburger div:after,
.hamburger div:before {
  background-color: var(--color-surface-1);
  border-radius: 10px;
  width: 0.8rem;
  height: 2px;
  transition: all 0.15s linear;
}

.hamburger div:before,
.hamburger div:after {
  content: "";
  position: absolute;
}

.hamburger div:before {
  transform: translateY(-200%);
}

.hamburger div:after {
  transform: translateY(200%);
}

.hamburger.open div {
  background: transparent;
}

.hamburger.open div:before {
  transform: rotate(45deg);
}

.hamburger.open div:after {
  transform: rotate(-45deg);
}

@media only screen and (max-width: 992px) {
  .hamburger {
    display: flex;
    top: 2.5rem;
  }
  .hamburger.no-bar {
    top: 1rem;
  }
}

@media screen and (max-width: 782px) {
  .hamburger.has-bar {
    top: 3.5rem;
  }
  .hamburger {
    top: 3.5rem;
  }	
}

@media only screen and (max-width: 580px) {
	.hamburger {
	  width: 2rem;
	  height: 2rem;
	}
	.hamburger.open {
	  left: calc(350px - 3rem);
  }
}

.scroll {
  overflow-y: hidden;
}

.nav-overlay {
  position: fixed;
  background: rgba(0,0,0,.7);
  height: 100%;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
	opacity: 0;
	pointer-events: none
}

.nav-overlay.show {
	opacity: 1;
	pointer-events: all;
}

@media only screen and (min-width: 992px) {
	.nav-overlay.show {
		opacity: 0;
	    pointer-events: none
	}
}

/* -----------------------------------------------------------------
    - Popup
----------------------------------------------------------------- */
.popup {
  background: var(--color-surface-1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-20);
  -webkit-box-shadow: var(--box-shadow-80);
          box-shadow: var(--box-shadow-80);
  margin: 1.25rem auto;
  padding: 1.875rem;
  position: relative;
  width: calc(100% - 1.875rem);
  max-width: 43.75rem;
}

@media only screen and (max-width: 580px) {
  .popup {
    border-radius: var(--radius-14);
    margin: 0.9375rem auto;
    padding: 0.9375rem;
    width: calc(100% - 0.9375rem);
  }
}

.mfp-bg {
  background: #0D0D0D;
  opacity: 0.7 !important;
}

.mfp-close {
  background: var(--color-surface-2) !important;
  border-radius: var(--radius-8);
  color: var(--color-heading) !important;
  font-family: 'feather';
  height: 2rem;
  right: 0.9375rem;
  top: 0.9375rem;
  text-indent: -99999px;
  width: 2rem;
}

.mfp-close::before {
  content: '\ea14';
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-indent: 0;
}

.mfp-close::before > * {
  min-width: 0;
}

.mfp-close:focus {
  right: 0.9375rem;
  top: 0.9375rem;
}

/* Zoom-in effect */
.mfp-zoom-in {
  /* animate in */
  /* animate out */
}

.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

.mfp-zoom-in.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-zoom-in.mfp-removing .mfp-with-anim {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
}

.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

/*  Move-horizontal effect */
.mfp-move-horizontal {
  /* animate in */
  /* animate out */
}

.mfp-move-horizontal .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

.mfp-move-horizontal.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.mfp-move-horizontal.mfp-ready .mfp-with-anim {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.mfp-move-horizontal.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-move-horizontal.mfp-removing .mfp-with-anim {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
  opacity: 0;
}

.mfp-move-horizontal.mfp-removing.mfp-bg {
  opacity: 0;
}

/* Zoom-out effect */
.mfp-zoom-out {
  /* animate in */
  /* animate out */
}

.mfp-zoom-out .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

.mfp-zoom-out.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-zoom-out.mfp-ready .mfp-with-anim {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mfp-zoom-out.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-zoom-out.mfp-removing .mfp-with-anim {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  opacity: 0;
}

.mfp-zoom-out.mfp-removing.mfp-bg {
  opacity: 0;
}

/* -----------------------------------------------------------------
    - Cases
----------------------------------------------------------------- */
.case-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100% - 1.25rem);
  padding-bottom: 1.25rem;
  position: relative;
}

.case-item > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .case-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .case-item > * {
    min-width: 0;
  }
}

.case-item .case-item__icon {
  margin-right: 1rem;
  height: 2.5rem;
  max-width: 2.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.case-item .case-item__icon img {
  max-height: 100%;
}

.case-item .case-item__icon .ion {
  display: block;
  font-size: 2.5rem;
  line-height: 2.5rem;
  color: var(--color-accent);
  text-align: center;
}

@media only screen and (max-width: 580px) {
  .case-item .case-item__icon {
    margin-right: 0;
    margin-bottom: 0.8125rem;
  }
}

.case-item .case-item__caption:last-child {
  margin-bottom: 0;
}

/* -----------------------------------------------------------------
    - Clients
----------------------------------------------------------------- */
.js-carousel-clients {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}

.js-carousel-clients .swiper-wrapper {
  align-items: center;
}

.js-carousel-clients .logo-client {
  max-width: 100%;
  margin-bottom: 1.875rem;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.js-carousel-clients .logo-client:hover {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}

/* -----------------------------------------------------------------
    - Contact
----------------------------------------------------------------- */
.tabcontent .contact-form {
  padding-bottom: 1.875rem;
}

@media only screen and (max-width: 580px) {
  .tabcontent .contact-form {
    padding-bottom: 1.25rem;
  }
}

.map {
  border-radius: var(--radius-16);
  height: 23.75rem;
  margin-bottom: 2rem;
  position: relative;
  direction: ltr;
}

@media only screen and (max-width: 580px) {
  .map {
    height: 15.625rem;
  }
}

.popover-map-title {
  color: var(--color-surface-1);
  font-size: calc(var(--font-base-size) + 4px);
  margin-top: 0.0625rem;
  margin-bottom: 0.5rem;
}

.popover-map-caption {
  color: var(--color-surface-1);
}

#marker {
  background-image: url("assets/images/icon-map-pic.svg");
  background-size: cover;
  width: 3.75rem;
  height: 3.75rem;
  cursor: pointer;
}

@media only screen and (max-width: 580px) {
  #marker {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.mapboxgl-popup-content {
  background: var(--color-surface-2) !important;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-8) !important;
  -webkit-box-shadow: var(--box-shadow-30) !important;
          box-shadow: var(--box-shadow-30) !important;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: var(--color-border) !important;
}

.mapboxgl-popup-close-button {
  color: var(--color-heading);
}

/* -----------------------------------------------------------------
    - Portfolio
----------------------------------------------------------------- */
.m-item {
  background: var(--color-accent);
  margin-bottom: 30px;
  width: calc(33.333% - 20px);
}

@media only screen and (max-width: 991px) {
  .m-item {
    width: calc(50% - 15px);
  }
}

.gutter-sizer {
  width: 30px;
}

.gallery-grid__item {
  margin-bottom: 1.75rem !important;
}

.gallery-grid__col-2 {
  width: calc(50% - 20px);
}

.gallery-grid__col-3 {
  width: calc(33.333% - 20px);
}

.gallery-grid__item:hover .gallery-grid__image {
  -webkit-transform: scale3d(1.05, 1.05, 1);
          transform: scale3d(1.05, 1.05, 1);
}

.gallery-grid__item:hover .gallery-grid__image-wrap::before {
  background: rgba(13, 13, 13, 0.3);
}

.gallery-grid__item:hover .gallery-grid__image-wrap::after {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform .6s ease-in-out;
  transition: -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out;
  transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out;
}

@media only screen and (max-width: 991px) {
  .gallery-grid__item {
    width: calc(50% - 16px);
  }
}

@media only screen and (max-width: 768px) {
  .gallery-grid__item {
    width: 100%;
  }
}

.gallery-grid__image-wrap {
  border-radius: var(--radius-16);
  max-height: 12.75rem;
  height: 13vw;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}

.gallery-grid__col-2 .gallery-grid__image-wrap {
  max-height: 16rem;
  height: 16vw;
}

.gallery-grid__image-wrap::before {
  content: '';
  background: rgba(13, 13, 13, 0);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.gallery-grid__image-wrap::after {
  content: '\e962';
  background: rgba(32, 32, 33, 0.9);
  border-radius: var(--radius-12);
  font-family: 'feather' !important;
  font-size: 1.125rem;
  color: var(--color-accent) !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.5rem;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 3.5rem;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
  z-index: 2;
}

.gallery-grid__image-wrap::after > * {
  min-width: 0;
}

@media only screen and (max-width: 1200px) {
  .gallery-grid__image-wrap {
    max-height: 23.75rem;
    height: 15.5vw;
  }
  .gallery-grid__col-2 .gallery-grid__image-wrap {
    height: 25vw;
  }
}

@media only screen and (max-width: 991px) {
  .gallery-grid__col-2 .gallery-grid__image-wrap,
  .gallery-grid__image-wrap {
    height: 13rem;
  }
}

@media only screen and (max-width: 768px) {
  .gallery-grid__col-2 .gallery-grid__image-wrap,
  .gallery-grid__image-wrap {
    height: 18rem;
  }
}

@media only screen and (max-width: 580px) {
  .gallery-grid__col-2 .gallery-grid__image-wrap,
  .gallery-grid__image-wrap {
    height: 11.85rem;
  }
}

.gallery-grid__image {
  border-radius: var(--radius-16);
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform .4s ease-in-out;
  transition: -webkit-transform .4s ease-in-out;
  transition: transform .4s ease-in-out;
  transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
}

.gallery-grid__caption {
  padding: 0 0.5rem;
}

.gallery-grid__title {
  font-size: var(--heading--font-mobile-size-h3);
  font-weight: 300;
  color: var(--color-heading);
  margin-top: 1rem;
  margin-bottom: 0;
	text-decoration: none;
}

.gallery-grid__item a:hover {
  text-decoration: none;
  text-decoration-color: #000;
}

.gallery-categor-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: .25rem;
}

.gallery-grid__category {
  font-size: calc(var(--font-base-size) - 1px);
  color: var(--color-overhead);
  display: block;
}

.gallery-grid__category:not(:last-child):after,
.project-single .gallery-categor-wrap span:not(:last-child):after {
  content: ', \00a0';
}

@media only screen and (min-width: 769px) {
  .filter {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style: none;
    margin-bottom: 1.75rem;
    padding: 0;
  }
  .filter > * {
    min-width: 0;
  }
  .filter__item {
    padding-right: 1.1875rem;
  }
  .filter__item:first-child {
    display: none;
  }
  .filter__item:last-child {
    padding-right: 0;
  }
  .filter__item.active a {
    cursor: default;
    opacity: 1 !important;
    color: var(--color-accent);
  }
  .filter__link {
    color: var(--color-paragraph);
    font-weight: 500;
    padding: 0 0.25rem;
    text-decoration: none;
    display: block;
    overflow: hidden;
    opacity: 1;
    position: relative;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
  }
  .filter__link:hover {
    color: var(--color-accent);
    text-decoration: none;
  }
}

.select .placeholder {
  display: none;
}

@media only screen and (max-width: 768px) {
  .select {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-14);
    display: block;
    margin-bottom: 2rem;
    padding: 0.1875rem 1rem;
    position: relative;
    vertical-align: middle;
    text-align: left;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 100%;
    -webkit-touch-callout: none;
    z-index: 2;
  }
  .select .placeholder {
    cursor: pointer;
    display: block;
    padding: 0.5rem 0;
    position: relative;
    z-index: 1;
  }
  .select .placeholder:after {
    position: absolute;
    top: 50%;
    right: 0.125rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-family: 'icomoon';
    content: '\e90f';
    z-index: 10;
  }
  .select.is-open .placeholder:after {
    content: '\e90f';
  }
  .select.is-open ul {
    display: block;
  }
  .select ul {
    background-color: var(--color-surface-1);
    border: 1px solid var(--color-border);
    -webkit-box-shadow: var(--box-shadow-40);
            box-shadow: var(--box-shadow-40);
    border-radius: var(--radius-14);
    display: none;
    max-height: 37.5rem;
    overflow: hidden;
    overflow-y: auto;
    padding: 0.5625rem 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  .select ul li {
    display: block;
    text-align: left;
    padding: 0.5rem 1rem;
    cursor: pointer;
  }
  .select ul li:hover {
    background-color: var(--color-surface-2);
  }
  .select ul li:hover a {
    color: var(--color-accent);
  }
  .select ul li:first-child {
    display: none;
  }
  .select ul li a {
    color: var(--color-paragraph);
    text-decoration: none;
  }
}

@media only screen and (max-width: 580px) {
  .select {
    margin-bottom: 1.5rem;
  }
}

.text-md-right {
  text-align: right;
}

/* Load More Button
--------------------------------------------- */
.load-more {
  display: flex;
  justify-content: center;
  margin-top: .5rem;
}
.load-more__btn {
  display: inline-flex;
	align-items: center;
  justify-content: center;
}
.load-more__loader,
.load-more__loader:after {
  border-radius: 50%;
  width: 20px;
  height: 20px;
}
.load-more__loader {
	display: none;
  position: relative;
  border-top: 3px solid rgba(255, 255, 255, 0.2);
  border-right: 3px solid rgba(255, 255, 255, 0.2);
  border-bottom: 3px solid rgba(255, 255, 255, 0.2);
  border-left: 3px solid var(--color-accent);
  padding: 9px;
  transform: translateZ(0);
  animation: loaderSpin .6s infinite linear;
}
.load-more--active .load-more__btn {
  width: 56px;
  pointer-events: none;
}
.load-more--active .load-more__text {
  display: none;
  opacity: 0;
}
.load-more--active .load-more__loader {
  display: block;
}
@keyframes loaderSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.filter__loading {
  pointer-events: none;
}
.load-more__overlay::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 31, .8);
  transition: 2s ease-in-out;
  z-index: 10;
}
.load-more__overlay .content-grid__image-wrap {
  pointer-events: none;
}

/* -----------------------------------------------------------------
    - News
----------------------------------------------------------------- */
.news-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem;
}

.news-grid > * {
  min-width: 0;
}

@media only screen and (max-width: 991px) {
  .news-grid {
    margin-left: 0;
    margin-right: 0;
  }
}

.news-item {
  border-radius: var(--radius-16);
  -webkit-box-shadow: var(--box-shadow-50);
          box-shadow: var(--box-shadow-50);
  margin-bottom: 1.875rem;
  margin-left: 0.9375rem;
  margin-right: 0.9375rem;
  padding: 0;
}

.news-item_grid {
  width: calc(50% - 30px);
}

.news-item_list {
  width: 100%;
}

.news-item_list .news-item__image-wrap {
  height: 25rem;
}

@media only screen and (max-width: 991px) {
  .news-item {
    margin-left: 0;
    margin-right: 0;
  }
  .news-item_grid {
    width: 100%;
  }
}

@media only screen and (max-width: 580px) {
  .news-item {
    margin-bottom: 1.25rem;
  }
}

.news-item__image-wrap {
  overflow: hidden;
  border-radius: var(--radius-16);
  height: 14rem;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .news-item__image-wrap {
    height: 18rem;
  }
  .news-item_list .news-item__image-wrap {
    height: 18rem;
  }
}

@media only screen and (max-width: 580px) {
  .news-item__image-wrap {
    border-radius: var(--radius-12);
    height: 12rem;
  }
  .news-item_list .news-item__image-wrap {
    height: 12rem;
  }
}

.news-item__image-wrap img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.news-item:hover .news-item__image-wrap img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.post-meta {
  margin-bottom: 0.75rem;
}

.single-post .post-meta {
  margin-bottom: 2rem;
}

.post-meta * {
  color: var(--color-overhead);
}

.post-meta a:hover {
  text-decoration: none;
}

.post-meta .post-date a:hover time {
  color: var(--color-accent);
  transition: all .3s ease-in-out;
}

.post-meta > span {
  display: inline;
  position: relative;
}

.post-meta .post-separator {
  padding: 0 .5rem;
}

.post-meta .post-categories a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.post-tags {
  margin-top: 1rem;
}
@media only screen and (max-width: 580px) {
  .single-post .post-meta {
    margin-bottom: 1rem;
  }
  .post-tags {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
}
.post-tags a {
  display: inline-block;
  font-size: calc(var(--font-base-size) - 3px);
  color: var(--color-overhead);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .1rem;
  padding: .8rem 1rem .7rem;
  margin-bottom: .6rem;
  margin-right: .4rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-12);
  transition: .3s ease-in-out;
}
.post-tags a:hover {
  color: var(--color-accent);
}
@media only screen and (max-width: 580px) {
  .post-tags a {
    padding: .4rem .6rem;
    margin-bottom: .4rem;
    line-height: 1;
  }
}

.news-item__link {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.news-item__caption {
  padding: 1.25rem 1.5rem;
}

@media only screen and (max-width: 580px) {
  .news-item__caption {
    padding: 1.1875rem 1rem 0;
  }
}

.news-item .title {
  margin-bottom: 0.625rem;
}

.news-item .title a {
  color: var(--color-heading);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.news-item .title a:hover {
  background: var(--color-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.read-more__link {
  display: inline-block;
  margin-top: .5rem;
}

@media only screen and (max-width: 580px) {
  .read-more__link {
    margin-top: 0;
    margin-bottom: 1rem;
  }
}

.wp-block-group.has-black-border-color {
  border-color: var(--color-border-input-focus);
}

.scroll-line {
  background: var(--color-accent);
  height: 3px;
  position: fixed;
  top: 0;
  width: 0;
  z-index: 1001;
}


/* Pagination
--------------------------------------------- */
.page-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  margin-bottom: .5rem;
  clear: both;
}
.single-post .entry-content .page-nav {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.page-nav .page-numbers,
.page-nav .post-page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: calc(var(--font-base-size) + 3px);
  font-weight: 500;
  color: var(--color-description);
  height: 2.85rem;
  min-width: 2.85rem;
  margin: 0 .2rem;
}
.page-nav .page-numbers:hover,
.page-nav .post-page-numbers:hover {
  color: var(--color-accent);
  text-decoration: none;
}
.page-nav .next,
.page-nav .prev {
  margin-right: .2rem;
  padding: 0;
}
.page-nav .page-link-holder {
  margin-right: 1rem;
}
.page-nav .page-numbers .nav-arrow {
  margin: 0;
  padding-bottom: 1px;
}
@media only screen and (max-width: 992px) {
  .page-nav {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
    margin: 0;
  }	
  .post-navigation .page-nav .page-numbers,
  .page-nav .prev.page-numbers,
  .page-nav .next.page-numbers,
  .single-post .page-nav > * {
    font-size: .9375rem;
    font-weight: 500;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 580px) {
  .page-nav {
    margin-top: 2rem;
    margin-bottom: .5rem;
  }
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
	  height: 2rem;
    min-width: 2rem;
  }	
  .page-nav .prev {
    margin-right: .5rem;
  }
  .page-nav .next {
    margin-left: .5rem;
  }
}

.nav-arrow {
  display: inline-flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  padding: 0;
  text-align: center;
}

.page-nav .page-numbers.current,
.single .entry-content .page-nav .post-page-numbers.current,
.section-page .entry-content .page-nav .post-page-numbers.current {
	border: 2px solid var(--color-accent);
  border-radius: var(--radius-14);
  color: var(--color-accent);
}

@media only screen and (max-width: 580px) {
  .page-nav {
    margin-top: 1rem;
  }
  .nav-arrow {
    height: 2rem;
    width: 2rem;
  }
  .page-nav .page-numbers.current,
  .single .entry-content .page-nav .post-page-numbers.current,
  .section-page .entry-content .page-nav .post-page-numbers.current {
    border-radius: var(--radius-8);
  }
}
.nav-arrow--left {
  margin-right: .2rem;
}
.nav-arrow--right {
  margin-left: .2rem;
}
.nav-arrow.feathericon-arrow-left::before {
  margin-left: 0;
}

.sticky .badge {
  position: absolute;
  margin: 1rem;
  background: var(--color-sticky);
  z-index: 10;
}

.sticky.box:not(.has-post-thumbnail) {
  background: var(--color-sticky);
}

.entry-content .wp-block-button {
  margin-bottom: 2rem;
}

.search-results {
  margin-bottom: 1.5rem;
}

.no-results .form-inline {
  display: flex;
}

.no-results .form-inline input {
  margin-right: .5rem;
}

/* -----------------------------------------------------------------
    - Single post
----------------------------------------------------------------- */
.entry-content > *, 
[class*=inner-container] > *, 
.wp-block-template-part > *, 
.wp-block-post-template :where(li > *) {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 580px) {
  .entry-content > *, 
  [class*=inner-container] > *, 
  .wp-block-template-part > *, 
  .wp-block-post-template :where(li > *) {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.site-main .entry-content p:first-child {
  margin-top: 0;
}

.entry-content > *.alignfull + .alignleft,
.entry-content > *.alignfull + .alignright {
  margin-top: 1.5rem;
}

.entry-content > .alignleft {
  margin-right: 1.5rem;
}

.header-post {
  text-align: center;
}

.header-post .title {
  font-size: calc(var(--font-base-size) + 25px);
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 991px) {
  .header-post .title {
    font-size: calc(var(--font-base-size) + 21px);
    margin-bottom: 1.125rem;
  }
}

@media only screen and (max-width: 768px) {
  .header-post .title {
    font-size: calc(var(--font-base-size) + 17px);
  }
}

@media only screen and (max-width: 580px) {
  .header-post .title {
    font-size: calc(var(--font-base-size) + 13px);
    margin-bottom: .6rem;
  }
}

.header-post__image-wrap {
  height: 25rem;
  margin-left: -1.875rem;
  margin-right: -1.875rem;
  margin-bottom: 2rem;
}

@media only screen and (max-width: 580px) {
  .header-post__image-wrap {
    height: 15rem;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
    margin-bottom: 1rem;
  }
}

.widget_block.widget_search {
  margin-top: 1rem;
}

.caption-post {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  width: 80%;
}

@media only screen and (max-width: 991px) {
  .caption-post {
    width: 100%;
  }
}

@media only screen and (max-width: 580px) {
  .caption-post {
    margin-bottom: 1.1875rem;
  }
}

.gallery-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem;
}

.gallery-post > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .gallery-post {
    margin-left: 0;
    margin-right: 0;
  }
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
  margin-right: 1rem;
  margin-bottom: 1rem;
  margin-top: 0.5rem;
}

.gallery-columns-2 .gallery-item {
  max-width: calc((100% - 1rem * 1) / 2);
}

.gallery-columns-2 .gallery-item:nth-of-type(2n+2) {
  margin-right: 0;
}

.gallery-columns-3 .gallery-item {
  max-width: calc((100% - 1rem * 2) / 3);
}

.gallery-columns-3 .gallery-item:nth-of-type(3n+3) {
  margin-right: 0;
}

.gallery-columns-4 .gallery-item {
  max-width: calc((100% - 1rem * 3) / 4);
}

.gallery-columns-4 .gallery-item:nth-of-type(4n+4) {
  margin-right: 0;
}

.gallery-columns-5 .gallery-item {
  max-width: calc((100% - 1rem * 4) / 5);
}

.gallery-columns-5 .gallery-item:nth-of-type(5n+5) {
  margin-right: 0;
}

.gallery-columns-6 .gallery-item {
  max-width: calc((100% - 1rem * 5) / 6);
}

.gallery-columns-6 .gallery-item:nth-of-type(6n+6) {
  margin-right: 0;
}

.gallery-columns-7 .gallery-item {
  max-width: calc((100% - 1rem * 6) / 7);
}

.gallery-columns-7 .gallery-item:nth-of-type(7n+7) {
  margin-right: 0;
}

.gallery-columns-8 .gallery-item {
  max-width: calc((100% - 1rem * 7) / 8);
}

.gallery-columns-8 .gallery-item:nth-of-type(8n+8) {
  margin-right: 0;
}

.gallery-columns-9 .gallery-item {
  max-width: calc((100% - 1rem * 8) / 9);
}

.gallery-columns-9 .gallery-item:nth-of-type(9n+9) {
  margin-right: 0;
}

.gallery-item:last-of-type {
  padding-right: 0;
}

@media only screen and (max-width: 580px) {
  .gallery-item {
    margin-bottom: 0.7rem;
  }
}

.gallery-post__item {
  -webkit-box-flex: calc(50% - 32px);
      -ms-flex: calc(50% - 32px);
          flex: calc(50% - 32px);
  height: auto;
  max-height: 80vw;
  margin-left: 1rem;
  margin-right: 1rem;
  width: calc(50% - 32px);
}

@media only screen and (max-width: 580px) {
  .gallery-post__item {
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    width: 100%;
  }
}

.gallery-post__caption {
  font-size: calc(var(--font-base-size) - 2px);
  font-style: italic;
  padding: 1rem 1rem 2rem;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 580px) {
  .gallery-post__caption {
    padding: 0 0 1rem;
  }
}

.gallery-post__caption a {
  color: var(--color-accent);
}

.wp-block-image {
  text-align: center;
}

.wp-block-image figcaption {
  font-size: calc(var(--font-base-size) - 1px);
  font-style: italic;
  padding: 0.8rem 1rem 0;
  margin-top: 0;
  text-align: center;
  color: var(--color-paragraph);
}

@media only screen and (max-width: 580px) {
  .wp-block-image figcaption {
    font-size: calc(var(--font-base-size) - 2px);
    padding: 0.5rem 1rem 0;
  }
}

.gallery-post__caption {
  font-size: calc(var(--font-base-size) - 2px);
  font-style: italic;
  padding: 1rem 1rem 2rem;
  text-align: center;
  width: 100%;
}

.has-drop-cap:not(:focus)::after {
  content: "";
  display: table;
  clear: both;
}

/* Alignments */
.alignnone {
  margin-right: auto;
  margin-left: auto;
}

.aligncenter {
  display: block; 
  margin-left: auto; 
  margin-right: auto;
}

.alignfull {
  margin-left: -1.875rem;
  margin-right: -1.875rem;
}

@media only screen and (max-width: 580px) {
  .alignfull {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
}

@media only screen and (max-width: 580px) {
  .alignright,
  .alignleft,
  .wp-caption.alignright,
  .wp-caption.alignleft {
    max-width: 50%;	
  }
}

.wp-caption {
  max-width: 100%;
  text-align: center;
}

.wp-caption.alignnone {
  margin-right: auto;
  margin-left: auto;
}

.wp-caption.alignleft {
  margin: 0 1rem 1rem 0;
}

.wp-caption.alignright {
  margin: 0 0 1rem 1rem;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}

.wp-block-cover {
  width: auto;
}

/* 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; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: var(--font-base-size);
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.bypostauthor {
  display: block;
}

.gallery-caption {
  display: block;
}

.wp-block-latest-posts > li > a {
  display: inline-block;
  font-size: calc(var(--font-base-size) + 9px);
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
  
@media only screen and (max-width: 580px) {
  .wp-block-latest-posts > li > a {
    font-size: calc(var(--font-base-size) + 3px);
	  margin-bottom: 0.2rem;
  }
}

.sidebar .wp-block-latest-posts > li > a {
  display: inline-block;
  font-size: calc(var(--font-base-size) + 2px);
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
  
.wp-block-latest-posts > li {
  margin-bottom: 2rem;
}

.sidebar .wp-block-latest-posts > li {
  margin-bottom: 0;
}
  
@media only screen and (max-width: 580px) {
  .wp-block-latest-posts > li {
    margin-bottom: 1.5rem;
  }
}

.wp-block-rss .wp-block-rss__item-title > a {
  display: inline-block;
  font-size: calc(var(--font-base-size) + 9px);
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.sidebar .widget {
  margin-bottom: 2.5rem;
}

@media only screen and (max-width: 580px) {
  .sidebar .widget {
    margin-bottom: 1.5rem;
  }
}

.sidebar .widget_block h2 {
  font-size: 1.3rem;
}

.sidebar ol.wp-block-latest-comments {
  padding-right: 0;
  padding-left: 0;
}

.sidebar .wp-block-latest-comments__comment-meta .wp-block-latest-comments__comment-date {
  color: var(--color-overhead);
}

.sidebar .wp-block-latest-comments__comment {
  margin-bottom: 1rem;
}

.sidebar .wp-block-archives-list.wp-block-archives,
.sidebar .wp-block-categories-list.wp-block-categories {
  padding-left: 0;
  list-style: none;
}

@media only screen and (max-width: 580px) {
  .wp-block-rss .wp-block-rss__item-title > a {
    font-size: calc(var(--font-base-size) + 3px);
  }
}

@media only screen and (max-width: 580px) {
  ol.wp-block-latest-comments {
    padding-right: 1rem;
	  padding-left: 1rem;
  }
}

.blog-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 1.5rem;
}

.blog-meta li {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media only screen and (max-width: 580px) {
  .blog-meta li {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

.cat-links,
.tags-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: baseline;
}

.edit-link .feathericon-edit,
.cat-links .feathericon-archive,
.tags-links .feathericon-tag {
  margin-right: 0.5rem; 
  color: var(--color-accent);
}

.entry-footer {
  margin-top: 1rem; 
}

.footer-social-share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1rem;
  margin-top: 1rem;
  padding-top: 2rem;
  position: relative;
}

.footer-social-share > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .footer-social-share {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}

.footer-social-share::before {
  content: '';
  background-color: var(--color-border);
  height: 0.0625rem;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  max-width: 6.25rem;
  width: 15%;
}

.footer-social-share__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: calc(var(--font-base-size) - 2px);
  color: var(--color-paragraph);
  margin: 0 1.0625rem;
}

.footer-social-share__icon > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .footer-social-share__icon {
    margin: 0 0.375rem;
  }
}

.footer-social-share__icon:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.footer-social-share__icon .font-icon {
  margin-right: 0.6875rem;
}

@media only screen and (max-width: 580px) {
  .footer-social-share__icon span {
    display: none;
  }
}

.page-links .post-page-numbers:first-child {
  margin-left: 0;
}

.page-links .post-page-numbers {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.page-links::before {
  display: block;
  content: "";
  clear: both;
}

.post-password-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.post-password-form__input {
  margin-right: 1rem;
}

/* Comments
--------------------------------------------- */
.post-comments {
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .post-comments {
    margin-top: 1.1rem;
  }
}
.comments-title,
.comment-reply-title {
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .comments-title,
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
@media only screen and (max-width: 580px) {
  .avatar {
    height: 100%;
    width: 100%;
  }
}
.comment-body {
  display: flex;
}
.trackback .comment-body,
.pingback .comment-body {
  display: grid;
}
.trackback .comment-body a,
.pingback .comment-body a {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .comment-body {
    padding-top: 1rem;
  }
}
.comment-list{
  list-style: none;
  padding: 0;
}
.comment-list .children {
  list-style: none;
}
.comment-list > li,
.children > li {
  padding-bottom: 1.5rem;
}
.comment-list > .trackback,
.comment-list > .pingback {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.children > li:last-child {
  padding-bottom: 0;
}
.children {
  padding-top: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .comment-list > li,
  .children > li {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .comment-list > .trackback,
  .comment-list > .pingback {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .children {
    padding-top: .5rem;
  }
}

.comment-author {
  position: relative;
  flex: 0 0 auto;
}
.comment-meta {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .comment-meta {
    display: block;
  }
}
.comment-name a {
  font-size: calc(var(--font-base-size) + 3px);
  color: var(--color-heading);
  margin-bottom: 0;
}
.comment-name a {
  text-decoration: none;
}
.comment-metadata {
  font-size: calc(var(--font-base-size) - 1px);
  font-weight: 500;
}
.comment-metadata a time {
  color: var(--color-overhead);
  transition: .3s ease-in-out;
}
.comment-metadata a:hover time,
.comment-name a:hover {
  color: var(--color-accent);
}
.comment-metadata::before {
  content: ' / ';
  margin-left: 9px;
  margin-right: 5px;
  font-style: normal;
  opacity: .3;
  color: var(--color-overhead);
}
@media only screen and (max-width: 580px) {
  .comment-name {
    font-size: 1.1rem;
  }
  .comment-metadata {
    display: block;
    font-size: .85rem;
    margin-top: .5rem;
  }
  .comment-metadata:before {
    display: none;
  }
}
.reply {
  display: inline-block;
}
.comments-reply-link,
.comments-edit-link {
  color: var(--color-accent);
  margin-right: 1rem;
}
.bypostauthor {
  display: block;
}
.comment-list .comment.byuser .comment-author::after,
.comment-list .pingback.byuser .comment-author::after,
.comment-list .trackback.byuser .comment-author::after {
  display: block;
  content: '';
  position: absolute;
  top: -6px;
  right: -8px;
  background-image: url('../icons/check.svg');
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
} 
@media only screen and (max-width: 580px) {
  .comment-list .comment.byuser .comment-author::after,
  .comment-list .pingback.byuser .comment-author::after,
  .comment-list .trackback.byuser .comment-author::after {
    background-size: 20px 20px;
    height: 20px;
    width: 20px;
  }
}
.comment-respond {
  margin-top: 2rem;
}
.comment-reply-title {
  margin-bottom: 1rem;
}
.comment .comment-reply-title {
  font-size: 1.25rem;
}
.comment-reply-title small {
  font-size: 1rem;
  margin-left: 1rem;
}
@media only screen and (max-width: 580px) {
  .comments-area .btn {
    width: 100%;
  }
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
.comments-pagination {
  text-align: center;
}
.comments-pagination .page-numbers {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}
.comments-pagination .page-numbers.current {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  color: #8d99a7;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
  border-color: var(--color-border-input);
}
.wp-block-post-comments-form input:not([type=submit]):focus,
.wp-block-post-comments-form textarea:focus {
  border-color: var(--color-border-input-focus);
}
.wp-block-post-comments-form .comment-form-cookies-consent {
  align-items: baseline;
}

.comments-area .title--h2 {
  margin-top: 1rem;
}

@media only screen and (max-width: 580px) {
  .comments-area .title--h2 {
    margin-top: 0.5rem;
  }
}

.comments-area .form-submit {
  margin-bottom: 0;
}

.comment-list {
  list-style: none;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0;
}

.comment-list .children {
  padding-right: 0;
}

.comment-reply-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 580px) {
  .comment-reply-title {
	  margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
}

.children {
  list-style: none;
}

.comment-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.comment-box > * {
  min-width: 0;
}

.comment-box .comment-box {
  margin-left: 3rem;
}

@media only screen and (max-width: 580px) {
  .comment-box .comment-box {
    margin-left: 1.1875rem;
  }
}

.comment-box__inner {
  border-radius: var(--radius-16);
  -webkit-box-shadow: var(--box-shadow-50);
          box-shadow: var(--box-shadow-50);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.25rem 1.25rem 1rem 1.25rem;
}

.comment-box__inner > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .comment-box__inner {
    border-radius: var(--radius-12);
    -webkit-box-shadow: var(--box-shadow-30);
            box-shadow: var(--box-shadow-30);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1rem;
  }
}

.comment-box__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 1rem;
}

@media only screen and (max-width: 580px) {
  .comment-box__body {
    margin-top: 0.75rem;
    padding-left: 0;
  }
}

.comment-box__body p {
  margin-bottom: 0.6875rem;
  word-break: break-word;
}

@media only screen and (max-width: 580px) {
  .comment-box__body p {
    margin-bottom: 0.5rem;
  }
}

.comment-box__body .emoji {
  margin: 0 0.3125rem;
  vertical-align: bottom;
}

@media only screen and (max-width: 580px) {
  .comment-box__body .emoji {
    margin: 0 0.125rem;
    height: 1.0625rem;
    width: 1.0625rem;
  }
}

.comment-box__details {
  font-size: calc(var(--font-base-size) + 3px);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.comment-box__details > * {
  min-width: 0;
}

@media only screen and (max-width: 580px) {
  .comment-box__details {
    font-size: var(--font-base-size);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
}

.comment-box__details a {
  text-decoration: none;
}

.comment-edit-link,
.comment-respond a {
  font-size: var(--font-base-size);
  font-weight: 400;
}

@media only screen and (max-width: 580px) {
  .comment-edit-link,
  .comment-respond a {
  	 font-size: var(--font-mobile-size);
  }
}

.comment-box__details-date {
  font-size: calc(var(--font-base-size) - 3px);
  font-weight: 400;
  opacity: .5;
}

@media only screen and (max-width: 580px) {
  .comment-box__details-date {
    font-size: calc(var(--font-base-size) - 3px);
    margin-top: 0.3125rem;
  }
}

.comment-box .avatar {
  margin-right: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.comment-box__footer {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.comment-box__footer > * {
  min-width: 0;
}

.comment-box__footer li {
  cursor: pointer;
  font-weight: 400;
  margin-right: 2rem;
}

@media only screen and (max-width: 580px) {
  .comment-box__footer li {
    margin-right: 1rem;
  }
}

.comment-box__footer li:last-child {
  margin-right: 0;
}

.comment-box__footer .font-icon {
  font-size: 1rem;
  vertical-align: text-bottom;
}

@media only screen and (max-width: 580px) {
  .comment-box__footer .font-icon {
    font-size: 0.875rem;
  }
}

.comment-form .textarea {
  max-height: 12.5rem;
  overflow: hidden !important;
}

.comment .btn {
  margin-bottom: 1.6rem;
}

.comment-form .btn-submit {
  right: 0;
  margin-right: 0.75rem;
}

@media only screen and (max-width: 580px) {
  .comment-form .btn-submit {
    margin-right: 0.625rem;
  }
}

.comment-form .dropdown {
  height: 1.1875rem;
  line-height: 1.2;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 0.75rem;
  position: absolute;
  top: 0;
  bottom: 0;
}

.comment-form .dropdown-menu {
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-16);
  -webkit-box-shadow: var(--box-shadow-50);
          box-shadow: var(--box-shadow-50);
  margin-left: -1rem;
  min-width: 14.9375rem;
  max-width: 14.9375rem;
}

.comment-form .dropdown-menu::before {
  content: '';
  height: 0;
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid var(--color-surface-2);
  position: absolute;
  bottom: -0.375rem;
  left: 1rem;
  width: 0;
}

@media only screen and (max-width: 580px) {
  .comment-form .dropdown {
    margin-left: 0.625rem;
  }
}

.no-comments {
  color: #FFFFFF;
  margin: 1rem 0 0;
  padding: 1rem 1rem;
  background: var(--color-error);
  border-radius: var(--radius-14);
}

.comments-pagination {
  margin-bottom: 1.5rem;
}

.comments-pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.comments-pagination .nav-links > *.next {
  margin-left: auto;
}

.comments-pagination .nav-links > *.prev {
  margin-right: auto;
}

.comments-pagination .nav-links > * {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.comments-pagination .nav-links > *:first-child {
  margin-left: 0;
}

.social-auth {
  color: var(--color-heading);
  list-style: none;
  padding: 0;
  margin-top: 1rem;
}

@media only screen and (max-width: 580px) {
  .social-auth {
    font-size: calc(var(--font-base-size) - 1px);
  }
}

.social-auth__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 0.375rem;
}

.social-auth__item > * {
  min-width: 0;
}

.social-auth__link {
  color: var(--color-heading);
}

.social-auth__link:hover {
  color: var(--color-overhead);
}

.social-auth .font-icon {
  border-radius: 50%;
  font-size: 0.75rem;
  padding: 0.375rem;
}

@media only screen and (max-width: 580px) {
  .social-auth .font-icon {
    font-size: 0.6875rem;
  }
}

.social-auth .icon-facebook {
  background-color: #3B5998;
}

.social-auth .icon-twitter {
  background-color: #55ACEE;
}

.social-auth .icon-dribbble {
  background-color: #F26798;
}

.social-auth .icon-behance {
  background-color: #4176FA;
}

/* -----------------------------------------------------------------
    - Single project
----------------------------------------------------------------- */
.header-project {
  margin-top: 1.5rem;
  margin-bottom: 2.5rem;
  position: relative;
}

@media only screen and (max-width: 580px) {
  .header-project {
    margin-top: 1rem;
    margin-bottom: 1.875rem;
  }
}

.header-project .title {
  margin-bottom: 1.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

@media only screen and (max-width: 580px) {
  .header-project .title {
    font-size: calc(var(--font-base-size) + 5px);
    margin-bottom: 0.75rem;
  }
}

.header-project__image-wrap {
  height: 25rem;
  margin-left: -1.875rem;
  margin-right: -1.875rem;
  position: relative;
}

.header-project__image-wrap::before {
  content: '';
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(13, 13, 13, 0)), color-stop(68.23%, rgba(13, 13, 13, 0.4)), to(rgba(13, 13, 13, 0.4)));
  background: linear-gradient(180deg, rgba(13, 13, 13, 0) 0%, rgba(13, 13, 13, 0.4) 68.23%, rgba(13, 13, 13, 0.4) 100%);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

@media only screen and (max-width: 580px) {
  .header-project__image-wrap {
    height: 15.625rem;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
    margin-bottom: 1.5rem;
  }
}

/* Slider */
.js-carousel-project {
  margin-top: 2.375rem;
}

.js-carousel-project .swiper-pagination {
  margin-top: 1.875rem !important;
}

@media only screen and (max-width: 580px) {
  .js-carousel-project {
    margin-top: 1.5rem;
  }
}

.swiper-slide-project {
  height: 19.6875rem;
  max-width: 35rem;
  opacity: .5;
  overflow: hidden;
  -webkit-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
}

.swiper-slide-project.swiper-slide-active {
  opacity: 1;
}

.swiper-slide-project img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100% !important;
  width: 100%;
}

@media only screen and (max-width: 580px) {
  .swiper-slide-project {
    height: 9.25rem;
  }
}

/* Button back */
.btn-back {
  color: var(--color-paragraph);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0;
  background: none;
  padding: 0;
}

.btn-back > * {
  min-width: 0;
}

.btn-back:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.btn-back i {
  margin-right: 0.5rem;
}

/* -----------------------------------------------------------------
    - Testimonials
----------------------------------------------------------------- */
.swiper-container .swiper-wrapper {
  min-height: 100%;
}

.review-item {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: var(--color-gradient-soft);
  border-radius: var(--radius-16);
  height: auto;
  padding: 1.875rem 1.875rem 1.5rem;
  margin-top: 2rem;
}

.review-item > * {
  min-width: 0;
}

.review-item::before {
  background: var(--color-gradient-soft);
  background-repeat: no-repeat;
  background-position: 0 0;
}

.review-item::after {
  content: '\ea1d';
  font-family: 'feather';
  font-size: 2rem;
	display: flex;
  align-items: center;
  height: 2rem;
  position: absolute;
  top: 1.5rem;
  right: 1.875rem;
  width: 2rem;
}

@media only screen and (max-width: 580px) {
    .review-item {
      padding: 1rem;
      margin-top: 1.5rem;
    }
    .review-item::before {
      background-size: 0;
      background-position: 0 0;
    }
	.review-item::after {
		font-size: 1.5rem;
		height: 1.5rem;
		top: 1rem;
		right: 1.5rem;
		width: 1.5rem;
    }
}

.review-item .box-avatar {
    margin-top: -3.75rem;
}

@media only screen and (max-width: 580px) {
    .review-item .box-avatar {
      margin-top: -2.5rem;
      margin-bottom: 0.5rem;
    }
}

.review-item__caption:last-child {
    margin-bottom: 0;
}

.review-item .title {
    margin-top: -1.375rem;
    margin-left: calc(5rem + 0.9375rem);
    margin-bottom: 0.75rem;
}

@media only screen and (max-width: 580px) {
    .review-item .title {
        margin-left: 4.5rem;
        /* margin-top: 0.5rem; */
        margin-bottom: 0.5rem;
    }
}

.review-icon-quote {
	display: flex;
  align-items: center;
	justify-content: center;
	flex: 1;
  margin: auto 0;
  max-width: 5rem;
	position: relative;
}
.review-icon-quote::before {
  content: '\ea1d';
  font-family: 'feather';
  font-size: 2rem;
	display: flex;
  align-items: center;
  height: 2rem;
  position: relative;
  top: 0;
  left: 0;
  width: 2rem;
}

.review-date {
  color: var(--color-overhead);
  display: block;
  margin: 0.25rem 0 0.625rem;
}

.full-rewiew-con-avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
    -ms-flex-direction: column;
      flex-direction: column;
}

.full-rewiew-con-avatar > * {
  min-width: 0;
}

.full-rewiew-con-avatar .box-avatar {
  max-width: 5rem;
  width: auto;
}

@media only screen and (max-width: 768px) {
  .full-rewiew-con-avatar .box-avatar {
    height: 5rem;
  }
}

@media only screen and (max-width: 580px) {
  .full-rewiew-con-avatar .box-avatar {
    margin-bottom: 0.9375rem;
  }
  .full-rewiew-con-avatar .review-icon-quote {
    display: none;
  }
  .full-rewiew-con-avatar .avatar-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
  }
  .full-rewiew-con-text .title,
  .full-rewiew-con-text .review-date {
    text-align: center;
  }
}

.full-rewiew-con-text p:last-child {
  margin-bottom: 0;
}

/* Carousel pagination */
.swiper-pagination {
  margin-top: .5rem !important;
  position: relative !important;
  line-height: 0 !important;
}

.swiper-container-horizontal > .swiper-pagination-custom .swiper-pagination-bullet {
  margin: 0 4px;
}

@media only screen and (max-width: 580px) {
  .swiper-pagination {
      margin-top: 1rem !important;
  }
}

.swiper-pagination-bullet {
  background: var(--color-surface-2) !important;
  border-radius: 1rem !important;
  opacity: 1 !important;
  height: 0.625rem !important;
  width: 0.625rem !important;
  -webkit-transition: width 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
          transition: width 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
}

.swiper-pagination-bullet-active {
  background: var(--color-gradient) !important;
  width: 1.25rem !important;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.3125rem !important;
}

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 0 !important;
}

/* -----------------------------------------------------------------
    - Timeline
----------------------------------------------------------------- */
.timeline {
  margin-top: 1.8125rem;
  padding-left: 1.5rem;
  position: relative;
}

.timeline::before {
  content: '';
  border-left-color: var(--color-border);
  border-left-width: 1px;
  border-left-style: solid;
  height: 3.75rem;
  width: 1px;
  position: absolute;
  top: -1.875rem;
}

@media only screen and (max-width: 580px) {
  .timeline {
    padding-left: 0.90625rem;
  }
}

.timeline__item {
  border-left-color: var(--color-border);
  border-left-width: 1px;
  border-left-style: solid;
  padding-bottom: 0.5625rem;
  padding-left: 2.5rem;
  position: relative;
}

.timeline__item::before {
  content: '';
  background: var(--color-gradient-text);
  -webkit-box-shadow: 0 0 0 0.25rem rgba(255, 219, 110, 0.1);
          box-shadow: 0 0 0 0.25rem rgba(255, 219, 110, 0.1);
  border-radius: 50%;
  position: absolute;
  top: 0.0625rem;
  left: -0.3125rem;
  height: 0.5625rem;
  width: 0.5625rem;
}

.timeline__item:last-child {
  border: 0;
}

@media only screen and (max-width: 580px) {
  .timeline__item {
    padding-left: 1.875rem;
  }
  .timeline__item::before {
    left: -0.21875rem;
    height: 0.375rem;
    width: 0.375rem;
  }
}

.timeline__title {
  margin-bottom: 0;
  position: relative;
  top: -0.3125rem;
}

.timeline__period {
  color: var(--color-accent);
}

.timeline__description {
  margin-top: 0.25rem;
}

@media only screen and (max-width: 580px) {
  .timeline__description {
    margin-top: 0.1875rem;
  }
}

/* -----------------------------------------------------------------
    - Other
----------------------------------------------------------------- */
.back-to-top {
  border-top: 1px solid var(--color-accent);
  border-left: 1px solid var(--color-accent);
  cursor: pointer;
  height: 1.5rem;
  opacity: .5;
  position: fixed;
  right: 2.5rem;
  bottom: 1.875rem;
  width: 1.5rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: opacity .35s ease-out;
  transition: opacity .35s ease-out;
  z-index: 10;
}

.back-to-top:hover {
  opacity: 1;
}

@media only screen and (max-width: 991px) {
  .back-to-top {
    bottom: 5rem;
  }	
}

@media only screen and (max-width: 768px) {
  .back-to-top {
    height: 1.5rem;
    width: 1.5rem;
  }
}

@media only screen and (max-width: 580px) {
  .back-to-top {
    display: none !important;
  }
}

.js-lines {
  overflow: hidden;
}

.js-lines div {
  overflow: hidden;
}

.js-words div div {
  opacity: 0;
}

.medium-zoom-overlay {
  background: var(--color-surface-1) !important;
  z-index: 1104;
}

.medium-zoom-image {
  cursor: pointer !important;
  z-index: 1104;
}

.medium-zoom-image--opened {
  border-radius: 0.0625rem;
  height: 100%;
}

/* Contact form notification */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: var(--color-error);
  border-color: var(--color-error);
  color: var(--color-heading);
}

.wpcf7 form .wpcf7-response-output {
  margin: 2rem 0 0;
  padding: 1rem 1rem;
  background: rgba(0, 160, 210, 1);
  border-radius: var(--radius-14);
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #46b450;
  border-color: #46b450;
  color: #fff;
}

/* -----------------------------------------------------------------
    - 404
----------------------------------------------------------------- */

.error-404.center {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 6rem 0 2rem;
}

.error-404 .error {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-content: center;
  transform: scale(0.8)
}

.error-404 .number {
  font-weight: 600;
  font-size: 15rem;
  line-height: 0.8;
  background-image: var(--color-gradient-text);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.error-404 .illustration {
  position: relative;
  width: 12.2rem;
  margin: 0 2.1rem;
}

.error-404 .circle {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 12.2rem;
  height: 11.4rem;
  border-radius: 50%;
  background: var(--color-gradient);
}

.error-404 .clip {
  position: absolute;
  bottom: 0.3rem;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  width: 12.5rem;
  height: 13rem;
  border-radius: 0 0 50% 50%;
}

.error-404 .paper {
  position: absolute;
  bottom: -0.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 9.2rem;
  height: 12.4rem;
  border: 0.3rem solid var(--color-accent);
  background-color: var(--color-surface-1);
  border-radius: 1.5rem;
}

.error-404 .face {
  position: relative;
  margin-top: 2.3rem;
}

.error-404 .eyes {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 4.6rem;
  height: 0.8rem;
}

.error-404 .eye {
  position: absolute;
  bottom: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: #fff;
  animation-name: eye;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.error-404 .eye-left {
  left: 0;
}

.error-404 .eye-right {
  right: 0;
}

@keyframes eye {
  0% {
    height: 0.8rem;
  }
  50% {
    height: 0.8rem;
  }
  52% {
    height: 0.1rem;
  }
  54% {
    height: 0.8rem;
  }
  100% {
    height: 0.8rem;
  }
}

.error-404 .rosyCheeks {
  position: absolute;
  top: 1.6rem;
  width: 1rem;
  height: 0.2rem;
  border-radius: 50%;
  background-color:rgb(250, 136, 203);
}

.error-404 .rosyCheeks-left {
  left: 1.4rem;
}

.error-404 .rosyCheeks-right {
  right: 1.4rem;
}

.error-404 .mouth {
  position: absolute;
  top: 3.1rem;
  left: 50%;
  width: 1.6rem;
  height: 0.2rem;
  border-radius: 0.1rem;
  transform: translateX(-50%);
  background-color: #fff;
}

.error-404 .title {
  margin-top: 1rem;
}

.error-404 .text-error {
  font-size: 1rem;
  font-weight: 300;
  color: var(--color-paragraph);
  text-align: center;
}

@media only screen and (max-width: 991px) {
  .error-404.center {
    margin: 2.8rem 0 2rem;
  }	
}

@media only screen and (max-width: 768px) {
  .error-404.center {
    margin: 2.5rem 0 2rem;
  }
  .error-404 .number {
    font-size: calc(15rem / 1.5);
  }

  .error-404 .illustration {
    width: calc(12.2rem / 1.5);
    margin: 0 calc(2.1rem / 1.5);
  }

  .error-404 .circle {
    width: calc(12.2rem / 1.5);
    height: calc(11.4rem / 1.5);
  }

  .error-404 .clip {
    bottom: calc(0.3rem / 1.5);
    width: calc(12.5rem / 1.5);
    height: calc(13rem / 1.5);
  }

  .error-404 .paper {
    bottom: calc(-0.3rem / 1.5);
    width: calc(9.2rem / 1.5);
    height: calc(12.4rem / 1.5);
    border: 0.3rem solid var(--color-accent);
    border-radius: calc(1.5rem / 1.5);
  }

  .error-404 .face {
    margin-top: calc(2.3rem / 1.5);
  }

  .error-404 .eyes {
    left: calc(2rem / 1.5);
    width: calc(4.6rem / 1.5);
    height: calc(0.8rem / 1.5);
  }

  .error-404 .eye {
    width: calc(0.8rem / 1.5);
    height: calc(0.8rem / 1.5);
  }

  @keyframes eye {
    0% {
      height: calc(0.8rem / 1.5);
    }
    50% {
      height: calc(0.8rem / 1.5);
    }
    52% {
      height: calc(0.1rem / 1.5);
    }
    54% {
      height: calc(0.8rem / 1.5);
    }
    100% {
      height: calc(0.8rem / 1.5);
    }
  }

  .error-404 .rosyCheeks {
    top: calc(1.6rem / 1.5);
    width: calc(1rem / 1.5);
    height: calc(0.2rem / 1.5);
  }

  .error-404 .rosyCheeks-left {
    left: calc(1.4rem / 1.5);
  }

  .error-404 .rosyCheeks-right {
    right: calc(1.4rem / 1.5);
  }

  .error-404 .mouth {
    top: calc(3.1rem / 1.5);
    width: calc(1.6rem / 1.5);
    height: calc(0.2rem / 1.5);
  }

  .error-404 .title {
    margin-top: calc(1rem / 1.5);
  }

  .error-404 .text-error {
    font-size: var(--font-base-size);
  }	
}

@media only screen and (max-width: 580px) {
  .error-404.center {
    margin: 2.5rem 0 1rem;
  }
  .error-404 .number {
    font-size: calc(15rem / 2.5);
  }

  .error-404 .illustration {
    width: calc(12.2rem / 2.5);
    margin: 0 calc(2.1rem / 2.5);
  }

  .error-404 .circle {
    width: calc(12.2rem / 2.5);
    height: calc(11.4rem / 2.5);
  }

  .error-404 .clip {
    bottom: calc(0.3rem / 2.5);
    width: calc(12.5rem / 2.5);
    height: calc(13rem / 2.5);
  }

  .error-404 .paper {
    bottom: calc(-0.3rem / 2.5);
    width: calc(9.2rem / 2.5);
    height: calc(12.4rem / 2.5);
    border: 0.2rem solid var(--color-accent);
    border-radius: calc(1.5rem / 2.5);
  }

  .error-404 .face {
    margin-top: calc(2.3rem / 2.5);
  }

  .error-404 .eyes {
    left: calc(2rem / 2.5);
    width: calc(4.6rem / 2.5);
    height: calc(0.8rem / 2.5);
  }

  .error-404 .eye {
    width: calc(0.8rem / 2.5);
    height: calc(0.8rem / 2.5);
  }

  @keyframes eye {
    0% {
      height: calc(0.8rem / 2.5);
    }
    50% {
      height: calc(0.8rem / 2.5);
    }
    52% {
      height: calc(0.1rem / 2.5);
    }
    54% {
      height: calc(0.8rem / 2.5);
    }
    100% {
      height: calc(0.8rem / 2.5);
    }
  }

  .error-404 .rosyCheeks {
    top: calc(1.6rem / 2.5);
    width: calc(1rem / 2.5);
    height: calc(0.2rem / 2.5);
  }

  .error-404 .rosyCheeks-left {
    left: calc(1.4rem / 2.5);
  }

  .error-404 .rosyCheeks-right {
    right: calc(1.4rem / 2.5);
  }

  .error-404 .mouth {
    top: calc(3.1rem / 2.5);
    width: calc(1.6rem / 2.5);
    height: calc(0.2rem / 2.5);
  }

  .error-404 .title {
    margin-top: 1rem;
	  margin-bottom: 0.5rem;
  }

  .error-404 .text-error {
    font-size: calc(var(--font-base-size) - 1px);
  }	
}

/* -----------------------------------------------------------------
    - Alignments
----------------------------------------------------------------- */

.single-post .entry-content .alignleft,
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}
.single-post .entry-content .alignright,
.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.single-post .entry-content .aligncenter,
.aligncenter {
	clear: both;
	margin-left: auto;
	margin-right: auto;
  text-align: center;
}

.wp-block-columns.alignfull,
.alignfull:not(.has-background) .wp-block-columns {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.wp-block-image.alignwide img,
.wp-block-cover.alignwide img {
  width: 100%;
}
.wp-block-image.alignfull img,
.wp-block-cover.alignfull img {
  width: 100%;
}

.wp-block-separator.alignwide:not(.is-style-wide):not(.is-style-dots),
.wp-block-separator.alignfull:not(.is-style-wide):not(.is-style-dots) {
  margin-right: auto;
  margin-left: auto;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: inherit;
}

.single-post .wp-block-image,
.single-post .wp-block-gallery {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.single-post .wp-block-gallery.alignleft  {
  margin-top: 0;
}
.item-news .wp-block-image {
  margin-top: .5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .item-news .wp-block-image {
    margin-bottom: 1rem;
  }
}