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

*, *:after, *::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}

html, body {
    color: #555;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;    
    font-style: normal;
    font-weight: 400;    
    height: 100%;
    letter-spacing: 0.5px;    
    margin: 0;
    padding: 0;
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    width: 100%;
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -webkit-font-smoothing: subpixel-antialiased;
}

body {
    line-height: 1.7em;
    overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6,p,ul { 
    margin:0;
    padding: 0;
}
 
h1, h2, h3, h4, h5, h6 {
    color:#555;
    clear: both;
    line-height: 1.4;
    margin: 0 0 0.75em;
    padding: 1.5em 0 0;
}

 h1 {font-size: 32px; font-weight: 700;}
 h2 {font-size: 30px; font-weight: 700;}
 h3 {font-size: 24px; font-weight: 700;}
 h4 {font-size: 22px; font-weight: 700;}
 h5 {font-size: 18px; font-weight: 700;}
 h6 {font-size: 14px; font-weight: 700;}  

a {text-decoration: none; 
    display: inline-block;
}
 

img {max-width: 100%;}


ol, ul {
    list-style: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"] {    
    background: transparent;
    border: none;
    border-bottom: 1px solid #555;        
    color: #000;    
    height: 50px;
    padding: 0px 10px 0 20px;    
    width: 100%;    
    font-weight: 400;
}

textarea {
    background: transparent;
    border: none;
    border-bottom: 1px solid #555;    
    color: #000;
    padding: 10px 10px 0 20px;
    width: 100%;
    font-weight: 400;
}

blockquote {
    background: transparent url(../img/bquote.png) no-repeat scroll 0 0;
    border: none;
    padding: 0 0 0 40px;
}

blockquote p {
    margin-top: 30px;
    overflow: hidden;
    margin-bottom: 8px !important;
}

blockquote cite {
    font-weight: 700;
}

table {
    border-bottom: 1px solid #ededed;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    line-height: 2;
    margin: 0 0 20px;
    width: 100%;
}

td {
    border-top: 1px solid #ededed;
    padding: 6px 10px 6px 0;
}

caption, td {
    font-weight: normal;
    text-align: left;
}

tr {
    font-weight: 700;
}

ul {
    list-style-type: disc;
    margin-left: 20px;
}

ol{
    margin-left: 20px;
    list-style: decimal;
}

li > ul, li > ol {
    margin-left: 20px;
}

address {
    font-style: italic;    
}

p {
    margin: 0 0 1.5em;
    padding: 0;
}

dd{
    margin: 0 0 1.5em 20px;
    padding: 0;   
}

big {
    font-size: 125%;
}

small {
    font-size: 80%;
}

.loader-wrapper {
    background: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 100000;
}

#pre-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -15px 0 0 -15px;
}

@keyframes spinner_preloader {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(720deg); } 
}

/**
====================================================================
  WordPress Core
====================================================================
*/

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

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

.wp-caption {
    background: #fff;    
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

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

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    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. */
}

.sticky {
    margin-bottom: 2px; 
}

.entry-title .fa-thumbtack {
    padding-right: 5px;
}

.gallery-caption {
    font-size: 16px;
    font-weight: 700;
}

.bypostauthor {
    font-size: 14px;
    color: #555;
}

.center {
    text-align: center;
}


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

header {
    position: relative;
    padding-top: 10px;
    border-bottom: 1px solid #f1f1f1;
}

header.style-1.menu-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    border-bottom: none;
}

.top-menu.navbar {
	width: 70%;
    float: right;
	margin-bottom: 0;
	border: none;
}

.nav > li > a:hover, .nav > li > a:focus {
	background: none;
}

header #krystal-main-menu-wrapper .nav>li>a {
    padding: 0 0 18px 0;
    margin: 0 20px;
    position: relative;
    z-index: 9;
}

#navbar-collapse-1 {
    padding: 0;
}

header .logo {
    float: left;
    width: 25%;
    padding: 0;
    text-align: left;
    margin-top: 5px;
}

header .logo img {
	max-width: 150px;
	height: auto;
}

header .logo #logo-alt {
	display: none;
}

header .krystal-main-menu {
    float: right;
}

h1.site-title,
p.site-title {
    font-size: 25px !important;
    margin: 0;
    padding: 0;
}

p.site-title {
	font-weight: 600;
	clear: both;
    line-height: 1.4;
}

#krystal-main-menu-wrapper {
    margin: 0;
    border: none;
    border-radius: 0;
    min-height: auto;
    margin-top: 15px;
}

#krystal-main-menu-wrapper li {
    position: relative;
}

#krystal-main-menu-wrapper .nav>li {
    float: left;
    padding: 10px 0;
    padding-bottom: 0;
    margin-bottom: 15px;
}

.bread-crumb,.bread-crumb span {
    color: #fff;
    padding-top: 10px;
}

#krystal-main-menu-wrapper .nav>li>a {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    text-transform: capitalize;
    color: #000;
    background: transparent;
}

@keyframes menu_sticky {
    0%  {margin-top:-120px;opacity: 0;}
    50%  {margin-top: -64px;opacity: 0;}
    100% {margin-top: 0;opacity: 1;}
}

header.style-2.menu-wrapper.fixed,
header.style-1.menu-wrapper.fixed {
    position: fixed;
    top: 0px;
    border-bottom: 1px solid rgb(236, 236, 236);
    z-index: 10;
    width: 100%;
    background: rgb(255, 255, 255);
    animation: 1s ease-in-out 0s 1 normal none running menu_sticky;
}

header.style-1 #search-box .search input {
	border-bottom: 1px solid #555 !important;	
}

header a.popup-close {
	cursor: none;
	font-size: 1px;
}


/**
====================================================================
  Sub Menu
====================================================================
*/

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu,
#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu {
    transition:all 0.4s ease-in-out;
    opacity: 0;
    border-radius: 5px;
    background: #fff;
    position: absolute;
    z-index: 9;
    border: 1px solid rgba(0,0,0,0.03);
    -webkit-box-shadow: 0px 1px 25px -12px rgb(0 0 0 / 25%);
    -moz-box-shadow: 0px 1px 25px -12px rgb(0 0 0 / 25%);
    box-shadow: 0px 1px 25px -12px rgb(0 0 0 / 25%);
    -webkit-transition:all 0.4s ease-in-out;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li {
    padding: 6px 12px;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu {
	margin-top: -2px;
	padding: 0;
	display: none;
    width: 230px;
    top: 100%;
    left: 0;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu {
    width: 200px;
    top: 1px;
    left: 102%;
    display: none;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu>li:hover .dropdown-menu {
    left:100%;
    opacity: 1;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li a,
#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li > .dropdown-menu li a {
    font-size: 13px;
    color: #38384f !important;
    line-height: 25px;
    display: inline-block;
    position: relative;
    z-index: 9;
}

.dropdown-menu,
#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu, 
#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu {
	border: none;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li:hover a,
#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu li:hover a {
	color: #fff !important;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li {
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li:last-child {
    border: none;
}

#krystal-main-menu-wrapper .nav li.dropdown .fas {
    display: none;
    position: absolute;
    z-index: 99;
    width: 60px;
    right: 0;
    top:0;
    line-height: 50px;
    border-left: 1px solid rgba(0,0,0,0.05);
    color: #38384f;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li.dropdown .fas {
    line-height: 45px;
}

#krystal-main-menu-wrapper .navbar-toggle .icon-bar {
    background: #000;
}

.dropdown-menu > li > a {
	padding: 3px 10px;
	white-space: inherit;
}

.dropdown-menu > li > a:hover, 
.dropdown-menu > li > a:focus {
    background: none;
}

#krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li.dropdown:hover .dropdown-menu {
    display: block;
}

.dropdown-menu > .active > a, 
.dropdown-menu > .active > a:hover, 
.dropdown-menu > .active > a:focus {
    background: none;
}

/* Headings and Subheadings */

.section-heading {
    margin-top: 70px;
}


.heading h2 {
    color: #dd3333;
    display: inline-block;    
    font-size: 35px;
    font-weight: 900;
    padding-bottom: 5px;
    -webkit-font-smoothing: antialiased !important;
}

.heading h2 > span {
    color: #555;
    font-weight: 300;
    padding-left: 5px;
}

.subheading p {
    margin: auto;
    width: 37%;
}

.subheading p.left {
    margin: 0;
}


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


section.home-color-section {
    height: 100vh;
}

#parallax-bg {
    margin: 0 0;
}

#parallax-bg #slider-inner {
    background-size: cover !important;
    height: 100vh;
    padding-top: 25px;
    position: relative;
}

#parallax-bg #slider-inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;    
    background: rgba(0,0,0,.5);
    text-align: center;
    color: #fff;
}

.slide-bg-section {
    color: #fff;
    display: table;
    height: calc(100vh - 10px);    
    overflow: hidden;
    width: 100%;
}

#parallax-bg.style2 .slide-bg-section {
    height: calc(100vh - 200px);    
}

.slide-bg-section .slide-bg-text {
    display: table-cell;
    vertical-align: middle;
}

.slide-bg-section h2 {    
    color: #fff;
    font-weight: 900;
    margin: 0;
}

.slide-bg-section p.center {
    margin: auto;
    width: 55%;
}

.slide-bg-section p.right {
    float: right;    
}

.slide-bg-section p {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.5px; 
    padding: 10px 0 10px 0;
    width: 45%;    
}

.slide-bg-section .slide-buttons {
    clear: right;
}

.slide-bg-section .read-more {    
    margin-top: 25px;
    display: inline-block;
    margin-right: 30px;
}

.slide-bg-section .read-more a {
    background: transparent;
    border: 1px solid #dedede;
    border-radius: 45px;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;    
    padding: 18px 35px;    
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}


section > .main-content,.inner-overlay>.main-content {
    padding-top: 110px;
    padding-bottom: 50px;
}

.page-content-area {
    margin: 70px 0;
}

.page .content-page a:not(.elementor-button) {
    text-decoration: underline;
}

.elementor-page .page-content-area {
    margin-bottom: 0;
}

.title {
    text-align: center;
}

.title h3 {
    color: #555;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
}

.title p {
    margin: auto;
    width: 400px;    
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.center {
    text-align: center;
}

.image .img-responsive {
    display: inline-block;
}

.content p {
    margin: 35px 0;
}


/**
====================================================================
  Blog
====================================================================
*/

.blog-wrapper {
    margin: 70px 0;
    padding-right: 40px;
}

.blog-wrapper .image {
    position: relative;
    max-width: 100%;      
    overflow: hidden;
}

.blog-wrapper.blog-list .image {
    position: relative;
    max-width: 100%;      
    overflow: hidden;
}

.blog-wrapper img {
    max-width: 100%;   
    vertical-align: top;
    height: auto;    
}

.blog-wrapper.blog-list img {
    max-width: 100%;   
    vertical-align: top;
    height: auto;    
}

.meta-wrapper ul.post-categories {
    display: inline;
    margin-left: 0;
    list-style-type: none;
}

.meta-wrapper ul.post-categories li {
    display: inline;
}

.blog-wrapper .meta {
    color: #555;
    margin: 20px 0px;
}

.meta .meta-item {
    padding-left: 15px;
    padding-right: 15px;
    border-right: 1px solid #d8d8d8;
}

.meta .meta-item:last-child {
    border-right: 0;
}

.meta .meta-item:first-child {
    padding-left: 0px;
}

.meta-item i {
    padding-right: 10px;
}

.blog-content h2 {
    font-weight: 700;    
    padding: 0;
}

.post-info.single {
    padding: 30px 0;
}

ul.post-categories {
    display: inline;
    margin-left: 0;
}

.post-tags.single {
    text-align: right;
}

.post-category li {
    display: inline;
}

.blog-content h4 {
    font-weight: 700;
    margin: 25px 0 18px 0;
    padding: 0;
}

.blog-wrapper .read-more {
    margin:40px 0;
    text-align: right;
}

.post-navigation h2 {
    display: none;
}

.single .nav-links {
    background: #fbfbfb;
    padding: 25px;
    font-size: 13px;
    margin-bottom: 40px;
}

.single-post #respond {
    margin-bottom: 70px;
}

.single .blog-content a, .single #comments a {
    text-decoration: underline;
}

.single .blog-content .heading h2 > a,
.single #comments .comment-author .fn a {
    text-decoration: none;
}

.blog-content .heading h4 > a {
	text-decoration: none !important;
}

.blog p:empty:before,
.blog-excerpt p:empty:before {
	content:none;
}

.nav-links .nav-previous, .nav-links .nav-next {
    width: 50%;
    display: inline-block;
}

.nav-links .nav-previous:before {
    content: "\f060";
    font-family: 'Font Awesome 5 Free';
    font-display: optional;
    font-weight: 900;
    padding-right: 5px;
}

.nav-links a {
    color: #555;
}

.nav-links .nav-next {
    text-align: right;
}

.nav-links .nav-next:after {
    content: "\f061";
    font-family: 'Font Awesome 5 Free';
    font-display: optional;
    font-weight: 900;
    padding-left: 5px;
}

.nav-links > .nav-next:first-of-type {
    width: 100%;
}

#commentform input[type=submit] {
    margin-top: 50px;
    background: none;
    border-radius: 45px;
    border: 1px solid #555;
    color: #555;
    padding: 15px 40px;
    transition: all 0.3s ease-in-out;
}

.pagination {
    padding-left: 15px;
    width: 100%;
}

.entry-footer span {
    padding-right: 10px;
}

.search footer.entry-footer {
    margin-bottom: 50px;
}

.pagination .nav-links .current {
    font-weight: 700;
    font-size: 14px;  
    border-radius: 45px;
    padding: 6px 14px;
    color: #fff;
}

.pagination .nav-links a {
    padding: 5px 25px;
}

.widget-area {
    margin-top: 50px;
}

.widget-area .widget {
    margin: 50px 0;
}

aside h4.widget-title {
    text-transform: uppercase;
}

aside .widget ul {
    margin-top: 15px;
}

aside .widget ul li {
    padding: 5px 0;  
}

aside .widget input#searchsubmit,aside .widget label.search-icon {
    display: none;
}

.searchpage .page-content form {
    margin-top: 50px;
}

form.searchform input#searchsubmit,form.searchform label.search-icon {
    display: none;   
}

aside .widget ul {
    margin-left: 0 !important;
}


/**
====================================================================
  Search
====================================================================
*/

.searchpage .content-area {
    margin: 70px 0;
}

.searchpage .content-area article {
    margin: 50px 0;
}

.searchpage .content-area article h3 {
    margin: 15px 0;
}

.search-content h1 {
    margin-bottom: 20px;
    padding: 0;
}



/**
====================================================================
  Comments
====================================================================
*/


#comments {
    margin-top: 50px;
}

ol.comment-list {
    margin-top: 30px;
    list-style-type: none;
    margin-left: 0;

}

ol.children {
    list-style-type: none;
}

.comment-metadata {
    margin: 10px 0;
}

#respond {
    margin-top: 50px;
}

.comment-meta .reply {
    margin: 10px 0;
    float: right;
}

.comment-meta b.fn {
    padding-left: 10px;
}

#respond h3#reply-title {
    margin-bottom: 5px;
}

.children .comment {
    padding-left: 50px;
}

.comment-body {
    margin-bottom: 30px;
}

.comment-body .comment-content {
    background: #f9f9f9;
    padding: 15px 20px;
    border-radius: 5px;
    font-size: 13px;
}

.comment-body .comment-content p {
    margin: 0;
}

.comment-body .comment-author img {
    border-radius: 45px;
    vertical-align: middle;
}

.comment-body .comment-author b.fn a {
    vertical-align: middle;
}


/**
====================================================================
  Contact Us
====================================================================
*/

form.wpcf7-form {
    width: 60%;
    margin: auto;
}

form.wpcf7-form label {
    display: block;
}


form input[type="submit"] {
    margin-top: 35px;
    background: none;
    border-radius: 45px;
    border: 1px solid #555;
    color: #555;
    padding: 15px 40px;
    transition: all 0.3s ease-in-out;
}

div.wpcf7 .ajax-loader {
    position: absolute;
    right: 50%;
    top: 100%;
    margin-top: 10px;
}

div.wpcf7-validation-errors {
    text-align: center;
    border: 0;
    color: #ff0000;
}

div.wpcf7-mail-sent-ng {
    text-align: center;
    border: 0;
    color: #ff0000; 
}

div.wpcf7-mail-sent-ok {
    text-align: center;
    border: 0;
    color: #408e1e;
}

span.wpcf7-not-valid-tip { 
    display: none; 
}

input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { 
    border-bottom: 1px solid #ff0000;
    transition: all 0.3s ease-in-out; 
}



/**
====================================================================
  Footer
====================================================================
*/

.footer-widgets-wrapper h4 {
    padding: 0;
}
 
footer .social {
    color: #555;
}


footer .social-icons .s-icon a {
    color: #555;
}

footer .social-icons .s-icon {
    padding:5px;
}

footer .social-icons i {
    text-align: center;
    font-size: 16px;
    width: 45px;
    height: 45px;
    padding: 12px;    
    border-radius: 50%;
    -webkit-transition: all 0.3s ease-in-out;        
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

footer ul li {
    padding: 5px 0;
}

footer .social-icons i:hover {
    color: #fff;   
    background: #000;  
    -webkit-transition: all 0.3s ease-in-out;        
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;  
}

footer .copyrights {
    margin: 30px 0;
    margin-top: 50px;
    text-align: center;
}

footer .footer-inner {
    text-align: center;
}

footer .footer-inner .icon i {
    font-size: 40px;
}

footer .widget_nav_menu ul {
    list-style-type:  none;
}

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

.btn {
    padding: 6px 25px;
}

button.trans {
    background: none;
    border: 1px solid #fff;
    height: 50px;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button.black {
    background: #000;    
    height: 50px;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button i {
    padding-left: 5px;
}

.btn-default {
    color: #fff;
}

.btn-default:focus {    
    border: none;
    color: #fff;
}

.btn-default:hover {       
    border: 0;       
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button.trans:hover, button.trans:focus, button.trans:active {    
    background: #000; 
    border: 1px solid #000;
    color: #fff;   
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button.black:hover, button.black:focus, button.black:active {    
    background: #000; 
    border: 1px solid #000;
    color: #fff;   
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button {
    font-size: 12px;
    -webkit-transition: all 0.3s ease-in-out;        
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

button.trans {
    background: none;
    border: 1px solid #fff;      
    width: 160px;
    height: 50px;
    border-radius: 45px;
    
}

button.black {
    background: #000;    
    border: 1px solid #000;      
    width: 160px;
    height: 50px;
    border-radius: 45px;
}

button.grey {
    background: none;    
    border: 1px solid #555;      
    width: 160px;
    height: 50px;
    border-radius: 45px;
    color: #555;
}

button i {
    padding-left: 5px;    
}

.btn-default {
    color: #fff;
    background: #444444;    
    border: 1px solid #444444;      
    width: 160px;
    height: 50px;
    border-radius: 45px;
}

.btn-default:focus {
    background: #000;
    border: none;
    color: #fff;
}

.btn-default:hover {
    color: #fff;
    background: #036b61;
    border: none;
    -webkit-transition: all 0.3s ease-in-out;        
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

/*-- link buttons --*/

a.trans {
    transition: all 0.3s ease-in-out;
}

/*-- button up --*/

.btntoTop {
    width: 30px;
    height: 30px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    border: 1px solid #000;
    text-align: center;
    line-height: 25px;
    cursor: pointer;
    opacity: 0;
    border-radius: 50%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.btntoTop:before {
    content: "\f106";
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    font-family: 'Font Awesome 5 Free';
    font-display: optional;
    font-weight: 900;   
}

.btntoTop.active {
    opacity: 1;
}

.btntoTop.active:hover {
    opacity: 0.8;
    background: #000;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;        
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}


/**
====================================================================
  Page Title
====================================================================
*/

.section-title.page-title {    
    padding: 150px 5px 125px 5px;  
}

.section-title h1 {
    color: #fff;
    margin: 0;
    padding: 0;
}

/**
====================================================================
  Scroll Down
====================================================================
*/

@-webkit-keyframes ani-mouse {
    0% {
        opacity: 1;
        top: 29%;
    }
    15% {
        opacity: 1;
        top: 50%;
    }
    50% {
        opacity: 0;
        top: 50%;
    }
    100% {
        opacity: 0;
        top: 29%;
    }
}

@-moz-keyframes ani-mouse {
    0% {
        opacity: 1;
        top: 29%;
    }
    15% {
        opacity: 1;
        top: 50%;
    }
    50% {
        opacity: 0;
        top: 50%;
    }
    100% {
        opacity: 0;
        top: 29%;
    }
}
@keyframes ani-mouse {
    0% {
        opacity: 1;
        top: 29%;
    }
    15% {
        opacity: 1;
        top: 50%;
    }
    50% {
        opacity: 0;
        top: 50%;
    }
    100% {
        opacity: 0;
        top: 29%;
    }
}


.scroll-down {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    text-align: center;
}

#parallax-bg.style2 .scroll-down {    
    bottom: inherit;
}

.scroll-down > * {
    display: inline-block;
    line-height: 18px;
    font-size: 13px;
    font-weight: normal;
    color: #7f8c8d;
    color: #ffffff;
    font-family: "proxima-nova", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 2px;
}

.scroll-down > *:hover,
.scroll-down > *:focus,
.scroll-down > *.active {
    color: #ffffff;
}

.scroll-down > *:hover,
.scroll-down > *:focus,
.scroll-down > *:active,
.scroll-down > *.active {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.scroll-down .mouse {
    position: relative;
    display: block;
    width: 20px;
    height: 35px;
    margin: 0 auto 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid white;
    border-radius: 23px;
}

.scroll-down .mouse > * {
    position: absolute;
    display: block;
    top: 29%;
    left: 50%;
    width: 4px;
    height: 4px;
    margin: 0 0 0 -2px;
    background: white;
    border-radius: 50%;
    -webkit-animation: ani-mouse 2.5s linear infinite;
    -moz-animation: ani-mouse 2.5s linear infinite;
    animation: ani-mouse 2.5s linear infinite;
}

/**
====================================================================
  404 Page
====================================================================
*/

.page-content-area h1.page-error {
    margin-bottom: 20px;
    padding-top: 0;
}

.error404 .page-content-area form {
    margin-top: 50px;
}

/**
====================================================================
  Custom CSS
====================================================================
*/

input[type="radio"],input[type="radio"]:hover {
    -webkit-appearance: radio;
}

input[type="checkbox"],input[type="checkbox"]:hover {
    -webkit-appearance: checkbox;
}

#krystal-main-menu-wrapper li.menu-button {
	padding: 0 !important;
}

header.style-1 #krystal-main-menu-wrapper li.menu-button {
	margin-top: 5px;
}

#krystal-main-menu-wrapper li.menu-button > a {
    padding: 5px 20px !important;
    border-radius: 45px;
}

#krystal-main-menu-wrapper li.menu-button > a {
    position: relative;
}

select {
    background: transparent;
    border: none;
    border-bottom: 1px solid #555;
    color: #000;
    height: 50px;
    padding: 0px 10px 0 20px;
    width: 100%;
    font-weight: 400;
    padding-left: 10px;
}

aside .widget ul {
    list-style-type: none !important;
}


/**
====================================================================
  Gallery Post
====================================================================
*/

.gallery-caption {
    font-size: 13px;
    font-weight: 400;
}

.gallery-columns-2 .gallery-item {
    display: inline-block;
    width: 50%;
    padding: 5px 5px;
}

.single .gallery-columns-2 .gallery-item {
    display: inline-block;
    width: 50%;
    padding: 10px 10px;
}

.gallery-columns-3 .gallery-item {
    display: inline-block;
    width: 32%;
    padding: 5px 5px;
}

.single .gallery-columns-3 .gallery-item {
    display: inline-block;
    width: 32%;
    padding: 10px 10px;
}

.gallery-columns-4 .gallery-item {
    display: inline-block;
    width: 25%;
    padding: 5px 5px;
}

.single .gallery-columns-4 .gallery-item {
    display: inline-block;
    width: 25%;
    padding: 10px 10px;
}

.gallery-item img {
    width: 150px;
    border-radius: 4px;
}

.single .gallery-item img {
    width: 100%;
    border-radius: 4px;
} 

/**
====================================================================
  Breadcrumbs
====================================================================
*/

.page-title .trail-items li {
    display: inline-block;
    padding: 0 3px;
}

.page-title .trail-items li a {
    padding-left: 10px;
}

.page-title span {
    display: inline;
    margin-top: 5px;
    margin-bottom: 15px;
}

.page-title .trail-items li:after {
    content: ">";
    display: inline-block;
    padding-left: 10px;
    padding-right: 5px;
}

.page-title .trail-items li:last-child:after {
    content: "";
    display: inline-block;
}


.page-title .trail-items li a:hover {
    text-decoration: none;
}

/**
====================================================================
  RESPONSIVE MEDIA QUERIES
====================================================================
*/


@media only screen and (max-width: 767px) {

    /* navigation */

    header.style-1 .logo, 
    header.style-2 .logo {
        float: left;
        text-align: left;
        width: 70% !important;
        position: relative;
        z-index: 9999;
    }  


    header.style-2 #krystal-main-menu-wrapper .navbar-toggle {
        float: right;
        top: 20px;
    }

    header.style-1 #krystal-main-menu-wrapper .navbar-toggle {
        float: right;
        top: 20px;
    }

    .navbar-toggle {
        float: none;
    }

    .top-menu.navbar {
        float: none;
    }
    
    #krystal-main-menu-wrapper .navbar-toggle {
        display: inline-block;
        margin: 0 0 20px 0;
        padding: 0;
    }

    #krystal-main-menu-wrapper .nav li.dropdown .fas {
        display: block;
    }

    #krystal-main-menu-wrapper .navbar-toggle .icon-bar {
        width: 26px;
        margin-top: 5px;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .menu-style-three #krystal-main-menu-wrapper .navbar-toggle .icon-bar {
        background: #0dda8f;
    }
    
    #krystal-main-menu-wrapper .navbar-toggle .icon-bar:nth-child(3) {
        opacity: 0;
    }
  
    #krystal-main-menu-wrapper .navbar-toggle.collapsed .icon-bar:nth-child(3) {
        opacity: 1;
    }
  
    #krystal-main-menu-wrapper .navbar-toggle .icon-bar:nth-child(2) {
        transform:rotate(45deg);
        transform-origin:0%;
        margin: 0 0 9px 0;
    }

    #krystal-main-menu-wrapper .navbar-toggle .icon-bar:nth-child(4) {
        transform:rotate(-45deg);
        transform-origin:0%;
    }

    #krystal-main-menu-wrapper .navbar-toggle.collapsed .icon-bar:nth-child(2) {
        margin-bottom: 0;
        margin-top: 0;
    }

    #krystal-main-menu-wrapper .navbar-toggle.collapsed .icon-bar {
        transform:none !important;
        margin-top: 5px;
    }
  
    #krystal-main-menu-wrapper .navbar-collapse {
        border: none;
        background: #fff;
        padding: 0;
        max-height: 400px;
        -webkit-box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
        -moz-box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
        box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
    }

    #krystal-main-menu-wrapper .navbar-collapse.collapse {
        overflow-y:auto !important;
    }

    #krystal-main-menu-wrapper .navbar-collapse.collapse {
        display: none!important;
    }
  
    #krystal-main-menu-wrapper .collapse.in {
        display:block !important;
    }

    #krystal-main-menu-wrapper .navbar-header {
        float: none;
        text-align: center;
    }

    #krystal-main-menu-wrapper .nav>li {
        float: none;
        display: block;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu,
    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu {
        width: 100%;
        opacity: 1;
        display: none;
        float: none;
        position: static;
        -webkit-transform:none;
        transform:none;
        -webkit-transition:none;
        transition:none;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown:focus-within > ul {
        opacity: 1;
        display: block;
        -webkit-transform:scale(1);
        transform:scale(1);
    }

    #krystal-main-menu-wrapper .nav>li > ul > li.dropdown:focus-within > ul {
        opacity: 1 !important;
        display: block !important;
        -webkit-transform:scale(1);
        transform:scale(1);
    }

    #krystal-main-menu-wrapper .nav>li>a {
        border-top: 1px solid rgba(0,0,0,0.05);
        padding: 0 15px;
        line-height: 50px;
        font-weight: normal;
    }

    #krystal-main-menu-wrapper .nav>li:last-child>a {
        border-bottom:none;
    }

    #krystal-main-menu-wrapper .nav>li {
        padding: 0;
    }

    #krystal-main-menu-wrapper .nav>li:first-child > a {
        border:none;
    }

    #krystal-main-menu-wrapper {
        float: none;
        width: 100%;
        margin-top: 0;
    }

    .style1 nav ul.nav {
        margin-left: 0;
        width: 100%;
    }

    .style1 .krystal-main-menu {
        text-align: left;
    }

    header.krystal-menu-wrapper #krystal-main-menu-wrapper .nav>li>a {
        padding: 0 35px 5px 35px;
    }

    .flexslider .slides img {
        height: 100vh;
        object-fit: cover;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu, 
    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu {
        border: 0;
        border-top: 1px solid rgba(0,0,0,0.05);
        border-bottom: 1px solid rgba(0,0,0,0.05);
        padding-left: 60px;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu { 
         border-bottom:none;
    }

    header.style-1 .top-menu.navbar,
    header.style-2 .top-menu.navbar {
        width: 100%;
        margin-top: -20px;
        z-index: 99;
    }

    #krystal-main-menu-wrapper .nav>li {
        margin-bottom: 0;
    }

    header #krystal-main-menu-wrapper .nav>li>a {
        padding: 0;
    }

    #krystal-main-menu-wrapper li.menu-button > a {
        width: fit-content;
        line-height: 2;
        margin-top: 10px !important;
        margin-bottom: 30px !important;
    }

    header.style-2 .col-md-12 {
        padding: 0;
    }

    header.fixed {
        position: relative;
        display: none;
    }

    .hvr-underline-from-left:before {
        background: none !important;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li.dropdown:hover .dropdown-menu {
        display: none;
    }

    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu li:hover a, 
    #krystal-main-menu-wrapper .nav>li.dropdown .dropdown-menu .dropdown-menu li:hover a {
        color: #555 !important;
    }

    /* end navigation */

    .about-section .content {
        text-align: center;
    }

    .about-section .content .title {
        text-align: center !important;
    }

    .about-section .content .content {
        margin-bottom: 30px;
    }

    .about-section .content .image {
        margin-bottom: 30px;
    }    

    [class^="imghvr-"] > img, [class*=" imghvr-"] > img {
        height: 100%;
    }

    footer .widget-title {
        margin-top: 50px;
    }

    .navbar-brand {
      	height: auto;
      	max-height: 70px;
    }

    .navbar-toggle {
      	margin-top: 15px;
    }

    nav.navbar ul li.right {
      	float: none;
    } 

    .navbar-nav {
      	margin: 7.5px 0px;
    }

    .scroll-fix {
      	position: inherit !important;
      	top: 0;
      	border: 0;
    }

    p.site-description {
      	margin-bottom: 15px;
    }

    #navigation .navbar-nav > .active > a {
      	box-shadow: none !important;
    } 

    .dropdown-menu > li > a {
        padding: 10px 10px;
    }

    header .navbar-collapse li {
        padding: 0;
    } 

    nav ul.nav {
        display: block;
    }

    #krystal-main-menu-wrapper .nav>li {
        padding: 0;
    }

    header.krystal-menu-wrapper #krystal-main-menu-wrapper .nav>li>a {
        z-index: 0;
    }

    .container .row {
    	margin: 0;
    	padding: 0;
    }

    #krystal-main-menu-wrapper .navbar-toggle {
	    display: block;
	    margin: -5px 0 18px 0px !important;
	    padding: 0;
	}

}  


@media only screen and (max-width: 480px) {

    .slide-bg-section h2 {
        font-size: 20px !important
    }

    .slide-bg-section p {
        width: 100% !important;
    }

    .slide-bg-section .read-more {
        text-align: center;
        margin-right: 0;
    }

    .slide-bg-section .read-more.second {
        margin-top: 15px;
    }

    .slide-bg-section .read-more a {
        font-size: 12px;
        font-weight: 500;
        padding: 10px 20px;
    }

    .scroll-down {
        bottom: 5px;
    }

    #contact .contact-wrapper {
        width: 100%;
    }

    .title p {
        width: 100%;
    }        

    .blog-wrapper {
        padding-right: 0;
    }

    .blog-wrapper .image,.blog-wrapper.blog-list .image {
        height: 175px;
    }

    .blog-wrapper.blog-list img {
        min-height: 175px;
    }

    #blog-section .blog-wrapper .meta-wrapper {
        margin: 30px 15px;
    }   

    article .blog-wrapper .img-overlay {
        width: 175px;
    }

    article .blog-wrapper .meta-wrapper {
        margin-top: 25px;
        margin-left: 0;         
    }

    .blog-wrapper .meta-tag {
        margin-top: 20px;
    }

    .navbar-nav ul ul {
        display: block !important;
        margin-left: 20px;
    }

    .navbar-nav ul ul li:last-child {
        border: 0;
    }

    .navbar-nav ul li.dropdown>a:after {
        content: "\f0d7";
        font-family: 'Font Awesome 5 Free';
        font-weight: 700;
        padding-left: 5px;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a {
        background: #39b54a;
    }  

    header a.popup-close {
        display: none;
    }
    
}


@media only screen and (max-width: 320px) {    
    
    .blog-wrapper .meta {
        margin-bottom: 5px;
    }

    .blog-wrapper .meta-wrapper {
        font-size: 11px;        
    }
}


@media (min-width: 768px) {
    #krystal-main-menu-wrapper .nav>li.dropdown:hover > .dropdown-menu,
    #krystal-main-menu-wrapper .nav>li.dropdown:focus-within > .dropdown-menu {
        opacity: 1;
        display: block;
        -webkit-transform:scale(1);
        transform:scale(1);
    }
}