/*
Theme Name: Plasmid
Version: 1.0
Author: Addway
Author URI: http://themeforest.net/user/addway
Description: 
License: Located in 'licensing' folder
License URI: Located in 'licensing' folder
Tags: ajax, ajax contact form, business, clean, elegant, fashion, jquery, modern, portfolio, showcase, unlimited colors, retina ready, responsive
*/
/* --- Table Of Content

	1. Hover Effects
	2. General Styles
	3. Mixins
	4. WordPress Classes
	5. Content Styles
	6. Leftbar
	7. Overlay
	8. Primary Menu
	9. Social Networks Menu
	10. Header
	11. Footer
	12. Slider
	13. BGM
	14. Blog
	15. Sticky Post
	16. Single Post
	17. Share Button
	18. Comments List
	19. Respond Form
	20. Post Navigation
	21. Portfolio
	22. Single Portfolio
	23. Gallery
	24. Page
	25. Widgets
	26. Plugins
	27. WooCommerce
		1. WooCommerce Styles
		2. Shop
		3. Product
		4. Reviews
		5. Account
		6. Cart
		7. Checkout
	28. Framework

--- */
/* ______________________________________________________________________________________________

                                          Hover Effects
   ______________________________________________________________________________________________ */
/* Pop */
@-webkit-keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
@keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
/* Sink */
/* Shrink */
/* Outline Out */
/* Outline In */
/* Ripple In */
@-webkit-keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
@keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
/* Ripple Out */
@-webkit-keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
@keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
/* Trim */
/* Border Fade */
/* Underline Reveal */
/* Hollow */
/* Fade */
/* Rectangle In */
/* Sweep To Bottom */
/* Radial Out */
/* Underline From Center */
/* ______________________________________________________________________________________________

                                       LESS Variables (No real CSS)
   ______________________________________________________________________________________________ */
/**
 * This padding applies also on widget list item, to keep the consistance between
 * normal menu and mega menu which filled with widgets
 */
/**
 * Light version Header
 *
 * @usage 
 * 
	    .light-header({
	        p {
	        	line-height: 1.8;
	        }
	    });

 * @link http://stackoverflow.com/questions/23935102/build-list-of-selectors-with-less/23954580
 */
/* ______________________________________________________________________________________________

                                          General Styles
   ______________________________________________________________________________________________ */
html {
  font-size: 62.5%;
}
html.noscroll {
  position: fixed;
  width: 100%;
}
body {
  font-family: 'Open Sans', Arial, Helvetica, FreeSans, sans-serif;
  color: #444;
  font-size: 1.5rem;
  line-height: 1.618;
  margin: 0;
}
@media screen and (min-width: 320px) {
  html {
    font-size: 54.7%;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 58.6%;
  }
}
@media screen and (min-width: 1200px) {
  html {
    font-size: 62.5%;
  }
}
@media screen and (min-width: 1366px) {
  body {
    font-size: 1.6rem;
  }
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: Raleway, Arial, Helvetica, FreeSans, sans-serif;
  font-weight: bold;
  color: #303030;
  margin-top: 0;
}
h1,
h2,
h3,
.h1,
.h2,
.h3 {
  margin-bottom: 0.8em;
}
h4,
h5,
h6,
.h4,
.h5,
.h6 {
  margin: 0 0 1.33em;
}
h1 {
  font-size: 4.8rem;
  line-height: 1.1;
}
h2 {
  font-size: 3.6rem;
  line-height: 1.25;
}
h3 {
  font-size: 2.8rem;
  line-height: 1.25;
}
h4 {
  font-size: 1.8rem;
  line-height: 1.22;
}
h5 {
  font-size: 1.6rem;
}
h6 {
  font-size: 1.4rem;
}
big {
  font-size: 120%;
}
p {
  margin-top: 0;
  margin-bottom: 20px;
}
a {
  color: #2abac3;
  text-decoration: none;
}
a:hover,
a:focus {
  text-decoration: none;
}
a:focus {
  outline: none;
  outline-offset: -2px;
}
a.disabled {
  pointer-events: none;
  cursor: default;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #2abac3;
}
textarea,
input.text,
input[type="button"],
input[type="submit"],
input[type="email"],
input[type="password"],
input[type=text] {
  /* Remove Input style of iOS */
  -webkit-appearance: none;
  border-radius: 0;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
img {
  max-width: 100%;
  height: auto;
}
embed,
iframe,
object,
video {
  border: none;
  margin-bottom: 1.618em;
  max-width: 100%;
  vertical-align: middle;
}
p > embed,
p > iframe,
p > object,
p > video {
  margin-bottom: 0;
}
ol {
  list-style: decimal;
}
dl,
hr,
ol,
ul,
pre,
table,
address,
fieldset {
  margin-bottom: 20px;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0;
}
dt {
  font-weight: bold;
}
fieldset {
  border: 1px solid #c0c0c0;
  display: block;
  margin-left: 2px;
  margin-right: 2px;
  padding: 10px 15px;
}
.logo img {
  max-width: 100%;
  height: auto;
}
/* ------------------ helper classes ------------------ */
.inline {
  display: inline-block;
  margin-bottom: 0 !important;
}
.no-margin {
  margin: 0 !important;
}
.aligntop {
  vertical-align: top;
}
.alignmiddle {
  vertical-align: middle !important;
}
.alignbottom {
  vertical-align: bottom;
}
.alignleft {
  float: left;
}
.alignright {
  float: right;
}
.aligncenter {
  text-align: center;
}
.hentry {
  list-style: none;
}
.clear {
  clear: both;
}
.hidden {
  display: none;
}
button.themecolor {
  background-color: #888;
}
.no-header .header-container {
  display: none;
}
.no-footer .footer-container {
  display: none;
}
.no-footer .main {
  margin-bottom: 0;
}
.no-page-title .entry-inner > .inner,
.no-page-title .hero-container .hero-inner {
  display: none;
}
.no-share .share {
  display: none;
}
/* If set overflow:hidden, the bottom border of posts is missing from blog page 
 * If set clearfix, header shadow not working due to conflict on :after
 */
.plasmid-container {
  position: relative;
  -webkit-transition: margin .3s;
  transition: margin .3s;
}
.boxed {
  width: 100%;
  max-width: 1318px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .form-input {
    margin: 0 0 1.5rem 0 !important;
    width: 100% !important;
    float: none !important;
  }
}
/* fix: parallax layer is covered by background color or image */
@media only screen and (min-width: 1200px) {
  .parallax-window {
    background: none !important;
  }
}
/* ------------------ Back to Top ------------------ */
#backtotop {
  display: none;
}
/* ------------------ TN LESS ------------------ */
@-webkit-keyframes tn-ripple-out {
  100% {
    top: -1em;
    right: -1em;
    bottom: -1em;
    left: -1em;
    opacity: 0;
  }
}
@keyframes tn-ripple-out {
  100% {
    top: -1em;
    right: -1em;
    bottom: -1em;
    left: -1em;
    opacity: 0;
  }
}
@-webkit-keyframes tn-ripple-out2 {
  100% {
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
  }
}
@keyframes tn-ripple-out2 {
  100% {
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
  }
}
@-webkit-keyframes tn-wave {
  0%,
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
}
@keyframes tn-wave {
  0%,
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
}
/* Sweep To Right */
/* ------------------ WP classes ------------------ */
.gallery-caption {
  overflow: hidden;
}
.bypostauthor {
  overflow: hidden;
}
.wp-caption {
  padding: 5px 0 10px;
}
.wp-caption .wp-caption-text {
  text-align: center;
}
.wp-caption.aligncenter {
  margin: 1em auto;
}
.wp-caption.alignnone {
  margin: 5px 0 20px 0;
  max-width: 100%;
}
.wp-caption.alignnone .wp-caption-text {
  text-align: left;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft .wp-caption-text {
  text-align: left;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption.alignright .wp-caption-text {
  text-align: right;
}
.wp-caption img {
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}
.wp-caption .wp-caption-text {
  font-style: italic;
  font-size: 1.4rem;
  line-height: 17px;
  margin: 0;
  color: #aaa;
  padding: 0 4px 5px;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
.searchform {
  /* clears the 'X' from Internet Explorer */
  /* clears the 'X' from Chrome */
}
.searchform input[type=text]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
.searchform input[type=text]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.searchform input[type="text"]::-webkit-search-decoration,
.searchform input[type="text"]::-webkit-search-cancel-button,
.searchform input[type="text"]::-webkit-search-results-button,
.searchform input[type="text"]::-webkit-search-results-decoration {
  display: none;
}
/* ------------------ Format ------------------ */
acronym,
abbr {
  cursor: help;
  border-bottom: 1px dashed #424242;
}
blockquote {
  padding: 1rem 0;
}
blockquote p {
  color: #909090;
  font-size: 1.15em;
  line-height: 1.8;
  letter-spacing: 1px;
  font-style: italic;
}
cite {
  display: block;
  font-size: 1.2rem;
  margin-top: 2rem;
}
del {
  color: #b2b2b2;
}
pre {
  background: none repeat scroll 0 0 #f5f5f5;
  color: #808080;
  display: block;
  font-size: 1.4rem;
  margin-bottom: 20px;
  padding: 2rem 2.5rem;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}
code {
  background: none repeat scroll 0 0 #f5f5f5;
  color: #808080;
  font-size: 1.3rem;
  display: block;
  padding: 20px;
  margin: 20px 0;
}
.entry-content img.alignleft,
.comments-list .comment-text img.alignleft,
.entry-content a img.alignleft,
.comments-list .comment-text a img.alignleft {
  margin: 1rem 2rem 1rem 0;
  max-width: 100%;
}
.entry-content img.alignright,
.comments-list .comment-text img.alignright,
.entry-content a img.alignright,
.comments-list .comment-text a img.alignright {
  margin: 1rem 0 1rem 2rem;
  max-width: 100%;
}
.entry-content img.aligncenter,
.comments-list .comment-text img.aligncenter,
.entry-content a img.aligncenter,
.comments-list .comment-text a img.aligncenter {
  margin: 1rem auto;
  display: block;
  max-width: 100%;
}
.entry-content img.alignnone,
.comments-list .comment-text img.alignnone,
.entry-content img.alignleft,
.comments-list .comment-text img.alignleft,
.entry-content img.alignright,
.comments-list .comment-text img.alignright {
  margin-bottom: 2rem;
}
.entry-content li,
.comments-list .comment-text li {
  list-style: disc;
  list-style-position: inside;
  padding: 3px 0;
}
.entry-content li li,
.comments-list .comment-text li li {
  margin-left: 20px;
}
.entry-content ul,
.comments-list .comment-text ul,
.entry-content ol,
.comments-list .comment-text ol {
  margin: 0 0 1.75em 1.25em;
  padding: 0;
}
.entry-content ol > li,
.comments-list .comment-text ol > li {
  list-style: decimal;
}
.entry-content ol,
.comments-list .comment-text ol {
  margin-left: 1.5em;
}
.entry-content li > ul,
.comments-list .comment-text li > ul,
.entry-content li > ol,
.comments-list .comment-text li > ol {
  margin-bottom: 0;
}
.entry-content table,
.comments-list .comment-text table,
.entry-content th,
.comments-list .comment-text th,
.entry-content td,
.comments-list .comment-text td {
  border: 1px solid #eee;
}
.entry-content table,
.comments-list .comment-text table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.75em;
  width: 100%;
  /* Use table-layout: fixed can fix the issue "HTML tables becoming too wide", however it conflicts with github embeds */
}
.entry-content caption,
.comments-list .comment-text caption,
.entry-content th,
.comments-list .comment-text th,
.entry-content td,
.comments-list .comment-text td {
  font-weight: normal;
  text-align: left;
}
.entry-content th,
.comments-list .comment-text th {
  border-width: 0 1px 1px 0;
  font-weight: 700;
}
.entry-content td,
.comments-list .comment-text td {
  border-width: 0 1px 1px 0;
}
.entry-content th,
.comments-list .comment-text th,
.entry-content td,
.comments-list .comment-text td {
  padding: 0.4375em;
}
/* ____________________________________________________________________________________________________

                                        Ajax Load More
 ______________________________________________________________________________________________________ */
.load-more {
  position: relative;
}
.load-more .loading-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  display: none;
}
.load-more-button {
  -webkit-transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.load-more-button.disabled {
  opacity: 0;
}
.infinite-scroll .load-more-button {
  opacity: 0;
  pointer-events: none;
  cursor: default;
}
@-webkit-keyframes draw-border-top-right-white {
  0% {
    width: 0;
    height: 0;
    border-top-color: #fff;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  50% {
    width: 100%;
    height: 0;
    border-top-color: #fff;
    border-right-color: #fff;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: #fff;
    border-right-color: #fff;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
}
@keyframes draw-border-top-right-white {
  0% {
    width: 0;
    height: 0;
    border-top-color: #fff;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  50% {
    width: 100%;
    height: 0;
    border-top-color: #fff;
    border-right-color: #fff;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: #fff;
    border-right-color: #fff;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
}
@-webkit-keyframes draw-border-left-bottom-white {
  0% {
    width: 0;
    height: 0;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #fff;
  }
  50% {
    width: 0;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
  }
}
@keyframes draw-border-left-bottom-white {
  0% {
    width: 0;
    height: 0;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #fff;
  }
  50% {
    width: 0;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
  }
}
@-webkit-keyframes draw-border-top-right-black {
  0% {
    width: 0;
    height: 0;
    border-top-color: #111;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  50% {
    width: 100%;
    height: 0;
    border-top-color: #111;
    border-right-color: #111;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: #111;
    border-right-color: #111;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
}
@keyframes draw-border-top-right-black {
  0% {
    width: 0;
    height: 0;
    border-top-color: #111;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  50% {
    width: 100%;
    height: 0;
    border-top-color: #111;
    border-right-color: #111;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: #111;
    border-right-color: #111;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
}
@-webkit-keyframes draw-border-left-bottom-black {
  0% {
    width: 0;
    height: 0;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #111;
  }
  50% {
    width: 0;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #111;
    border-left-color: #111;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #111;
    border-left-color: #111;
  }
}
@keyframes draw-border-left-bottom-black {
  0% {
    width: 0;
    height: 0;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #111;
  }
  50% {
    width: 0;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #111;
    border-left-color: #111;
  }
  100% {
    width: 100%;
    height: 100%;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: #111;
    border-left-color: #111;
  }
}
/* Overlay style */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 37px;
  z-index: 999;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.overlay .menu li {
  list-style: none;
}
.overlay .close {
  position: absolute;
  right: 0;
  font-size: 24px;
  opacity: .8;
  padding: 0 10px;
  cursor: pointer;
}
.overlay .close:hover {
  opacity: 1;
}
.overlay .nav-icon {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0.6;
}
.overlay .nav-icon:hover {
  opacity: 1;
}
.admin-bar .overlay {
  top: 32px;
  height: calc(100% - 32px);
}
.overlay-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  vertical-align: middle;
  text-align: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
/* Effects */
.tn-overlay-open .overlay {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-height: 30.5em) {
  .overlay nav {
    font-size: 34px;
  }
  .overlay ul li {
    min-height: 34px;
  }
}
a {
  text-decoration: none;
}
/**
 * Hidden fallback
 */
[hidden] {
  display: none;
  visibility: hidden;
}
.menu-fullscreen {
  text-transform: uppercase;
}
.menu-fullscreen label:after {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  position: absolute;
  line-height: inherit;
  content: "\f489";
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}
.menu-fullscreen a,
.menu-fullscreen label {
  color: #fff;
}
.menu-fullscreen > li.current-menu-item > a,
.menu-fullscreen > li.current-menu-parent > a,
.menu-fullscreen > li.current-menu-ancestor > a,
.menu-fullscreen > li:hover > a,
.menu-fullscreen > li.current-menu-item label,
.menu-fullscreen > li.current-menu-parent label,
.menu-fullscreen > li.current-menu-ancestor label,
.menu-fullscreen > li:hover label {
  color: #fff;
  opacity: 1;
}
.menu-fullscreen li a,
.menu-fullscreen li label {
  color: #fff;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  font-weight: normal;
  display: block;
}
.menu-fullscreen li {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  display: block;
}
.tn-vertical-header .header-inner .menu-primary,
.menu-fullscreen {
  list-style: none;
  padding: 0;
  display: inline-block;
  height: 100%;
  position: relative;
}
.tn-vertical-header .header-inner .menu-primary a,
.menu-fullscreen a {
  display: block;
}
.accordion-menu {
  /**
	 * Hide nested lists, 2nd level only
	 */
}
.accordion-menu label {
  cursor: pointer;
  display: inline-block;
}
.accordion-menu > li > .sub-menu,
.accordion-menu > li > .megamenu-panel {
  height: 100%;
  overflow: hidden;
  -webkit-transition: max-height 0.5s ease-in-out;
  transition: max-height 0.5s ease-in-out;
}
.accordion-menu input[type=checkbox]:checked + label {
  opacity: 1;
}
.accordion-menu input[type=checkbox]:checked + label + ul a {
  opacity: 1;
}
.accordion-menu input[type=checkbox]:not(:checked) + label + ul {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.accordion-menu > li.current-menu-ancestor > ul,
.accordion-menu input[type=checkbox]:checked + label + ul {
  /* reset the height when checkbox is checked */
  max-height: 9999px;
}
.overlay .menu-social li {
  display: inline-block;
  margin: 0 8px;
}
.overlay .menu-social a {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 1.2rem;
  color: #fff;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
}
.overlay .menu-social a:after {
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: '';
  position: absolute;
  border: rgba(255, 255, 255, 0) solid 1px;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.overlay .menu-social a:hover:after,
.overlay .menu-social a:focus:after,
.overlay .menu-social a:active:after {
  border-color: rgba(255, 255, 255, 0.7);
  -webkit-animation-name: tn-ripple-out;
  animation-name: tn-ripple-out;
}
.overlay .menu-social a:hover {
  border-color: #fff;
}
.main .menu-social:before,
.main .menu-social:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.main .menu-social:after {
  clear: both;
}
.main .menu-social li {
  display: inline-block;
  float: left;
}
.main .menu-social a {
  padding: 0 10px;
  display: block;
}
/* ____________________________________________________________________________________________________

                                     Woocommerce
 ______________________________________________________________________________________________________ */
body.module-woocommerce .woocommerce-store-notice,
body.module-woocommerce p.demo_store {
  position: relative;
  padding: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body.module-woocommerce.admin-bar p.demo_store {
  top: 0;
}
/* ____________________________________________________________________________________________________

                                     Woocommerce: Quantity Input
 ______________________________________________________________________________________________________ */
.quantity {
  position: relative;
  padding: 0 32px;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
.quantity input {
  width: 45px;
  height: 42px;
  line-height: 1.65;
  display: block;
  padding: 0;
  margin: 0;
  border: 1px solid #e8e8e8;
  border-left: 0;
  border-right: 0;
  text-align: center;
}
.quantity input:focus {
  outline: 0;
}
.quantity-button {
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: pointer;
  border: 1px solid #e8e8e8;
  width: 32px;
  text-align: center;
  color: #333;
  line-height: 42px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.quantity-button.quantity-up {
  right: 0;
}
.quantity-button.quantity-down {
  left: 0;
}
/* ____________________________________________________________________________________________________

                                     Woocommerce: Cart Page
 ______________________________________________________________________________________________________ */
.woocommerce-cart .cross-sells h2 {
  font-size: 1.6em;
  margin-bottom: 1.6em;
}
/* Load small elements before sections & pages, their style can be override */
/* ______________________________________________________________________________________________

                                       Nav Button
   ______________________________________________________________________________________________ */
.nav-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
  height: 16px;
  position: relative;
  width: 24px;
  display: inline-block;
}
.nav-icon span {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  background: #333;
  display: block;
  height: 2px;
  left: 0;
  opacity: 1;
  position: absolute;
  width: 100%;
}
.nav-icon span:nth-child(1) {
  top: 0px;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.nav-icon span:nth-child(2) {
  top: 7px;
  width: 85%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.nav-icon span:nth-child(3) {
  top: 14px;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.nav-icon:hover span:nth-child(2) {
  width: 100%;
}
.nav-icon.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: -1px;
  left: 5.67%;
}
.nav-icon.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}
.nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 16px;
  left: 5.67%;
}
@media only screen and (min-width: 992px) {
  .light.overlay-inner .nav-icon span,
  .light.leftbar span,
  .light-sticky.fixed.header-container .nav-icon span,
  .light.header-container:not(.fixed) .nav-icon span {
    background: #fff;
  }
}
.header-inner .nav-icon {
  display: none;
}
.show-hamburger-menu .nav-icon {
  display: inline-block;
}
@media only screen and (max-width: 991px) {
  .leftbar .nav-icon {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  .header-inner .nav-icon {
    display: inline-block;
  }
}
/* ______________________________________________________________________________________________

                                       Breadcrumbs
   ______________________________________________________________________________________________ */
.breadcrumbs {
  margin: 0;
}
.breadcrumbs li {
  list-style: none;
  display: inline-block;
  margin: 0 3px;
}
.breadcrumbs li:first-child {
  margin-left: 0;
}
.breadcrumbs li:last-child {
  margin-right: 0;
}
.share {
  color: #121212;
  font-size: 16px;
  position: relative;
}
.has-hero-image .share {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 99;
}
.has-hero-image .share:hover .share-button:before,
.has-hero-image .share:focus .share-button:before,
.has-hero-image .share:active .share-button:before {
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  opacity: 1;
}
.has-hero-image .share .social-medias {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0;
  color: #121212;
  visibility: hidden;
  padding-bottom: 5px;
}
.has-hero-image .share .social-medias a {
  opacity: 1;
}
.has-hero-image .share .social-medias ul {
  margin: 10px 0!important;
}
.has-hero-image .share .social-medias li {
  display: block;
  margin: 0;
}
.has-hero-image .share .social-medias i {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
  color: #121212;
}
.share-button {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  font-size: 1.8rem;
  color: #121212;
  opacity: 1;
  z-index: 1;
}
.share-button:before {
  pointer-events: none;
  content: '';
  position: absolute;
  border: rgba(18, 18, 18, 0.5) solid 1px;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 0;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-property: "top, right, bottom, left";
  transition-property: "top, right, bottom, left";
}
.has-hero-image .share:hover .social-medias {
  bottom: 3.2rem;
  opacity: 1;
  visibility: visible;
}
.has-hero-image .share:hover .social-medias li:hover i {
  opacity: 0.6;
  -webkit-transform: rotateZ(360deg);
          transform: rotateZ(360deg);
}
.has-hero-image .share:hover .social-medias i {
  -webkit-transform: rotateX(0deg);
          transform: rotateX(0deg);
}
.single-post:not(.has-hero-image) .share {
  display: block;
  width: 100%;
  margin-bottom: 4rem;
  text-align: left;
  right: auto;
  left: 0;
  bottom: 1rem;
}
.single-post:not(.has-hero-image) .share .share-button {
  display: none;
}
.single-post:not(.has-hero-image) .share .social-medias {
  position: relative;
  visibility: visible;
  opacity: 1;
}
.single-post:not(.has-hero-image) .share .social-medias i {
  -webkit-transform: none;
          transform: none;
}
.single-post:not(.has-hero-image) .share .social-medias li {
  display: inline-block;
}
.woocommerce-page:not(.single) .share {
  display: none;
}
.share.light,
.light .share,
.light-share-button .share {
  color: #fff;
}
.share.light .share-button,
.light .share .share-button,
.light-share-button .share .share-button {
  color: #fff;
}
.share.light .share-button:before,
.light .share .share-button:before,
.light-share-button .share .share-button:before {
  border-color: rgba(255, 255, 255, 0.7);
}
.share.light .social-medias,
.light .share .social-medias,
.light-share-button .share .social-medias {
  color: #fff;
}
.share.light .social-medias i,
.light .share .social-medias i,
.light-share-button .share .social-medias i {
  color: #fff;
}
@media only screen and (min-width: 992px) {
  .single-post:not(.has-hero-image) .social:hover .social-medias {
    bottom: 3.2rem;
    opacity: 1;
    visibility: visible;
  }
  .single-post:not(.has-hero-image) .social:hover .social-medias i {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
}
/* ______________________________________________________________________________________________

                                          Search Form
   ______________________________________________________________________________________________ */
.searchform {
  position: relative;
}
.searchform input {
  width: 100%;
  line-height: 4rem;
  border: none;
  outline: none;
  background: none;
  border: 1px solid #e5e5e5;
  padding-left: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: inherit;
  font-weight: inherit;
}
.searchform button {
  background: none;
  border: none;
  padding: 10px 20px;
  margin: 0;
  outline: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
}
.searchform i {
  display: block;
  background: none;
  cursor: pointer;
}
.searchform i:hover {
  opacity: 0.5;
}
.new-search {
  padding-bottom: 6rem;
  margin-bottom: 6rem;
  border-bottom: 1px solid #eee;
}
.new-search h3 {
  margin-top: 0;
}
.no-results p {
  padding: 2rem;
  background: #f6f6f6;
  color: #888;
  text-align: center;
  margin: 0 0 3rem;
}
/* ______________________________________________________________________________________________

                                          Header
   ______________________________________________________________________________________________ */
.header-container {
  line-height: 0;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 4.4rem;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
.header-container.header-shadow {
  -webkit-box-shadow: 0px 9px 45px -2px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 9px 45px -2px rgba(0, 0, 0, 0.12);
}
.header-row {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  color: #333;
  width: 100%;
}
.header-row:before,
.header-row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.header-row:after {
  clear: both;
}
.header-row .title,
.header-row .header-link a {
  color: #202020;
  border-color: #202020;
}
.header-row .header-link .icon-nav {
  border-color: #121212;
}
.header-row .tn_header_logo_light {
  display: none;
}
.header-row .tn_header_logo_dark {
  display: block;
}
.header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 8rem;
  position: relative;
  /* Fix: mega menu width and position */
}
.header-inner .title {
  font-weight: bold;
  margin: 0;
  white-space: nowrap;
}
.header-inner .title a {
  color: #121212;
}
.header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.header-content > * {
  margin: 0 10px;
}
.header-aligncenter .header-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.header-content-1 {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.header-content-1 > :first-child {
  margin-left: 0 !important;
}
.header-content-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}
.header-on-top .header-content-2 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header-content-3 {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header-content-3 > :last-child {
  margin-right: 0 !important;
}
@media only screen and (min-width: 992px) {
  .header-over-hero {
    position: absolute;
  }
  .header-over-hero.fixed {
    position: fixed !important;
  }
  .header-over-hero.header-transparent {
    background: none !important;
  }
}
.header-widgets {
  margin: 0;
  display: table;
}
.header-widgets .header-widget {
  display: table-cell;
  vertical-align: middle;
  padding-left: 1rem;
}
.header-widgets .widget-title {
  display: none;
}
.header-fullwidth .header-row {
  max-width: 100% !important;
}
@media only screen and (max-width: 991px) {
  .header-tagline {
    display: none;
  }
  .header-widgets {
    display: none;
  }
}
/* ______________________________________________________________________________________________

                                      Sticky Header
   ______________________________________________________________________________________________ */
.admin-bar .header-container.fixed {
  top: 32px;
}
.nav-container.fixed {
  position: fixed;
  position: sticky;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  -webkit-animation: slide-down 0.7s;
          animation: slide-down 0.7s;
  left: 0;
  right: 0;
}
.header-container.sticky {
  -webkit-transition-property: padding, background, -webkit-transform;
  transition-property: padding, background, -webkit-transform;
  transition-property: transform, padding, background;
  transition-property: transform, padding, background, -webkit-transform;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
}
.header-container.fixed {
  -webkit-transition: all 0.4s ease-in;
  transition: all 0.4s ease-in;
  -webkit-transition-property: padding, background, -webkit-transform;
  transition-property: padding, background, -webkit-transform;
  transition-property: transform, padding, background;
  transition-property: transform, padding, background, -webkit-transform;
  position: fixed;
  position: sticky;
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
  padding-top: 0;
  padding-bottom: 0;
  background: #fff !important;
}
.header-container.fixed .header-row {
  min-height: 7rem;
}
.header-container.fixed.scroll-down {
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.header-container.fixed.scroll-up {
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hero-parallax-on .header-container.fixed {
  position: fixed !important;
  /* parallax conflicts with position:sticky, pushing header left */
}
.layout-boxed .header-container.fixed {
  left: auto;
  right: auto;
}
@-webkit-keyframes slide-down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slide-down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.header-link {
  font-size: 1.4rem;
  letter-spacing: 0.5px;
  color: #ffffff;
}
.header-link a {
  display: inline-block;
}
.header-link span {
  font-weight: bold;
  text-transform: uppercase;
}
.header-link .icon-nav {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  border: 1px solid #121212;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  margin-left: 1rem;
  font-size: 1rem;
}
.header-link a:hover .icon-nav {
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
}
@media only screen and (max-width: 991px) {
  .header-container {
    padding: 0 2rem;
  }
  .header-container .title {
    font-size: 2.2rem;
  }
  .header-link span {
    display: none;
  }
  .has-hero-image .header-link .icon-nav {
    width: 30px;
    height: 32px;
    line-height: 32px;
    font-size: 1.3rem;
  }
  .share {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .header-inner .title {
    max-width: 220px;
    overflow: hidden;
  }
  .header-inner .filter {
    text-align: center;
    border-left: none;
    margin-left: 0;
    padding-left: 0;
    line-height: 2em;
  }
}
@media only screen and (min-width: 992px) {
  .header-container.light:not(.fixed),
  .header-container.light-sticky.fixed,
  .vheader-container.light {
    color: #fff;
  }
  .header-container.light:not(.fixed) .title,
  .header-container.light-sticky.fixed .title,
  .vheader-container.light .title,
  .header-container.light:not(.fixed) .header-item,
  .header-container.light-sticky.fixed .header-item,
  .vheader-container.light .header-item,
  .header-container.light:not(.fixed) p,
  .header-container.light-sticky.fixed p,
  .vheader-container.light p {
    color: #fff;
    border-color: #fff;
  }
  .header-container.light:not(.fixed) .header-link .icon-nav,
  .header-container.light-sticky.fixed .header-link .icon-nav,
  .vheader-container.light .header-link .icon-nav {
    border-color: #ffffff;
  }
}
.header.dark {
  color: #333;
}
.header.dark .title,
.header.dark .header-link a {
  color: #202020;
  border-color: #202020;
}
.header.dark .header-link .icon-nav {
  border-color: #121212;
}
.header-container.sticky .header-inner {
  color: #333;
}
.header-container.sticky .header-inner .title,
.header-container.sticky .header-inner .header-link a {
  color: #202020;
  border-color: #202020;
}
.header-container.sticky .header-inner .header-link .icon-nav {
  border-color: #121212;
}
.header-container.sticky .header-inner .tn_header_logo_light {
  display: none;
}
.header-container.sticky .header-inner .tn_header_logo_dark {
  display: block;
}
/* ______________________________________________________________________________________________

                                          Header Logo
   ______________________________________________________________________________________________ */
.header-logo {
  vertical-align: middle;
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.header-logo img {
  -webkit-backface-visibility: hidden;
  /* IE 9 */
  -webkit-transform: translateZ(0);
  /* Chrome, Safari, Opera */
  transform: translateZ(0);
}
.has-hero-image .header-inner .logo {
  display: inline-block;
}
.tn_sticky_header_logo,
.tn_sticky_header_logo_mobile {
  display: none;
}
.tn_header_logo_mobile,
.tn_header_logo_mobile_light {
  display: none;
}
@media only screen and (min-width: 992px) {
  .header-container.light:not(.fixed) .tn_header_logo_light,
  .header-container.light-sticky.fixed .tn_header_logo_light,
  .vheader-container.light .tn_header_logo_light {
    display: block;
  }
  .header-container.light:not(.fixed) .tn_header_logo_dark,
  .header-container.light-sticky.fixed .tn_header_logo_dark,
  .vheader-container.light .tn_header_logo_dark {
    display: none;
  }
}
.header.dark .tn_header_logo_light {
  display: none;
}
.header.dark .tn_header_logo_dark {
  display: block;
}
.header-container.fixed .logo img {
  display: none !important;
}
.header-container.fixed .logo img.tn_sticky_header_logo {
  display: block !important;
}
@media only screen and (max-width: 991px) {
  .tn_header_logo_light,
  .tn_header_logo_dark {
    display: none!important;
  }
  .tn_header_logo_mobile {
    display: block!important;
  }
  .header-container.fixed .logo img.tn_sticky_header_logo {
    display: none !important;
  }
  .header-container.fixed .logo img.tn_sticky_header_logo_mobile {
    display: block !important;
  }
}
/* ______________________________________________________________________________________________

                                          Main Nav
   ______________________________________________________________________________________________ */
.menu,
.menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 991px) {
  .main-nav,
  .secondary-nav,
  nav.header-menu {
    display: none;
  }
}
.header-menu {
  width: 100%;
}
.header-menu select {
  display: none;
}
nav.header-menu {
  text-align: right;
}
nav.header-menu .page_item {
  display: inline-block;
  position: relative;
}
nav.header-menu .page_item > a {
  display: block;
  position: relative;
  text-decoration: none;
  line-height: inherit;
}
nav.header-menu .page_item ul {
  display: none;
}
/**
 * For both horizontal and vertical nav
 */
ul.header-menu > li {
  /* Do not add padding on 'li a', this will affect hover animation */
  display: inline-block;
  position: relative;
}
ul.header-menu > li > a {
  display: block;
  position: relative;
  text-decoration: none;
  line-height: inherit;
}
ul.header-menu ul {
  line-height: 1;
}
ul.header-menu ul li a,
ul.header-menu ul li label {
  line-height: 2;
}
ul.header-menu a:hover {
  outline: 0;
}
ul.header-menu a:active {
  outline: 0;
}
/**
 * Horizontal nav only
 * 
 * Note: menu doesn't have a container 'main-nav' before assigned to a location
 *
 * Note: Do not add typography because .main-nav .menu-primary rules will overwrite .menu-primary rules created by Customizer
 */
.header-on-top ul.header-menu .sub-menu {
  text-align: left;
  display: block;
  visibility: hidden;
  position: absolute;
  top: -999em;
  width: 200px;
}
.header-on-top ul.header-menu .sub-menu ul {
  left: 200px;
  padding-left: 5px;
}
.header-on-top ul.header-menu .sub-menu a {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header-on-top ul.header-menu > li {
  display: inline-block;
}
.header-on-top ul.header-menu > li:hover {
  visibility: inherit;
  outline: 0;
}
.header-on-top ul.header-menu > li:hover ul {
  top: 25px;
  z-index: 999;
}
.header-on-top ul.header-menu > li:hover li ul {
  top: -999em;
}
.header-on-top ul.header-menu > li li {
  position: relative;
}
.header-on-top ul.header-menu > li li:hover > ul {
  top: 0;
}
.header-on-top ul.header-menu > li li li:first-child {
  padding-top: 0;
}
.nav-container {
  background-color: #ffffff;
  border-top: 1px solid #e6e6e6;
  z-index: 98;
}
.nav-container .menu {
  display: block;
}
.light.header-container:not(.fixed) .header-inner .header-menu > li > a {
  color: #fff;
}
.light.header-container:not(.fixed) .header-inner .header-menu > li > a:hover {
  opacity: 0.5;
}
.light.header-container:not(.fixed) .header-inner .header-menu > li.current-menu-ancestor > a,
.light.header-container:not(.fixed) .header-inner .header-menu > li.current-menu-parent > a,
.light.header-container:not(.fixed) .header-inner .header-menu > li.current-menu-item > a {
  opacity: 0.5;
}
/* ______________________________________________________________________________________________

                                          Mega Menu
   ______________________________________________________________________________________________ */
.header-on-top ul.header-menu .megamenu,
.header-on-top ul.header-menu .megamenu-simple {
  position: static;
}
.header-on-top ul.header-menu .megamenu-panel {
  visibility: hidden;
  position: absolute;
  top: -999em;
  left: 0;
  right: 0;
}
.vheader-container .megamenu-panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.mega-title {
  margin-bottom: 1em;
}
.megamenu-panel > li {
  margin-bottom: 1em;
}
.megamenu-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2em;
}
.megamenu-panel li.widget_siteorigin-panels-builder {
  width: 100%;
}
.megamenu-panel li li li {
  display: none;
}
@media only screen and (max-width: 991px) {
  .megamenu-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
/* ______________________________________________________________________________________________

                                          Verticle Header
   ______________________________________________________________________________________________ */
@media only screen and (min-width: 992px) {
  .tn-vertical-header .main {
    padding-top: 0;
    border-top: none;
    overflow: visible;
  }
  .tn-vertical-header .topbar-container {
    display: none;
  }
  .vheader-right-wrap .vheader-container {
    right: auto;
  }
  .admin-bar .vheader-container {
    height: calc(100% - 32px);
  }
  .vheader-container {
    position: fixed;
    width: 280px;
    height: 100%;
    margin: 0 0 0 -280px;
    background-color: #ffffff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .vheader-container .header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .vheader-container .header-inner nav {
    margin-bottom: 35px;
  }
  .vheader-container .header-inner .nav-icon {
    display: none;
  }
  .vheader-container .header-inner .menu-primary > li {
    padding: 0;
    display: block;
    width: 100%;
  }
  .vheader-container .header-content {
    margin-bottom: 35px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .vheader-container .header-content > * {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .vheader-container .header-content > *:last-child {
    margin-bottom: 0;
  }
  .vheader-container .header-content-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .vheader-container .header-content-2 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .vheader-container .header-content-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0 !important;
    margin-top: auto;
  }
  .header-on-left .main {
    margin-left: 280px;
  }
  .header-on-right .main {
    margin-right: 280px;
  }
}
@media only screen and (max-width: 991px) {
  .vheader-container {
    border-bottom: 1px solid #eee;
  }
  .vheader-container .header-content-2 nav,
  .vheader-container .header-content-2 .header-widgets {
    display: none;
  }
}
/* Header Search */
.header-search {
  margin-left: 10px;
  font-size: 18px;
}
.header-search i {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  cursor: pointer;
}
.header-search i:hover {
  opacity: 0.5;
}
.header-inner .header-search {
  font-size: 26px;
}
.search-container {
  display: none;
  background-color: #333333;
}
.search-container .searchform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.search-container input {
  width: calc(100% - 5rem);
  border: none;
  outline: none;
  color: #ffffff;
  background: none;
  height: 6rem;
}
.search-container button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  outline: none;
}
.search-container i {
  display: block;
  background: none;
  cursor: pointer;
  color: #ffffff;
}
.search-container i:hover {
  opacity: 0.5;
}
@media only screen and (min-width: 992px) {
  .light.header-container:not(.fixed) .header-search i {
    color: #fff;
  }
}
/* ______________________________________________________________________________________________

                                          Top Bar
   ______________________________________________________________________________________________ */
.topbar-container {
  background-color: #2abac3;
  border-bottom: 1px solid #e6e6e6;
}
.topbar-row {
  line-height: 40px;
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.topbar-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.topbar-light {
  color: #ffffff;
}
.topbar-light a {
  color: #ffffff;
}
.contact-info {
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media only screen and (max-width: 767px) {
  .topbar-container {
    display: none;
  }
}
/* ______________________________________________________________________________________________

                                        Meta Slider
   ______________________________________________________________________________________________ */
/* ______________________________________________________________________________________________

                                       Slider Version 1 (Metaslider - Flexslider)
   ______________________________________________________________________________________________ */
@-webkit-keyframes slide-flex-width {
  0% {
    width: 100%;
  }
  50% {
    width: 5%;
    opacity: 0.5;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
@keyframes slide-flex-width {
  0% {
    width: 100%;
  }
  50% {
    width: 5%;
    opacity: 0.5;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
.flexslider {
  margin-bottom: 0 !important;
}
#wrapper .metaslider.slide-in-label .caption-wrap {
  background: none !important;
  position: absolute;
  width: 75%;
  top: 50%;
  height: 0;
  opacity: 1 !important;
}
#wrapper .metaslider.slide-in-label .caption {
  float: right;
  margin-top: -19px;
  margin-left: 1rem;
  -webkit-transform: translateX(50%) translateY(-50%);
          transform: translateX(50%) translateY(-50%);
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-transform-origin: right 0;
          transform-origin: right 0;
}
#wrapper .metaslider.slide-in-label .caption > :first-child {
  -webkit-transition: all 0.4s 0.1s ease-out;
  transition: all 0.4s 0.1s ease-out;
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 4px;
  color: rgba(32, 32, 32, 0.569);
  text-transform: uppercase;
  line-height: 2;
  margin: 0 0 14px -2rem;
  opacity: 0;
}
#wrapper .metaslider.slide-in-label .caption > :nth-child(2) {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 266px;
  -webkit-transition: all 0.5s 0.5s ease-out;
  transition: all 0.5s 0.5s ease-out;
  padding: 0 4rem 0 2rem;
  font-size: 38px;
  color: #ffffff;
  display: block;
  line-height: 58px;
  margin: 0 0 0 8rem;
  opacity: 0;
}
#wrapper .metaslider.slide-in-label .caption > :nth-child(2):before {
  -webkit-transition: all 0.4s 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: all 0.4s 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  min-height: 58px;
  background-color: #121212;
}
#wrapper .metaslider.slide-in-label .flex-control-nav {
  bottom: 20px;
}
#wrapper .metaslider.slide-in-label .flex-control-paging li a {
  width: 4px !important;
  height: 4px !important;
  margin: 0 9px !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 50% !important;
  background-color: rgba(0, 0, 0, 0.3) !important;
}
#wrapper .metaslider.slide-in-label .flex-control-paging li a.flex-active,
#wrapper .metaslider.slide-in-label .flex-control-paging li a:hover {
  background-color: rgba(0, 0, 0, 0.9) !important;
}
#wrapper .metaslider.slide-in-label .flex-direction-nav li a {
  background: #fff;
  color: #222;
  text-indent: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 58px;
  height: 58px;
  margin-top: -29px;
}
#wrapper .metaslider.slide-in-label .flex-direction-nav li a:before {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  font-size: 14px;
  opacity: 1;
}
#wrapper .metaslider.slide-in-label .flex-direction-nav li a:hover:before {
  opacity: 1;
}
#wrapper .metaslider.slide-in-label .flex-direction-nav li a.flex-next:before {
  content: "\f125" !important;
}
#wrapper .metaslider.slide-in-label .flex-direction-nav li a.flex-prev:before {
  content: "\f124" !important;
}
@media only screen and (min-width: 768px) {
  #wrapper .metaslider.slide-in-label .flex-direction-nav .flex-next {
    right: 40px;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .flex-direction-nav .flex-prev {
    left: 40px;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .flexslider:hover .caption {
    margin-left: 0;
  }
  #wrapper .metaslider.slide-in-label .flex-active-slide .caption > :first-child {
    margin-left: -2rem;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .flex-active-slide .caption > :nth-child(2) {
    margin-left: 0;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .flex-active-slide .caption > :nth-child(2):before {
    width: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  #wrapper .metaslider.slide-in-label .flex-direction-nav,
  #wrapper .metaslider.slide-in-label .flex-control-nav {
    display: none;
  }
}
@media only screen and (max-width: 991px) {
  #wrapper .metaslider.slide-in-label .caption {
    -webkit-transform: scale(0.7) translateX(50%) translateY(-50%);
            transform: scale(0.7) translateX(50%) translateY(-50%);
  }
  #wrapper .metaslider.slide-in-label .caption > :first-child {
    margin-left: -2rem;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .caption > :nth-child(2) {
    margin-left: 0;
    opacity: 1;
  }
  #wrapper .metaslider.slide-in-label .caption > :nth-child(2):before {
    width: 100%;
  }
  #wrapper .metaslider.slide-in-label .caption > :nth-child(2) {
    min-width: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #wrapper .metaslider.slide-in-label .caption-wrap {
    width: 100%;
    height: auto;
    top: auto;
    bottom: 2rem;
  }
  #wrapper .metaslider.slide-in-label .caption {
    margin-left: 3rem;
    margin-top: 0;
    -webkit-transform: none;
            transform: none;
    float: none;
  }
  #wrapper .metaslider.slide-in-label .caption > :first-child {
    margin-left: 0;
    letter-spacing: 3px;
    margin-bottom: 0;
  }
  #wrapper .metaslider.slide-in-label .caption > :nth-child(2) {
    margin-top: 5px;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    display: inline-block;
    width: auto;
    white-space: nowrap;
  }
}
/* ______________________________________________________________________________________________

                                       Slider Version 1 (Metaslider - Flexslider)
   ______________________________________________________________________________________________ */
@-webkit-keyframes reveal-label-in {
  from {
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
@keyframes reveal-label-in {
  from {
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
.flexslider {
  margin-bottom: 0 !important;
}
#wrapper .metaslider.reveal-label .flexslider .slides img {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
}
#wrapper .metaslider.reveal-label .caption-wrap {
  background: none !important;
  position: absolute;
  width: 0;
  top: 50%;
  height: 0;
  opacity: 1 !important;
}
#wrapper .metaslider.reveal-label .caption {
  float: right;
  margin-top: -19px;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-transform-origin: right 0;
          transform-origin: right 0;
  padding: 5px 0 5px 40px;
  overflow: hidden;
}
#wrapper .metaslider.reveal-label .caption > :first-child {
  -webkit-transition: all 0.4s 0.1s ease-out;
  transition: all 0.4s 0.1s ease-out;
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  line-height: 2;
  margin: 0 0 14px 0;
  width: 0;
  opacity: 0;
  -webkit-transition-property: none;
  transition-property: none;
  white-space: nowrap;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  overflow: hidden;
  font-weight: 500;
  letter-spacing: 3px;
  color: #111;
}
#wrapper .metaslider.reveal-label .caption > :nth-child(2) {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 38px;
  color: #fff;
  display: block;
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  padding: 0 2rem;
  white-space: nowrap;
  overflow: hidden;
  background-color: #111;
  text-transform: uppercase;
  line-height: calc(58px - 4px);
  padding-top: 4px;
}
#wrapper .metaslider.reveal-label .caption > :nth-child(2) a {
  color: #fff;
}
#wrapper .metaslider.reveal-label .flex-active-slide .caption > :first-child {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  -webkit-transform: none;
          transform: none;
  width: 100%;
  opacity: 1;
}
#wrapper .metaslider.reveal-label .flex-active-slide .caption > :nth-child(2) {
  -webkit-transition-property: none;
  transition-property: none;
  -webkit-animation: reveal-label-in 0.6s ease-in-out;
          animation: reveal-label-in 0.6s ease-in-out;
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}
#wrapper .metaslider.reveal-label .flex-control-nav {
  bottom: 20px;
}
#wrapper .metaslider.reveal-label .flex-control-paging li a {
  width: 4px;
  height: 4px;
  margin: 0 9px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);
}
#wrapper .metaslider.reveal-label .flex-control-paging li a.flex-active,
#wrapper .metaslider.reveal-label .flex-control-paging li a:hover {
  background-color: rgba(0, 0, 0, 0.9);
}
#wrapper .metaslider.reveal-label .flex-direction-nav li a {
  background: #fff;
  color: #222;
  text-indent: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 58px;
  height: 58px;
  margin-top: -29px;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
#wrapper .metaslider.reveal-label .flex-direction-nav li a:before {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  font-size: 14px;
  color: #fff;
  opacity: 1;
}
#wrapper .metaslider.reveal-label .flex-direction-nav li a.flex-next:before {
  content: "\f125" !important;
}
#wrapper .metaslider.reveal-label .flex-direction-nav li a.flex-prev:before {
  content: "\f124" !important;
}
@media only screen and (min-width: 768px) {
  #wrapper .metaslider.reveal-label .caption-wrap {
    left: auto;
    right: calc(15% + 58px);
  }
  #wrapper .metaslider.reveal-label .caption {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #wrapper .metaslider.reveal-label .caption > :nth-child(2) {
    float: right;
    margin: 0 0 0 2rem;
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav .flex-next {
    right: 15%;
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav .flex-prev {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  #wrapper .metaslider.reveal-label .flex-direction-nav li a {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav li a:hover {
    -webkit-transform: none;
            transform: none;
  }
}
@media only screen and (max-width: 1199px) {
  #wrapper .metaslider.reveal-label .caption-wrap {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    right: calc(15% + (58px * 0.95));
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav li a {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}
@media only screen and (max-width: 991px) {
  #wrapper .metaslider.reveal-label .caption-wrap {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
    right: calc(15% + (58px * 0.85));
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav li a {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}
@media only screen and (max-width: 767px) {
  #wrapper .metaslider.reveal-label .caption-wrap {
    width: auto;
    height: auto;
    top: auto;
    right: auto;
    bottom: 2rem;
  }
  #wrapper .metaslider.reveal-label .caption {
    margin-top: 0;
    -webkit-transform: none;
            transform: none;
    float: none;
  }
  #wrapper .metaslider.reveal-label .caption > :first-child {
    font-size: 10px;
    margin-bottom: 0;
    -webkit-transition-duration: .8s;
            transition-duration: .8s;
  }
  #wrapper .metaslider.reveal-label .caption > :nth-child(2) {
    -webkit-transition-property: opacity;
    transition-property: opacity;
    margin-top: 5px;
    font-size: 24px;
    line-height: 34px;
    padding-left: .6em;
    padding-right: .6em;
    display: inline-block;
  }
  #wrapper .metaslider.reveal-label .flex-active-slide .caption > :nth-child(2) {
    -webkit-transition-property: none;
    transition-property: none;
    -webkit-transition-duration: .8s;
            transition-duration: .8s;
  }
  #wrapper .metaslider.reveal-label .flex-direction-nav {
    display: none;
  }
}
/* ______________________________________________________________________________________________

                                       Slider Version 1 (Metaslider - Flexslider)
   ______________________________________________________________________________________________ */
@-webkit-keyframes zoom-in-clean-caption-in {
  10% {
    width: 5%;
    opacity: 0.5;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
@keyframes zoom-in-clean-caption-in {
  10% {
    width: 5%;
    opacity: 0.5;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
@-webkit-keyframes zoom-in-clean-image-zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom-in-clean-image-zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
#wrapper .metaslider.zoom-in-clean .slides > li {
  overflow: hidden;
}
#wrapper .metaslider.zoom-in-clean .main-image {
  -webkit-animation: zoom-in-clean-image-zoom 30s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
          animation: zoom-in-clean-image-zoom 30s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
}
#wrapper .metaslider.zoom-in-clean .caption-wrap {
  bottom: auto;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  background: none;
  text-align: center;
  opacity: 1;
  margin-top: .5vh;
}
#wrapper .metaslider.zoom-in-clean .caption {
  padding: 5px 30px;
}
#wrapper .metaslider.zoom-in-clean .caption > :first-child {
  -webkit-transition: all 0.4s 0.2s ease-out;
  transition: all 0.4s 0.2s ease-out;
  display: block;
  opacity: 0.57;
  letter-spacing: .5em;
  text-transform: uppercase;
  font-size: 1.2rem;
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  margin-bottom: 3px;
}
#wrapper .metaslider.zoom-in-clean .caption > :nth-child(2) {
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  display: block;
  font-size: 4vw;
  color: #fff;
  text-transform: uppercase;
  line-height: 1.5;
  letter-spacing: .19em;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  opacity: 0;
  margin: 0;
}
#wrapper .metaslider.zoom-in-clean .caption a {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: opacity 0.4s 0.2s ease-out, border-color 0.4s, -webkit-transform 0.4s 0.2s ease-out;
  transition: opacity 0.4s 0.2s ease-out, border-color 0.4s, -webkit-transform 0.4s 0.2s ease-out;
  transition: transform 0.4s 0.2s ease-out, opacity 0.4s 0.2s ease-out, border-color 0.4s;
  transition: transform 0.4s 0.2s ease-out, opacity 0.4s 0.2s ease-out, border-color 0.4s, -webkit-transform 0.4s 0.2s ease-out;
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.25);
  padding: 1.5rem 3rem;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-top: 3.6rem;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
}
#wrapper .metaslider.zoom-in-clean .caption a:before {
  position: absolute;
  top: -2px;
  left: -2px;
  width: 0;
  height: 0;
  content: '';
  background: transparent;
  border: 2px solid transparent;
}
#wrapper .metaslider.zoom-in-clean .caption a:hover:before {
  -webkit-animation: draw-border-top-right-white 0.6s linear forwards;
          animation: draw-border-top-right-white 0.6s linear forwards;
}
#wrapper .metaslider.zoom-in-clean .caption a:after {
  position: absolute;
  top: -2px;
  left: -2px;
  width: 0;
  height: 0;
  content: '';
  background: transparent;
  border: 2px solid transparent;
}
#wrapper .metaslider.zoom-in-clean .caption a:hover:after {
  -webkit-animation: draw-border-left-bottom-white 0.4s linear forwards;
          animation: draw-border-left-bottom-white 0.4s linear forwards;
  -webkit-animation-delay: .2s;
          animation-delay: .2s;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption > :first-child {
  opacity: 0.57;
  -webkit-transform: none;
          transform: none;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption > :nth-child(2) {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption a {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption > :first-child {
  -webkit-transition: all 1.8s .4s;
  transition: all 1.8s .4s;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption > :nth-child(2) {
  -webkit-transition: all 1.2s 1s;
  transition: all 1.2s 1s;
  display: block;
}
#wrapper .metaslider.zoom-in-clean .flex-active-slide .caption a {
  -webkit-transition: opacity 1s 1.2s, border-color 0.4s, -webkit-transform 0.8s 1.2s ease-out;
  transition: opacity 1s 1.2s, border-color 0.4s, -webkit-transform 0.8s 1.2s ease-out;
  transition: transform 0.8s 1.2s ease-out, opacity 1s 1.2s, border-color 0.4s;
  transition: transform 0.8s 1.2s ease-out, opacity 1s 1.2s, border-color 0.4s, -webkit-transform 0.8s 1.2s ease-out;
}
#wrapper .metaslider.zoom-in-clean .flex-control-nav {
  bottom: 30px;
  z-index: 2;
}
#wrapper .metaslider.zoom-in-clean .flex-control-paging li a {
  width: 6px;
  height: 6px;
  margin: 0 9px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 50%;
  background-color: #fff;
}
#wrapper .metaslider.zoom-in-clean .flex-control-paging li a.flex-active {
  background-color: transparent;
  border: 2px solid #fff;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a {
  background: none;
  color: #fff;
  text-indent: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 1;
  width: 18%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a:before {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  -webkit-transition: all .4s;
  transition: all .4s;
  font-size: 64px;
  opacity: 0;
  margin: 0;
  color: inherit;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a:hover:before {
  opacity: .35;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a.flex-prev:before {
  content: "\f3d5" !important;
  -webkit-transform: translateX(200%);
          transform: translateX(200%);
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a.flex-prev:hover:before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  opacity: 1;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a.flex-next {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a.flex-next:before {
  content: "\f3d6" !important;
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li a.flex-next:hover:before {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  opacity: 1;
}
#wrapper .metaslider.zoom-in-clean .flex-direction-nav li:first-child a {
  right: auto;
  left: 0;
}
@media only screen and (max-width: 1199px) {
  #wrapper .metaslider.zoom-in-clean .flex-direction-nav,
  #wrapper .metaslider.zoom-in-clean .flex-control-nav {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  #wrapper .metaslider.zoom-in-clean .caption > :first-child {
    display: none;
  }
  #wrapper .metaslider.zoom-in-clean .caption > :nth-child(2) {
    font-size: 24px;
  }
  #wrapper .metaslider.zoom-in-clean .caption a {
    -webkit-transform: translateY(20px) scale(0.9);
            transform: translateY(20px) scale(0.9);
  }
  #wrapper .metaslider.zoom-in-clean .flex-active-slide .caption a {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
}
body #hero .metaslider .flexslider .slides li,
body #hero .metaslider .flexslider ul.slides,
body #hero .metaslider .flexslider .slides img {
  max-height: 100vh;
}
@media only screen and (min-width: 992px) and (orientation: landscape) {
  body #hero .metaslider.fullheight .flexslider .slides li,
  body #hero .metaslider.fullheight .flexslider ul.slides,
  body #hero .metaslider.fullheight .flexslider .slides img {
    height: 100vh;
  }
}
/* ______________________________________________________________________________________________

                                          Page Title Bar
   ______________________________________________________________________________________________ */
.page-title-bar {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 8rem;
}
.page-title-bar-content {
  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-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}
.page-title-bar-content > * {
  margin: 10px 0;
}
.page-title-bar-content > :first-child {
  margin-top: 0 !important;
}
.page-title-bar-content > :last-child {
  margin-bottom: 0 !important;
}
.page-title-bar-content-1 {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page-title-bar-content-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-title-bar-content-2 .page-title {
  text-align: center;
}
.page-title-bar-content-3 {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.page-title {
  margin: 0;
  font-size: 14px;
  color: #888;
}
.page-title:before {
  content: "";
  display: none;
}
.page-subtitle {
  margin: 0;
}
.page-subtitle:before {
  content: "";
  display: none;
}
@media only screen and (max-width: 991px) {
  .page-title-old {
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    overflow: hidden;
  }
}
.light .page-title {
  color: #fff;
}
.light .page-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.light .woocommerce .woocommerce-breadcrumb {
  color: #fff;
}
.light .woocommerce .woocommerce-breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
}
.light .breadcrumbs {
  color: rgba(255, 255, 255, 0.7);
}
.light .breadcrumbs a {
  color: #fff;
}
.light .breadcrumbs .bread-current {
  color: rgba(255, 255, 255, 0.7);
}
/* ______________________________________________________________________________________________

                                          Footer
   ______________________________________________________________________________________________ */
.footer-container:before,
.footer-container:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.footer-container:after {
  clear: both;
}
.footer-container a {
  vertical-align: baseline;
  display: inline;
}
.footer-row {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.footer-row:before,
.footer-row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.footer-row:after {
  clear: both;
}
.main .footer-container {
  margin-left: 0;
}
.simple-footer p {
  float: right;
  margin-bottom: 0;
  letter-spacing: 0.5px;
}
.simple-footer p:first-child {
  float: left;
}
@media only screen and (min-width: 1200px) {
  .slide-out-footer:not(.no-footer) .main {
    margin-bottom: 108px;
  }
  .slide-out-footer .footer-container {
    overflow: hidden;
    position: fixed;
    bottom: 0;
    margin: 0;
    height: 108px;
    z-index: -9999;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .slide-out-footer .footer-row {
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .footer-row {
    padding-top: 3.6rem;
  }
  .simple-footer p {
    float: left;
    margin-bottom: 5px;
  }
}
/* ______________________________________________________________________________________________

                                          Slider
   ______________________________________________________________________________________________ */
.hero-slider .sound {
  right: 120px;
}
.hero-slider .share {
  right: 4.5rem;
}
.hero-slider .info {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  cursor: pointer;
}
.hero-slider .info:hover {
  border-color: #fff;
}
.hero-slider .tp-tab-mask {
  text-align: center !important;
}
.tparrows.theme-style {
  width: 24px !important;
  z-index: 9999 !important;
}
.light .theme-style.tparrows {
  border-color: rgba(255, 255, 255, 0.8) !important;
}
.tn-progress-bar {
  position: absolute;
  display: block;
  z-index: 999;
  margin: 0 3.2rem;
}
.tn-progress-bar:before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: rgba(18, 18, 18, 0.4);
}
.tn-progress-bar:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  width: 2px;
  height: 10px;
  margin-left: -1px;
  margin-top: -5px;
  background-color: #121212;
}
.hero-slider .tn-progress-bar {
  left: 203px;
  /* from 263 263 to 243 283 to 183 223 */
  right: 203px;
  bottom: 68px;
}
.hero-slider .tp-leftarrow.theme-style {
  -webkit-transform: matrix(1, 0, 0, 1, 203, -86) !important;
          transform: matrix(1, 0, 0, 1, 203, -86) !important;
}
.hero-slider .tp-rightarrow.theme-style {
  -webkit-transform: matrix(1, 0, 0, 1, -229, -86) !important;
          transform: matrix(1, 0, 0, 1, -229, -86) !important;
}
.hero-slider .tp-tab-mask {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
}
.hero-slider .sound,
.hero-slider .share {
  margin-bottom: 0px;
}
.hero-slider .info {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0) !important;
          transform: matrix(1, 0, 0, 1, 0, 0) !important;
}
@media only screen and (min-width: 1200px) {
  .tn-bgm .hero-slider .tn-progress-bar {
    left: 183px;
    /* from 263 263 to 243 283 to 183 223 */
    right: 223px;
    bottom: 68px;
  }
  .tn-bgm .hero-slider .tp-leftarrow.theme-style {
    -webkit-transform: matrix(1, 0, 0, 1, 183, -86) !important;
            transform: matrix(1, 0, 0, 1, 183, -86) !important;
  }
  .tn-bgm .hero-slider .tp-rightarrow.theme-style {
    -webkit-transform: matrix(1, 0, 0, 1, -249, -86) !important;
            transform: matrix(1, 0, 0, 1, -249, -86) !important;
  }
  .tn-bgm .hero-slider .tp-tab-mask {
    -webkit-transform: matrix(1, 0, 0, 1, -20, 0);
            transform: matrix(1, 0, 0, 1, -20, 0);
  }
  .tn-bgm .hero-slider .sound,
  .tn-bgm .hero-slider .share {
    margin-bottom: 0px;
  }
  .tn-bgm .hero-slider .info {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) !important;
            transform: matrix(1, 0, 0, 1, 0, 0) !important;
  }
}
@media only screen and (max-width: 1199px) {
  .hero-slider .tn-progress-bar {
    left: 13%;
    right: 13%;
    bottom: 68px;
  }
  .hero-slider .tp-leftarrow.theme-style {
    top: auto !important;
    right: auto !important;
    left: 13% !important;
    bottom: 52px !important;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
  }
  .hero-slider .tp-rightarrow.theme-style {
    top: auto !important;
    left: auto !important;
    right: 13% !important;
    bottom: 52px !important;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
  }
  .hero-slider .tp-tab-mask {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .hero-slider .info {
    min-width: 16px !important;
    max-width: 16px !important;
    -webkit-transform: matrix(1, 0, 0, 1, 0, 52px) !important;
            transform: matrix(1, 0, 0, 1, 0, 52px) !important;
  }
}
@media only screen and (max-width: 991px) {
  .hero-slider .tn-progress-bar {
    display: none;
  }
  .hero-slider .tp-leftarrow.theme-style {
    left: 2.5rem !important;
    bottom: 33px !important;
  }
  .hero-slider .tp-rightarrow.theme-style {
    right: 2.5rem !important;
    bottom: 33px !important;
  }
  .hero-slider .tp-tabs {
    top: auto!important;
    bottom: 0!important;
    left: 0!important;
    right: 0!important;
    margin: 0 auto!important;
    -webkit-transform: translateX(0) !important;
            transform: translateX(0) !important;
  }
  .hero-slider .tp-tabs-inner-wrapper {
    max-width: 100%;
  }
  .hero-slider .tp-tab {
    position: relative !important;
    margin: 0 auto !important;
    left: 0 !important;
  }
  .hero-slider .tp-tab:not(.selected) {
    display: none;
  }
  .hero-slider .tp-tab-mask {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.tn-slide-num {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
}
.light .tn-progress-bar:before {
  background-color: rgba(255, 255, 255, 0.3);
}
.light .tn-progress-bar:after {
  background-color: white;
}
.light .tn-timer {
  background-color: rgba(255, 255, 255, 0.6) !important;
}
.light .tp-tabs {
  color: #fff;
}
.hero-slider .player .controls {
  display: none !important;
}
.tparrows.theme-style {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.tparrows.theme-style:after {
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: '';
  position: absolute;
  border: rgba(255, 255, 255, 0) solid 1px;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.tparrows.theme-style:hover:after,
.tparrows.theme-style:focus:after,
.tparrows.theme-style:active:after {
  border-color: rgba(255, 255, 255, 0.7);
  -webkit-animation-name: tn-ripple-out;
  animation-name: tn-ripple-out;
}
/* ______________________________________________________________________________________________

                                          BGM
   ______________________________________________________________________________________________ */
.sound {
  width: 20px;
  height: 20px;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  right: 160px;
  bottom: 58px;
}
.sound--icon {
  color: #121212;
  width: 75%;
  height: 100%;
  line-height: 100%;
  font-size: 20px;
  display: block;
  margin: auto;
}
.sound--wave {
  position: absolute;
  border: 0.8px solid transparent;
  border-right: 0.8px solid #121212;
  border-radius: 50%;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.sound--wave_one {
  width: 50%;
  height: 50%;
}
.sound--wave_two {
  width: 75%;
  height: 75%;
}
.sound-mute .sound--wave {
  border-radius: 0;
  width: 50%;
  height: 50%;
  border-width: 0 0.8px 0 0;
}
.sound-mute .sound--wave_one {
  -webkit-transform: rotate(45deg) translate3d(0, -50%, 0);
          transform: rotate(45deg) translate3d(0, -50%, 0);
}
.sound-mute .sound--wave_two {
  -webkit-transform: rotate(-45deg) translate3d(0, 50%, 0);
          transform: rotate(-45deg) translate3d(0, 50%, 0);
}
@media only screen and (max-width: 1199px) {
  .sound {
    display: none;
  }
}
.light .sound--icon {
  color: #fff;
}
.light .sound--wave {
  border-right-color: #fff;
}
.hero-container {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #fff;
}
.hero-row {
  width: auto;
  max-width: 100%;
  padding: 0;
  position: relative;
}
.hero-image {
  height: 70vh;
}
.hero-inner {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0 0 6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
}
.hero-title {
  margin: 0;
}
.hero-categories {
  font-size: 1.2rem;
  color: rgba(18, 18, 18, 0.5);
}
.hero-categories span,
.hero-categories a {
  margin-left: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .hero-inner {
    -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;
  }
}
@media only screen and (max-width: 767px) {
  .hero-content {
    display: none;
  }
}
/* ______________________________________________________________________________________________

                                       Contact Form 7
   ______________________________________________________________________________________________ */
.wrapper .wpcf7-form p {
  color: #606060;
  margin-bottom: 2rem;
}
.wrapper .wpcf7-form label {
  font-size: .85em;
  text-transform: uppercase;
  font-weight: 600;
  color: #121212;
  letter-spacing: 1px;
}
.wrapper .wpcf7-form select {
  -webkit-appearance: none;
  border-radius: 0;
}
.wrapper .wpcf7-form input:not([type='submit']),
.wrapper .wpcf7-form select {
  padding: 0 15px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  height: 53px;
  line-height: 53px;
  margin-top: 1.5rem;
}
.wrapper .wpcf7-form textarea {
  width: 85%;
  padding: 12px 15px;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  margin-top: 1.5rem;
}
.wrapper .wpcf7-form input[type='submit'] {
  -webkit-transition: all .6s;
  transition: all .6s;
  cursor: pointer;
  display: inline;
  margin-top: 1.5rem;
}
.wrapper .wpcf7-form input:focus,
.wrapper .wpcf7-form textarea:focus,
.wrapper .wpcf7-form select:focus {
  outline: none;
}
.wrapper .wpcf7-form span.wpcf7-not-valid-tip {
  margin: 1.5rem 0 0 1.5rem;
}
.wrapper .wpcf7-form div.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}
.wrapper .wpcf7-form div.wpcf7-response-output {
  margin: 2em 0em 1em;
  padding: 1.5rem 2rem;
  background-color: #f6f6f6;
}
.wrapper .wpcf7-form div.wpcf7-mail-sent-ok {
  border: 1px solid #eee;
}
.wrapper .wpcf7-form div.wpcf7-mail-sent-ng {
  border: 1px solid #eee;
}
.wrapper .wpcf7-form div.wpcf7-spam-blocked {
  border: 1px solid #eee;
}
.wrapper .wpcf7-form div.wpcf7-validation-errors {
  border: 1px solid #eee;
}
.wrapper .wpcf7-form input.wpcf7-form-control.wpcf7-text {
  width: 42%;
}
@media only screen and (max-width: 991px) {
  .wrapper .wpcf7-form input.wpcf7-form-control.wpcf7-text {
    width: 55%;
  }
}
@media only screen and (max-width: 767px) {
  .wrapper .wpcf7-form input.wpcf7-form-control.wpcf7-text {
    width: 100%;
  }
  .wrapper .wpcf7-form textarea {
    width: 100%;
  }
}
/* ______________________________________________________________________________________________

                                          Blog & Archive
   ______________________________________________________________________________________________ */
.posts-grid {
  overflow: visible;
}
.posts-grid:before,
.posts-grid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.posts-grid:after {
  clear: both;
}
.posts-grid .post,
.posts-grid .grid-sizer {
  width: calc((100% - 2*0px)/3);
}
.posts-grid .gutter-sizer {
  width: 0px;
}
.one-column .post,
.one-column .grid-sizer {
  width: 100%;
}
.one-column .post {
  overflow: hidden;
  background-color: #f6f6f6;
  padding: 3rem 6rem 5rem;
  border: none;
  position: relative;
}
.content-list .post-entry {
  padding-bottom: 6rem;
  margin-bottom: 6rem;
  border-bottom: 1px solid #e8e8e8;
}
.content-list .post-entry:before,
.content-list .post-entry:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.content-list .post-entry:after {
  clear: both;
}
.post-entry {
  /* CSS here will affect UPT */
}
.post-entry .entry-thumb img {
  display: block;
}
.post-entry .entry-thumb a.thumbnail-link {
  display: block;
  line-height: 0;
  -webkit-transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.post-entry .entry-title {
  margin-top: 0;
  /* space between title and thumbnail should be maintained by thumbnail */
  word-break: break-word;
  /* fix long word extends outside of content column, it also break last word in between */
}
.post-entry .entry-meta {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}
.post-entry .meta {
  font-size: 1.3rem;
  color: rgba(18, 18, 18, 0.55);
  font-style: italic;
  padding-right: 1.8rem;
  line-height: 1.8;
  display: inline-block;
}
.post-entry .meta:last-child {
  padding-right: 0;
}
.post-entry .meta.edit-link {
  display: none;
}
.post-entry .meta.edit-link a {
  margin: 2rem 0 0;
}
.post-entry .meta a,
.post-entry .meta span {
  font-size: 1.2rem;
  font-weight: 600;
  font-style: normal;
  color: #121212;
  text-transform: uppercase;
  margin-left: 0.5rem;
}
@media only screen and (max-width: 1199px) {
  .posts-grid .post,
  .posts-grid .grid-sizer {
    width: 50%;
    /* Do not add !important, conflict with gutter size > 0 */
  }
}
@media only screen and (max-width: 991px) {
  .posts-grid .post,
  .posts-grid .grid-sizer {
    width: 100% !important;
    /* Force blog one column on mobile */
  }
  .entry-inner {
    border: none;
  }
  .entry-thumb img {
    width: 100%;
  }
  .entry-meta > span {
    display: block;
  }
}
/* ______________________________________________________________________________________________

                                          Sticky Posts
   ______________________________________________________________________________________________ */
/* ______________________________________________________________________________________________

                                          Post
   ______________________________________________________________________________________________ */
.post-password-form input[type="password"] {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.8em 1.2em;
  background-color: transparent;
  border: 1px solid #aaa;
  border-radius: 0;
  padding: 0.5em 1em;
}
.post-password-form input[type="password"]:before {
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: '';
  position: absolute;
  border: rgba(255, 255, 255, 0) solid 1px;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.post-password-form input[type="password"]:hover:before,
.post-password-form input[type="password"]:focus:before,
.post-password-form input[type="password"]:active:before {
  border-color: rgba(255, 255, 255, 0.7);
  -webkit-animation-name: tn-ripple-out;
  animation-name: tn-ripple-out;
}
.post-password-form input[type="password"]:hover:after,
.post-password-form input[type="password"]:focus:after,
.post-password-form input[type="password"]:active:after {
  border-color: rgba(18, 18, 18, 0.7);
}
.post-password-form input[type="password"]:hover {
  border-color: #121212;
  background-color: transparent;
}
.post-password-form input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.8em 1.2em;
  background-color: transparent;
  border: 1px solid #aaa;
  border-radius: 0;
  padding: 0.5em 1em;
}
.post-password-form input[type="submit"]:before {
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: '';
  position: absolute;
  border: rgba(255, 255, 255, 0) solid 1px;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.post-password-form input[type="submit"]:hover:before,
.post-password-form input[type="submit"]:focus:before,
.post-password-form input[type="submit"]:active:before {
  border-color: rgba(255, 255, 255, 0.7);
  -webkit-animation-name: tn-ripple-out;
  animation-name: tn-ripple-out;
}
.post-password-form input[type="submit"]:hover:after,
.post-password-form input[type="submit"]:focus:after,
.post-password-form input[type="submit"]:active:after {
  border-color: rgba(18, 18, 18, 0.7);
}
.post-password-form input[type="submit"]:hover {
  border-color: #121212;
  background-color: transparent;
}
.author-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4rem;
  background-color: #f6f6f6;
  margin-bottom: 3.5rem;
}
.author-info:before,
.author-info:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.author-info:after {
  clear: both;
}
.author-avatar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 3rem;
}
.author-name {
  margin-top: 0;
  font-size: 1.3em;
}
.author-desc {
  color: #888;
}
.single-post .entry-content {
  margin-bottom: 3rem;
}
.single-post .tags-links {
  margin-bottom: 3.5rem;
}
.single-post .share {
  margin-bottom: 3rem;
}
/* ______________________________________________________________________________________________

                                         Blog layout: small
   ______________________________________________________________________________________________ */
.content-small .hentry .entry-thumb {
  float: left;
  width: 25%;
  margin: 0 30px 0 0;
}
@media only screen and (max-width: 767px) {
  .content-small .hentry .entry-thumb {
    float: none;
    margin: 0 0 30px 0;
  }
}
/* ______________________________________________________________________________________________

                                           Comments
   ______________________________________________________________________________________________ */
input,
textarea {
  outline-color: #121212;
}
.wp-comments {
  padding: 0 0 2rem;
}
.wp-comments .comments-header {
  margin: 0 auto 2rem;
}
.wp-comments .comments-header:before,
.wp-comments .comments-header:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.wp-comments .comments-header:after {
  clear: both;
}
.wp-comments .leave-a-reply {
  font-size: 1.4rem;
  margin-top: 0;
}
.wp-comments .comments-title {
  font-size: 1.6rem;
  margin-bottom: 0;
}
.wp-comments .comment-body,
.wp-comments .comment-respond {
  margin: 0 auto;
}
.wp-comments .page-numbers {
  margin: 2rem auto;
}
.wp-comments .page-numbers li {
  display: inline-block;
}
.wp-comments .page-numbers a,
.wp-comments .page-numbers span {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  display: block;
  width: 100%;
  padding: 0 7px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 3rem;
  border: 1px solid rgba(18, 18, 18, 0.3);
}
.wp-comments .page-numbers span {
  border: 1px solid #121212;
}
.wp-comments .page-numbers a:hover {
  border-color: #121212;
}
.wp-comments .comments-list {
  clear: both;
  margin-bottom: 0;
}
.wp-comments .comments-list li {
  list-style: none;
}
.wp-comments .comments-list ol .comment-body {
  padding-left: 40px;
}
.wp-comments .comments-list ol ol .comment-body {
  padding-left: 80px;
}
.wp-comments .comments-list ol ol ol .comment-body {
  padding-left: 120px;
}
.wp-comments .comments-list ol ol ol ol .comment-body {
  padding-left: 160px;
}
.wp-comments .comments-list ol ol ol ol ol .comment-body {
  padding-left: 200px;
}
.wp-comments .comments-list ol ol ol ol ol ol .comment-body {
  padding-left: 240px;
}
.wp-comments .comments-list ol ol ol ol ol ol ol .comment-body {
  padding-left: 280px;
}
.wp-comments .comments-list ol ol ol ol ol ol ol ol .comment-body {
  padding-left: 320px;
}
.wp-comments .comments-list ol ol ol ol ol ol ol ol ol .comment-body {
  padding-left: 360px;
}
.wp-comments .comment-body {
  position: relative;
  padding: 4.5rem 0 4.5rem;
  border-top: 1px solid #eee;
}
.wp-comments .comment-body .avatar {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  border-radius: 50%;
}
.wp-comments .comment-text {
  margin-left: 115px;
}
.wp-comments .comment-text .author {
  margin-bottom: 6px;
}
.wp-comments .comment-text .fn {
  font-size: 19px;
  line-height: 1.6;
  font-weight: 600;
  text-transform: capitalize;
  color: #303030;
}
.wp-comments .comment-text .fn a {
  color: #303030;
}
.wp-comments .comment-text .says {
  font-size: 11px;
  text-transform: uppercase;
}
.wp-comments .comment-text .text {
  color: #5b5b5b;
  margin-top: 1rem;
}
.wp-comments .comment-text .reply {
  font-size: 1.1rem;
  margin-top: 4rem;
}
.wp-comments .comment-text .date {
  font-size: 13px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  color: #aaa;
}
.wp-comments .comment-text .date a {
  color: #bbb;
}
.wp-comments li:not(.comment) .comment-text {
  margin-left: 0;
}
@media only screen and (max-width: 1199px) {
  .wp-comments .comments-header .num,
  .wp-comments .comments-header a {
    margin-left: 0;
  }
}
@media only screen and (max-width: 991px) {
  .wp-comments .comments-header .num,
  .wp-comments .comments-header a {
    margin-left: 0;
  }
  .wp-comments .comment-text {
    margin-left: 0;
  }
}
#respond {
  overflow: hidden;
  padding: 2.4rem 0 4.4rem;
}
.comment-entry #respond {
  padding-top: 1rem;
}
.comment-reply-title {
  font-size: 1.6rem;
}
.comment-reply-title a {
  color: #aaa;
  letter-spacing: 0.5px;
  padding-right: 1rem;
  font-size: 1.2rem;
  text-transform: uppercase;
}
.comment-reply-title a:hover {
  color: #666;
}
#cancel-comment-reply {
  padding-bottom: 25px;
}
.comment #cancel-comment-reply {
  padding: 20px 0;
}
.form-control {
  border: 1px solid #e5e5e5;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 1.5rem !important;
  background-color: transparent;
}
.logged-in-as {
  padding-bottom: 10px;
}
.logged-in-as a {
  color: #b2b2b2;
}
.logged-in-as a:hover {
  text-decoration: underline;
}
.comment-form {
  clear: both;
  overflow: visible;
  font-size: 1.5rem;
}
.comment-form p {
  margin: 1rem 0 2rem;
}
.comment-form input:not([type=submit]):not([type=file]) {
  border: 1px solid #e5e5e5;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 1.5rem !important;
  background-color: transparent;
  padding: 1.4rem 1.5rem;
  width: 100%;
  height: auto !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.comment-form input[type=submit] {
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  display: inline-block;
  padding: 1.2rem 3.5rem;
  background-color: #2abac3;
  color: #fff;
  border: none;
  cursor: pointer;
}
.comment-form input[type=submit]:hover {
  background-color: #26abb3;
}
.comment-form textarea {
  border: 1px solid #e5e5e5;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 1.5rem !important;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: auto;
  width: 100%;
  overflow: auto;
  padding: 1rem 1.5rem 2rem;
  font-size: 1.5rem;
  line-height: 1.618;
}
.comment-form label {
  color: #6a6a6a;
  font-weight: normal;
  padding: 5px 0px 0 0;
  vertical-align: middle;
}
.comment-form .form-input {
  margin: 0 0 1.5rem 2%;
  vertical-align: middle;
  width: 32%;
  float: left;
  display: block;
  position: relative;
}
.comment-form .first {
  margin-left: 0;
}
.comment-form .form-submit {
  clear: both;
  margin: 0;
  padding: 0.5rem 0;
}
.comment-form .form-submit:before,
.comment-form .form-submit:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.comment-form .form-submit:after {
  clear: both;
}
.comment-form .form-textarea {
  line-height: 0;
}
.comment-form .fullwidth {
  width: 100%;
}
.comment-form .comment-notes {
  color: #b2b2b2;
  margin-bottom: 20px;
}
.comment-form .form-textarea {
  line-height: 0;
}
.comment-form .form-textarea label {
  display: none;
}
.comment-form .form-allowed-tags {
  font-size: 12px;
  color: #b2b2b2;
}
.comment-form .form-allowed-tags code {
  margin: 10px 0;
  white-space: normal;
  display: block;
}
@media screen and (min-width: 480px) {
  .wp-comments .avatar {
    float: left;
    margin-right: 25px;
  }
}
@media screen and (min-width: 768px) {
  .wp-comments .avatar {
    float: left;
    margin-right: 25px;
  }
}
.posts-navigation:before,
.posts-navigation:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.posts-navigation:after {
  clear: both;
}
.posts-navigation ul {
  display: inline-block;
}
.posts-navigation li {
  list-style: none;
  float: left;
  margin-right: 2rem;
  text-align: center;
}
.posts-navigation li:last-child {
  margin: 0;
}
.posts-navigation .page-numbers {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  display: inline-block;
  color: #ccc;
}
.posts-navigation .page-numbers.current,
.posts-navigation .page-numbers:hover {
  color: #222;
}
.post-navigation .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
/* ______________________________________________________________________________________________

                                          Portfolio
   ______________________________________________________________________________________________ */
.grid {
  -webkit-transition: height 0.3s ease-out;
  transition: height 0.3s ease-out;
}
.grid:before,
.grid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.grid:after {
  clear: both;
}
.single-portfolio.has-hero-image .header-inner .title {
  display: none;
}
.portfolio-filters {
  font-size: 1.3rem;
}
.portfolio-filters:before,
.portfolio-filters:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.portfolio-filters:after {
  clear: both;
}
.portfolio-filters a {
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  padding: 0 1rem;
}
.portfolio-filters li {
  list-style: none;
  display: inline-block;
}
.portfolio-grid .grid-sizer,
.portfolio-grid .grid-item {
  width: 8.33%;
  overflow: hidden;
}
.portfolio-grid .item-thumb {
  overflow: hidden;
}
.portfolio-grid .item-thumb img {
  width: 100%;
  max-width: 100%;
  -webkit-transition: all 500ms cubic-bezier(0.49, 0.295, 0.31, 0.87);
  transition: all 500ms cubic-bezier(0.49, 0.295, 0.31, 0.87);
  /* custom */
}
.portfolio-grid .item-categories a:not(:hover),
.portfolio-grid .item-title a:not(:hover) {
  color: inherit;
}
.portfolio-grid .grid-item {
  width: 24.99%;
}
/* ____________________________________________________________________________________________________

                                         04 Single Portfolio
 ______________________________________________________________________________________________________ */
.single-portfolio .navigation {
  margin-top: 0;
}
.gallery-item {
  display: inline-block;
  text-align: left;
  vertical-align: top;
  margin: 0 0 1.5em;
  padding: 0 1em 0 0;
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.gallery-columns-1 .gallery-item {
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  display: inline-block;
  max-width: 100%;
}
.gallery-item a img {
  display: block;
  -webkit-transition: -webkit-filter 0.2s ease-in;
  transition: -webkit-filter 0.2s ease-in;
  transition: filter 0.2s ease-in;
  transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.gallery-item a:hover img,
.gallery-item a:focus img {
  -webkit-filter: opacity(60%);
  filter: opacity(60%);
}
.gallery-caption {
  display: block;
  text-align: left;
  padding: 0 10px 0 0;
  margin-bottom: 0;
}
@media screen and (min-width: 30em) {
  /* Gallery Columns */
  .gallery-item {
    max-width: 25%;
  }
  .gallery-columns-1 .gallery-item {
    max-width: 100%;
  }
  .gallery-columns-2 .gallery-item {
    max-width: 50%;
  }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
}
@media screen and (min-width: 48em) {
  /* Gallery Columns */
  .gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}
/* ______________________________________________________________________________________________

                                          Page
   ______________________________________________________________________________________________ */
.page-loading {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: transparent none no-repeat 50% 50%;
}
.loader-inner {
  position: relative;
  top: 50%;
  left: 50%;
}
.content-container {
  background-color: #fff;
}
.content-row {
  padding-top: 3.5rem;
  /* Default value */
}
.has-sidebar .content-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* using flex is required also on mobile to make left sidebar display on top */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.has-sidebar .sidebar-left {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media only screen and (min-width: 768px) {
  .has-sidebar .content-row {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .has-sidebar .content-column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
  .has-sidebar .sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
  }
  .has-sidebar .sidebar-left {
    margin-right: 80px;
  }
  .has-sidebar .sidebar-right {
    margin-left: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .has-sidebar .sidebar-left {
    -webkit-box-ordinal-group: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
}
.page-links {
  margin: 5rem 0 3rem;
}
.page-links span {
  margin-right: 5px;
}
.page-links a:hover {
  color: #121212;
}
.page-links-title {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid #121212;
}
.search .no-results {
  margin-bottom: 6rem;
}
.search .no-results h3 {
  font-size: 2.4rem;
  margin-top: 0;
}
.search .title span {
  text-transform: none;
  font-style: italic;
  font-weight: normal;
}
.error-404 {
  text-align: center;
  height: 100vh;
}
.error-404 .entry-title {
  font-size: 30rem;
  letter-spacing: 4px;
  color: #333;
  line-height: 1;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .error-404 .entry-title {
    font-size: 152px;
  }
}
/* ______________________________________________________________________________________________

                                          Widgets 
   ______________________________________________________________________________________________ */
.sidebar {
  overflow: hidden;
}
.widget {
  margin-bottom: 40px;
  list-style: none;
}
.widget ul {
  padding: 0;
}
.widget:last-child {
  margin-bottom: 0;
}
.widget-title,
.widgettitle {
  margin: 0;
  font-size: 1.6rem;
  margin-bottom: 25px;
  color: #adadad;
}
.light .widget-title,
.light .widgettitle {
  color: #fff !important;
}
/* ------------------ Widget: Archives & Categories------------------ */
.widget ul {
  margin-left: 0;
}
.widget li {
  list-style: none;
  color: #bbb;
  padding-bottom: 5px;
}
.widget select {
  outline: none;
  padding: 7px 10px;
  display: block;
  border-color: #121212;
  max-width: 100%;
}
/* ------------------ Widget: archive ------------------ */
.widget_categories select,
.widget_archive select {
  border-color: #ccc;
}
.light .widget_archive select,
.light .widget_categories select {
  background: transparent;
  color: #ccc;
  border-color: #333;
}
/* ------------------ Widget: text ------------------ */
.textwidget img.alignleft,
.textwidget a img.alignleft {
  margin: 1rem 2rem 1rem 0;
  max-width: 100%;
}
.textwidget img.alignright,
.textwidget a img.alignright {
  margin: 1rem 0 1rem 2rem;
  max-width: 100%;
}
.textwidget img.aligncenter,
.textwidget a img.aligncenter {
  margin: 1rem auto;
  display: block;
  max-width: 100%;
}
.textwidget img.alignnone,
.textwidget img.alignleft,
.textwidget img.alignright {
  margin-bottom: 2rem;
}
.textwidget li {
  list-style: disc;
  list-style-position: inside;
  padding: 3px 0;
}
.textwidget li li {
  margin-left: 20px;
}
.textwidget ul,
.textwidget ol {
  margin: 0 0 1.75em 1.25em;
  padding: 0;
}
.textwidget ol > li {
  list-style: decimal;
}
.textwidget ol {
  margin-left: 1.5em;
}
.textwidget li > ul,
.textwidget li > ol {
  margin-bottom: 0;
}
.textwidget table,
.textwidget th,
.textwidget td {
  border: 1px solid #eee;
}
.textwidget table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.75em;
  width: 100%;
  /* Use table-layout: fixed can fix the issue "HTML tables becoming too wide", however it conflicts with github embeds */
}
.textwidget caption,
.textwidget th,
.textwidget td {
  font-weight: normal;
  text-align: left;
}
.textwidget th {
  border-width: 0 1px 1px 0;
  font-weight: 700;
}
.textwidget td {
  border-width: 0 1px 1px 0;
}
.textwidget th,
.textwidget td {
  padding: 0.4375em;
}
.light .textwidget {
  color: #777;
}
.light .textwidget form select {
  background: #222;
  color: #ccc;
}
/* ------------------ Widget: WP Galendar ------------------ */
.calendar_wrap {
  width: 240px;
  max-width: 100%;
}
#wp-calendar {
  width: 100%;
  color: #121212;
  line-height: 1.6;
}
#wp-calendar caption,
#wp-calendar tfoot {
  padding: 5px 0;
}
#wp-calendar thead > tr > th,
#wp-calendar tbody > tr > th,
#wp-calendar tfoot > tr > th,
#wp-calendar thead > tr > td,
#wp-calendar tbody > tr > td,
#wp-calendar tfoot > tr > td {
  border-color: #121212;
  text-align: center;
}
#wp-calendar thead > tr > th {
  border-bottom: 1px solid #121212;
}
#wp-calendar tbody a {
  display: block;
  border: 1px solid #ccc;
  padding: 0 5px;
}
#wp-calendar tbody a:hover {
  color: #121212;
}
#wp-calendar #prev {
  text-align: left;
}
#wp-calendar #next {
  text-align: right;
}
.light #wp-calendar {
  color: #eee;
}
.light #wp-calendar thead > tr > th,
.light #wp-calendar tbody > tr > th,
.light #wp-calendar tfoot > tr > th,
.light #wp-calendar thead > tr > td,
.light #wp-calendar tbody > tr > td,
.light #wp-calendar tfoot > tr > td {
  border-color: #eee;
}
.light #wp-calendar thead > tr > th {
  border-bottom: 1px solid #eee;
}
.light #wp-calendar tbody a {
  border: 1px solid #333;
}
.light #wp-calendar tbody a:hover {
  color: #eee;
}
/* ------------------ Widget: Search ------------------ */
.light .widget_search input,
.light .widget_search button {
  color: #fff;
  border-color: #333;
}
/* ------------------ Widget: Search ------------------ */
.widget_tag_cloud a:hover {
  color: #121212;
}
.light .widget_tag_cloud a:hover {
  color: #fff;
}
/* ------------------ Widget: Pages ------------------ */
.widget_pages .children {
  padding-left: 2rem;
}
/* ------------------ Widget: Recent Comments ------------------ */
.widget_recent_comments a.url {
  font-weight: normal;
}
.light .widget_recent_comments li a {
  color: #eee;
}
/* ------------------ Widget: Recent Entries & RSS ------------------ */
.widget_rss .post-date,
.widget_recent_entries .post-date,
.widget_rss .rss-date,
.widget_recent_entries .rss-date {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  line-height: 2;
  text-transform: uppercase;
  color: #707070;
  opacity: 0.8;
}
.widget_rss .rssSummary,
.widget_recent_entries .rssSummary {
  color: #555;
}
.widget_rss cite,
.widget_recent_entries cite {
  margin: 1rem 0 2rem;
}
.light .widget_rss li a,
.light .widget_recent_entries li a {
  color: #eee;
}
.light .widget_rss .rssSummary,
.light .widget_recent_entries .rssSummary {
  color: #777;
}
.widget_rss li {
  margin-bottom: 1.5rem;
}
/* ------------------ Widget: Custom Menu ------------------ */
.widget_nav_menu li a {
  margin: 0;
  overflow: visible;
}
.widget_nav_menu li li a {
  padding-left: 30px;
}
.widget_nav_menu li li li a {
  padding-left: 45px;
}
.widget_nav_menu li li li li a {
  padding-left: 60px;
}
.widget_nav_menu li li li li li a {
  padding-left: 75px;
}
.widget_nav_menu li li li li li li a {
  padding-left: 90px;
}
.widget_nav_menu li li li li li li li a {
  padding-left: 105px;
}
.widget_nav_menu li li li li li li li li a {
  padding-left: 120px;
}
.widget_nav_menu li li li li li li li li li a {
  padding-left: 135px;
}
.widget_nav_menu li li li li li li li li li li a {
  padding-left: 150px;
}
.widget_nav_menu li li li li li li li li li li li a {
  padding-left: 165px;
}
.light .widget_nav_menu li a {
  color: #eee;
}
/* ------------------ Widget: Social networks ------------------ */
.widget_nav_menu .menu-social-container ul {
  margin-left: 0;
}
.widget_nav_menu .menu-social-container li {
  list-style: none;
  display: inline;
  margin-right: 1rem;
}
.widget_nav_menu .menu-social-container a {
  color: #121212;
  opacity: .5;
}
.widget_nav_menu .menu-social-container a:hover {
  opacity: 1;
}
/* ______________________________________________________________________________________________

                                          Plugins
   ______________________________________________________________________________________________ */
/* ------------------ Jetpack ------------------ */
.infinite-wrap {
  visibility: hidden;
  height: 0;
}
.infinite-loader {
  position: absolute;
  bottom: -10rem;
  width: 100%;
}
.infinite-loader .spinner {
  left: 50% !important;
}
#infinite-handle {
  position: absolute;
  bottom: -10.5rem;
  width: 100%;
  text-align: center;
}
#infinite-handle span {
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  background: none;
  color: #121212;
  border: 1px solid #121212;
  padding: 1rem 3rem;
}
#infinite-handle span:after {
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: '';
  position: absolute;
  border: rgba(255, 255, 255, 0) solid 1px;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
#infinite-handle span:hover:after,
#infinite-handle span:focus:after,
#infinite-handle span:active:after {
  border-color: rgba(255, 255, 255, 0.7);
  -webkit-animation-name: tn-ripple-out;
  animation-name: tn-ripple-out;
}
#infinite-handle span:hover:after,
#infinite-handle span:focus:after,
#infinite-handle span:active:after {
  border-color: rgba(18, 18, 18, 0.7);
}
#infinite-handle span button {
  outline: none;
  font-size: 2rem;
}
#infinite-handle span:hover:after,
#infinite-handle span:focus:after,
#infinite-handle span:active:after {
  -webkit-animation-name: tn-ripple-out2;
  animation-name: tn-ripple-out2;
}
/* Hides navigation links and site footer when infinite scroll is active */
.infinite-scroll .posts-grid {
  margin-bottom: 10rem;
}
.infinite-scroll .navigation {
  display: none;
}
/* ------------------ Flexslider ------------------ */
#upt-container .flexslider {
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-bottom: 0;
}
#upt-container .flex-control-nav {
  bottom: 5px;
}
#upt-container .flex-direction-nav a {
  margin: 0;
  font-size: 1px;
  letter-spacing: -1px;
  color: transparent;
}
#upt-container .flex-direction-nav a:before {
  font-size: 14px;
  letter-spacing: normal;
  color: #303030;
}
/* ------------------ Google Maps ------------------ */
.google-map-force-full-height {
  /* Google Map Easy */
}
.google-map-force-full-height .gmp_MapPreview {
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}
/* ------------------ ThemeNow Elements ------------------ */
.tn-counter {
  font-size: 4.8rem;
  color: #fff;
}
.light .tn-counter {
  color: #fff;
}
.dark .tn-counter {
  color: #333;
}
/* ------------------ Prettyphoto ------------------ */
/* prettyPhoto styling for small screens */
@media (max-width: 500px) {
  .pp_pic_holder.pp_default {
    width: 100% !important;
    margin-top: -100px !important;
    left: 0 !important;
    overflow: hidden;
  }
  div.pp_default .pp_content_container .pp_left {
    padding-left: 0 !important;
  }
  div.pp_default .pp_content_container .pp_right {
    padding-right: 0 !important;
  }
  .pp_content {
    width: 100% !important;
    height: auto !important;
  }
  .pp_content iframe {
    width: 100%;
    height: auto;
  }
  .pp_fade {
    width: 100% !important;
    height: 100% !important;
  }
  a.pp_expand,
  a.pp_contract,
  .pp_hoverContainer,
  .pp_gallery,
  .pp_top,
  .pp_bottom {
    display: none !important;
  }
  #pp_full_res img {
    width: 100% !important;
    height: auto !important;
  }
  .pp_details {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100% !important;
    padding-left: 3%;
    padding-right: 4%;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #fff;
    margin-top: -2px !important;
  }
  a.pp_close {
    right: 10px !important;
    top: 10px !important;
  }
}
/* ------------------ Shortcodes Ultimate ------------------ */
.su-dropcap-style-simple {
  font-size: 2.63em !important;
}
.su-accordion.theme-style .su-spoiler.su-spoiler-closed .su-spoiler-title {
  background-color: transparent;
  color: #121212;
  border: 1px solid #aaa;
}
.su-accordion.theme-style .su-spoiler.su-spoiler-closed .su-spoiler-icon {
  color: #121212;
}
.su-accordion.theme-style .su-spoiler .su-spoiler-title {
  background-color: #121212;
  color: #fff;
}
.su-accordion.theme-style .su-spoiler .su-spoiler-icon {
  color: #fff;
}
.su-accordion.theme-style .su-spoiler-icon {
  line-height: 4.7rem;
  top: 0;
  left: 1.5rem !important;
}
.su-accordion.theme-style .su-spoiler-title {
  font-size: 1.4rem;
  font-family: Raleway, Arial, Helvetica, FreeSans, sans-serif;
  line-height: 4.7rem;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0 5rem;
}
.su-accordion.theme-style .su-spoiler-content {
  padding: 1.5em 1em;
}
body #wrapper a.su-button span {
  padding: 1rem 3rem !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  border-width: 2px !important;
  line-height: 28px !important;
}
body #wrapper .su-carousel-slide a {
  padding: 0;
}
body #wrapper .su-carousel-slide img {
  padding: 0;
  border: 0;
  background: transparent;
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0;
}
body #wrapper .su-carousel.photos a:before {
  -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: absolute;
  background-color: #111;
  opacity: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  z-index: 1;
}
body #wrapper .su-carousel.photos a:after {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  -webkit-transition: all 0.5s cubic-bezier(0, -0.26, 0.49, 0.66);
  transition: all 0.5s cubic-bezier(0, -0.26, 0.49, 0.66);
  content: "\f2d3";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  margin-left: -24px;
  margin-top: -24px;
  font-size: 48px;
  color: #fff;
  opacity: 0;
  text-align: center;
  z-index: 2;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
body #wrapper .su-carousel.photos a:hover:after {
  top: 50%;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
body #wrapper .su-carousel.photos a:hover:before {
  opacity: 0.5;
}
body #wrapper .mfp-arrow:hover,
body #wrapper .mfp-arrow:focus {
  outline: none;
}
.faq .su-service-title img {
  display: none !important;
}
.faq .su-service-title:before {
  speak: none;
  display: inline-block;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Ionicons";
  content: "\f445";
  font-size: 30px;
  margin: 0 10px 0 -36px;
  vertical-align: middle;
}
.faq .su-service-content {
  padding-left: 38px !important;
}
.su-carousel {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.su-carousel-slides {
  display: flex !important;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
.su-carousel-slide {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  flex-shrink: 0 !important;
  float: none !important;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
/* ______________________________________________________________________________________________

                                          Framework
   ______________________________________________________________________________________________ */
body {
  position: relative;
}
#wrapper {
  margin: 0 auto;
  border-top-style: solid;
  min-height: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}
.header-row,
.footer-row,
.plasmid-row,
.comment-body,
.comments-header,
.comment-respond {
  max-width: 100%;
}
.plasmid-container {
  padding: 0 4.4rem;
  overflow: hidden;
}
.no-padding {
  padding: 0 !important;
}
.header-container,
.topbar-container,
.nav-container {
  overflow: visible;
}
.plasmid-row,
.header-row {
  margin: 0 auto;
}
.plasmid-row-fullwidth {
  width: 100%!important;
}
.plasmid-row-fullwidth_no_padding {
  width: auto!important;
  max-width: none;
}
#wrapper:before,
.content-column:before,
#wrapper:after,
.content-column:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
#wrapper:after,
.content-column:after {
  clear: both;
}
.main {
  background-color: #fff;
  position: relative;
  z-index: 0;
  /* z-index is required for parallax hero image working, and must be less than 1 for page transition overlay working */
  margin: 0 auto;
  overflow: hidden;
  /* this is required to hide dropdown menu fly off the right of the screen */
}
.main:before,
.main:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.main:after {
  clear: both;
}
@media only screen and (max-width: 767px) {
  body.admin-bar #wpadminbar {
    position: fixed;
  }
  body.admin-bar .header-container {
    top: 0;
  }
}
.turn-your-device {
  display: none;
  z-index: 999999999;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background: #aaa url(images/turn-your-device.png) no-repeat center center;
  background-size: cover;
}
@media only screen and (max-width: 767px) and (orientation: landscape) {
  .demo.home .turn-your-device {
    display: block;
  }
  .demo.home .wrapper {
    display: none;
  }
}
/* ______________________________________________________________________________________________

                                          IE Fixes
   ______________________________________________________________________________________________ */
/**
 * IE fixes
 * 
 * No longer import 'ie9.less', because body class will be cached, using browser class to recognize browser
 * is not reliable any more, 'ie9.less' is kept as a furture reference with IE10+ issues
 * 
 * @see https://stackoverflow.com/questions/28417056/how-to-target-only-ie-any-version-within-a-stylesheet
 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .header-inner {
    height: 10px;
    /* Fix: IE don't do align-items:center without height style */
  }
  .content-column {
    overflow: visible;
    /* [IE 11 only] 'hidden' is required to fix the issue: content extend outside of screen with flex-grow:1, but 'visible' is required to show fullwidth (strech) row of Page Builder by SiteOrigin */
  }
  .header-container.fixed,
  .hero-parallax-on .header-container.fixed {
    -webkit-animation: slide-down 0.7s;
            animation: slide-down 0.7s;
    /* fix jump when changes to position:fixed */
  }
  .woocommerce div.product div.images .flex-control-thumbs li {
    min-height: 1px;
    /* fix unwanted white space below product thumbnail (vertical) */
  }
}
/*# sourceMappingURL=plasmid.css.map */