/* CSS Document */

/*
	Theme Name: Margo
	Description: Margo - Responsive Template
	Version: 1.0
	Author: iThemesLab
	Website: http://ithemeslab.com
*/

/* ------------------------------------------ */
/*             TABLE OF CONTENTS
/* ------------------------------------------ */
/*   01 - General & Basic Styles   */
/*   02 - Header & Navigation      */
/*   03 - Slider                   */
/*   04 - Main Page Elements       */
/*   05 - Revolution Slider        */
/*   06 - Shortcodes Elements      */
/*   07 - Portfolio Styles         */
/*   08 - Single Project Styles    */
/*   09 - Blog Styles              */
/*   10 - Single post Styles       */
/*   11 - Sidebar Styles           */
/*   12 - Footer Styles 		   */
/*   13 - Plugins Styles 	  	   */

@import url(http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800);
@import url(http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic);
@import url(http://fonts.googleapis.com/css?family=Raleway:400,300,700);


/* JV palette helpers */
:root {
    --jv-red: #e30613;
    --jv-red-dark: #c10510;
    --jv-white: #fff;
    --jv-text: #383636;
    --jv-gray-50: #fafafa;
    --jv-gray-100: #f5f5f5; /* tweak this lighter/darker to taste */
    --brand-h-mobile: 135px; /* smaller on phones */
    --home-section-gap: clamp(28px, 5.5vw, 64px);
}

/*------------------------------------------*/
/*	     01 - General & Basic Styles
/*------------------------------------------*/
body {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 21px;
    font-weight: 300;
    color: #888;
    /*background: url(../images/patterns/1.png) fixed repeat;*/
}

strong, b {
    font-weight: 600;
}

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

ul, ol {
    list-style: none;
}

ul {
    padding: 0;
    margin: 0;
}

a {
    transition: color 0.2s ease-in-out;
    -moz-transition: color 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out;
}

a:hover {
    color: #444;
}

a, a:hover {
    text-decoration: none;
}

i {
    font-size: 1.1em;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    margin: 0;
    color: #444;
}

h1 {
    font-size: 24px;
    line-height: 30px;
}

h2 {
    font-size: 22px;
    line-height: 28px;
}

h3 {
    font-size: 18px;
    line-height: 24px;
}

h4 {
    font-size: 16px;
    line-height: 22px;
}

h5 {
    font-size: 14px;
    line-height: 20px;
}

h6 {
    font-size: 12px;
    line-height: 18px;
}

p {
    color: #888;
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    line-height: 22px;
    margin: 0;
}

p strong {
    font-weight: 600;
}

.accent-color-bg {
    color: #fff;
}

.fittext {
    font-size: 38px;
    font-weight: 300;
    line-height: 1.6em;
    margin-bottom: 35px;
    color: rgba(0, 0, 0, 0.8);
}

.fittext strong {
    font-weight: 700;
}

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

.wite-text {
    color: #fff;
}

.uppercase {
    text-transform: uppercase;
}

.image-text {
    margin-right: 10px;
}

a.main-button, input[type="submit"] {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-size: 12px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

a.main-button:hover, input[type="submit"]:hover {
    background: #444;
    color: #fff;
}

a.main-button i {
    font-size: 1.2em;
}

input[type="submit"] {
    border: none;
}

.tooltip .tooltip-inner {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
}

#content {
    padding: 60px 0;
}

#content.full-sections {
    padding: 0;
}

.section {
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

.section.repeat-bg {
    background-repeat: repeat;
    -webkit-background-size: auto !important;
    -moz-background-size: auto !important;
    -o-background-size: auto !important;
    background-size: auto !important;
}

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

.section-video {
    position: absolute;
    z-index: 33;
    left: 0;
    top: -100px;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

.section-video object {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.section-video img {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.section-video-content {
    z-index: 35;
    position: relative;
    opacity: 0.98;
}

.section-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 34;
    opacity: 0.7;
}

.light-section {
    color: #fff;
}

.light-section .testimonials {
    color: #aaa;
}

.light-section .testimonials .testimonial-content p {
    color: #c4c4c4;
}

#container {
    background-color: #fff;
}

.boxed-page {
    position: relative;
    width: 1220px;
    margin: 0 auto;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.boxed-page header {
    width: 1220px;
}

#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999999999;
}

.spinner {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    left: 50%;
    margin-left: -40px;
    margin-top: -40px;
    -webkit-animation: rotatee 2.0s infinite linear;
    animation: rotatee 2.0s infinite linear;
}

.dot1, .dot2 {
    width: 60%;
    height: 60%;
    display: inline-block;
    position: absolute;
    top: 0;
    border-radius: 100%;
    -webkit-animation: bouncee 2.0s infinite ease-in-out;
    animation: bouncee 2.0s infinite ease-in-out;
}

.dot2 {
    top: auto;
    bottom: 0px;
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

@-webkit-keyframes rotatee {
    100% {
        -webkit-transform: rotate(360deg)
    }
}

@keyframes rotatee {
    100% {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes bouncee {
    0%, 100% {
        -webkit-transform: scale(0.0)
    }
    50% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes bouncee {
    0%, 100% {
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    }
    50% {
        transform: scale(1.0);
        -webkit-transform: scale(1.0);
    }
}


/*------------------------------------------*/
/*	     02 - Header & Navigation
/*------------------------------------------*/

header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999999;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.fixed-header {
    opacity: 0.95;
    box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2);
}

.top-bar {
    background-color: #f2f2f2;

}

.top-bar.color-bar {
    border-bottom: 0;
}

.top-bar.color-bar a {
    color: rgba(255, 255, 255, .6);
}

.top-bar.color-bar a:hover {
    color: rgba(255, 255, 255, 1) !important;
}

.top-bar.color-bar ul.social-list li a i {
    border-left: 1px solid rgba(255, 255, 255, .1);
}

.top-bar.color-bar ul.social-list li:last-child a i {
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.top-bar.color-bar .contact-details li a:before {
    color: rgba(255, 255, 255, .2);
}

.top-bar.dark-bar {
    background-color: #444;
    border-bottom: 0;
}

.top-bar.dark-bar a {
    color: rgba(255, 255, 255, .4);
}

.top-bar.dark-bar a:hover {
    color: rgba(255, 255, 255, 1) !important;
}

.top-bar.dark-bar ul.social-list li a i {
    border-left: 1px solid rgba(255, 255, 255, .08);
}

.top-bar.dark-bar ul.social-list li:last-child a i {
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.top-bar.dark-bar .contact-details li a:before {
    color: rgba(255, 255, 255, .2);
}

.top-bar a {
    color: #383636;
}

.top-bar .contact-details li {
    display: inline-block;
}

.top-bar .contact-details li a:before {
    position: relative;
    content: "|";
    font-size: 13px;
    margin: 0 3px;
    top: -1px;
    color: #ddd;
}

.top-bar .contact-details li a:before {
    color: #aaa;
}

.top-bar .contact-details li:first-child a:before {
    display: none;
}

.top-bar .contact-details li a {
    font-size: 12px;
    display: block;
    line-height: 32px;
}

ul.social-list {
    float: right;
}

ul.social-list li {
    float: left;
}

ul.social-list li a {
    display: inline-block;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

ul.social-list li a:hover {
    color: #fff;
}

ul.social-list li a.facebook:hover {
    background-color: #507CBE;
}

ul.social-list li a.twitter:hover {
    background-color: #63CDF1;
}

ul.social-list li a.google:hover {
    background-color: #F16261;
}

ul.social-list li a.dribbble:hover {
    background-color: #E46387;
}

ul.social-list li a.linkdin:hover {
    background-color: #90CADD;
}

ul.social-list li a.tumblr:hover {
    background-color: #4D7EA3;
}

ul.social-list li a.flickr:hover {
    background-color: #E474AF;
}

ul.social-list li a.instgram:hover {
    background-color: #4D4F54;
}

ul.social-list li a.vimeo:hover {
    background-color: #87D3E0;
}

ul.social-list li a.skype:hover {
    background-color: #36C4F3
}

ul.social-list li a i {
    font-size: 1em;
    display: block;
    width: 34px;
    height: 33px;
    line-height: 33px;
    text-align: center;
    border-left: 1px solid #f2f2f2;
}

ul.social-list li:last-child a i {
    border-right: 1px solid #f2f2f2;
}

/***********************************NAVBAR CSS***********************************/
/*.navbar {
	margin-bottom: 0;
	background: #e30613;
	border: none;
	border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
}

.navbar-brand {
	position: relative;
	padding: 27px 0;
	margin: 0!important;
	transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.navbar-default .navbar-nav {
	margin-right: 10px!important;
	position: relative;
	transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.navbar-default .navbar-nav > li {
    margin-left: 6px;
}

.navbar-default .navbar-nav > li:first-child {
    margin-left: 0;
}

.navbar-default .navbar-nav > li > a {
	color: #fff;
	display: block;
    font-size: 13px;
	font-weight: 300;
    padding: 28px 15px 28px 15px;
	overflow: hidden;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
	position: relative;
	z-index: 1;
}

.navbar-default .navbar-nav > li > a.active, .navbar-default .navbar-nav > li:hover > a {
	border-bottom: 2px solid #f2f2f2;
    color: #f2f2f2;
}

.navbar-default .navbar-nav > li > a i {
	margin: 0 -2px 0 -5px;
}

.navbar-default .navbar-nav > li > a:after {
	position: absolute;
	bottom: 0;
	content: '';
	left: 50%;
	display: block;
	height: 5px;
	width: 5px;
	opacity: 0;
	margin: 0 0 -3px -2px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
}

.navbar-default .navbar-nav > li > a.active:after {
	opacity: 1;
}

.navbar-default .navbar-nav .dropdown {
    position: absolute;
    left: 0;
    top: 100%;
    width: 180px;
	background-color: #fff;
    color: #383636;
    visibility: hidden;
    z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.navbar-default .navbar-nav > li.drop:hover .dropdown {
    visibility: visible;
	opacity: 1;
}

.dropdown li, .sup-dropdown li {
	position: relative;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.dropdown li:first-child, .sup-dropdown li:first-child {
    border-top: none;
}

.dropdown li a, .sup-dropdown li a {
    display: block;
    color: #383636;
    font-size: 12px;
    font-family: 'Open Sans', sans-serif;
    padding: 9px 14px;
    text-decoration: none;
    !*text-transform: capitalize;*!
    transition: padding 0.2s ease-in-out;
    -moz-transition: padding 0.2s ease-in-out;
    -webkit-transition: padding 0.2s ease-in-out;
    -o-transition: padding 0.2s ease-in-out;
}


.dropdown > li:hover > a, .sup-dropdown li:hover > a {
	padding-left: 18px;
    color: #383636 !important;
}

.dropdown li a i {
	margin: 0 0 0 -4px;
    color: #383636;
}

.navbar-default .navbar-nav .sup-dropdown {
    position: absolute;
    left: 100%;
    top: 0;
    width: 180px;
	background-color: #fff;
    color: #383636;
    margin-top: 10px;
    transition: margin-top 0.2s ease-in-out;
    -moz-transition: margin-top 0.2s ease-in-out;
    -webkit-transition: margin-top 0.2s ease-in-out;
    -o-transition: margin-top 0.2s ease-in-out;
    visibility: hidden;
    z-index: 3;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.navbar-default .navbar-nav li.drop .dropdown li:hover .sup-dropdown {
    visibility: visible;
    margin-top: 0;
    color: #383636;
}*/

/* Bar */
.navbar {
    margin-bottom: 0;
    background: var(--jv-red);
    border: none;
    border-radius: 0;
}

.navbar-brand {
    position: relative;
    padding: 27px 0;
    margin: 0 !important;
    transition: all .3s ease-in-out;
}

.navbar-brand img#logo {
    height: auto; /* use intrinsic height */
    width: auto; /* keep aspect ratio */
    display: block; /* avoid inline gaps */
}

.navbar-default .navbar-nav {
    margin-right: 10px !important;
    position: relative;
    transition: all .4s ease-in-out;
}

.navbar-default .navbar-nav > li {
    margin-left: 6px;
}

.navbar-default .navbar-nav > li:first-child {
    margin-left: 0;
}

/* Top-level links */
.navbar-default .navbar-nav > li > a {
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: 700;
    padding: 28px 15px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: background .25s ease, color .25s ease;
}

/* Remove old underline behavior */
.navbar-default .navbar-nav > li > a.active,
.navbar-default .navbar-nav > li:hover > a {
    border-bottom: 0;
}

/* Flip colors ONLY on hover/focus when not open */
.navbar-default .navbar-nav > li:not(.open):hover > a,
.navbar-default .navbar-nav > li:not(.open):focus-within > a {
    background: var(--jv-white);
    color: var(--jv-red);
    font-weight: 700 !important; /* bold on hover */
}

/* When a dropdown is open (clicked), keep the default red/white */
.navbar-default .navbar-nav > li.open > a,
.navbar-default .navbar-nav > li.open > a:hover,
.navbar-default .navbar-nav > li.open > a:focus {
    background: var(--jv-red);
    color: #fff;
    font-weight: 300 !important;
}

/* No tiny diamond marker */
.navbar-default .navbar-nav > li > a:after {
    display: none;
}

/* Dropdown panel */
.navbar-default .navbar-nav .dropdown {
    position: absolute;
    left: 0;
    top: 100%;
    width: 200px;
    background: #fff;
    color: var(--jv-text);
    visibility: hidden;
    opacity: 0;
    padding: 6px 0;
    z-index: 2;
    transition: opacity .25s ease;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    border: 1px solid rgba(0, 0, 0, .06);
    border-top: 0; /* tucks under the white tab */
}

/* Show dropdown (hover + keyboard + bootstrap open) */
.navbar-default .navbar-nav > li.drop:hover > .dropdown,
.navbar-default .navbar-nav > li.drop:focus-within > .dropdown,
.navbar-default .navbar-nav > li.drop.open > .dropdown {
    visibility: visible;
    opacity: 1;
}

/* Dropdown items */
.dropdown li,
.sup-dropdown li {
    position: relative;
    border-top: 1px solid rgba(0, 0, 0, .04);
}

.dropdown li:first-child,
.sup-dropdown li:first-child {
    border-top: none;
}

.dropdown li a,
.sup-dropdown li a {
    display: block;
    color: var(--jv-text);
    font-size: 12px;
    font-family: 'Open Sans', sans-serif;
    padding: 10px 16px;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, padding .2s ease, font-weight .2s ease;
}

/* Hover for dropdown items: soft gray, slight indent */
.dropdown li:hover > a,
.dropdown li a:focus,
.sup-dropdown li:hover > a,
.sup-dropdown li a:focus {
    background: var(--jv-gray-100);
    color: var(--jv-text) !important;
    padding-left: 20px;
}

/* Optional active style inside dropdowns */
.dropdown li a.active {
    background: var(--jv-red);
    color: #fff !important;
}

/* Third-level (flyout) menu */
.navbar-default .navbar-nav .sup-dropdown {
    position: absolute;
    left: 100%;
    top: 0;
    width: 200px;
    background: #fff;
    color: var(--jv-text);
    margin-top: 10px;
    visibility: hidden;
    z-index: 3;
    transition: margin-top .2s ease;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    border: 1px solid rgba(0, 0, 0, .06);
}

.navbar-default .navbar-nav li.drop .dropdown li:hover .sup-dropdown,
.navbar-default .navbar-nav li.drop .dropdown li.has-submenu:focus-within .sup-dropdown {
    visibility: visible;
    margin-top: 0;
    color: var(--jv-text);
}

/* Chevron indicator for items that have a submenu (e.g., Estatísticas) */
.dropdown > li.has-submenu > a {
    position: relative;
    padding-right: 28px; /* room for the chevron */
}

.dropdown > li.has-submenu > a::after {
    content: "\f105"; /* Font Awesome chevron-right */
    font-family: "FontAwesome";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    opacity: .6;
    transition: transform .2s ease, opacity .2s ease;
}

.dropdown > li.has-submenu:hover > a::after {
    transform: translateY(-50%) translateX(2px);
    opacity: 1;
}

/* Mobile */
@media (max-width: 991px) {
    .navbar-default .navbar-nav > li:hover > a,
    .navbar-default .navbar-nav > li:focus-within > a {
        background: var(--jv-red-dark);
        color: #fff;
        border-radius: 0;
        font-weight: 700 !important; /* keep strong on touch */
    }

    .navbar-default .navbar-nav .dropdown {
        position: static;
        visibility: visible;
        opacity: 1;
        box-shadow: none;
        border: 0;
        width: 100%;
        padding: 0;
    }

    .navbar-default .navbar-nav .sup-dropdown {
        position: static;
        visibility: visible;
        margin-top: 0;
        box-shadow: none;
        border: 0;
        width: 100%;
    }

    .navbar-brand {
        padding: 8px 0 !important; /* reduce vertical padding */
    }

    .navbar-toggle {
        margin-top: 12px; /* align burger with logo */
        margin-bottom: 12px;
    }

    .navbar-brand img#logo {
        max-height: var(--brand-h-mobile);
        width: auto;
        max-width: 100%; /* never overflow the column */
    }
}

.search-side {
    position: relative;
    float: right;
    top: 19px;
    right: -15px;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.show-search {
    position: relative;
    display: block;
    float: right;
}

.show-search i {
    font-size: 1.2em !important;
    display: block;
    color: #aaa;
    width: 36px;
    height: 36px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    line-height: 36px;
    text-align: center;
    background-color: #f2f2f2;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.show-search:hover i {
    color: #888;
}

.navbar .search-form {
    position: absolute;
    right: 0;
    z-index: 20;
    float: right;
    display: none;
    top: 40px;
}

.navbar .search-form:before {
    background-color: #ccc;
    top: -2px;
    content: '';
    display: block;
    height: 4px;
    width: 4px;
    z-index: 20;
    right: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}

.navbar .search-form form input {
    border: 2px solid #ccc;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    padding: 5px 14px;
    z-index: 22;
    color: #9d9d9d;
    box-shadow: none;
    -o-box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    outline: none;
    box-shadow: none;
}

.navbar .search-form form {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 20;
}


/*==================================================
     Slideshow
 ================================================== */

/*-- Main slide --*/
#main-slide .item img {
    width: 100%;
    height: clamp(220px, 42vw, 520px);
    object-fit: cover;
}

#main-slide .item .slider-content {
    z-index: 2; /* ensure overlay above image */
    opacity: 0;
    -webkit-transition: opacity 500ms;
    -moz-transition: opacity 500ms;
    -o-transition: opacity 500ms;
    transition: opacity 500ms;
}

#main-slide .item.active .slider-content {
    z-index: 2;
    opacity: 1;
    -webkit-transition: opacity 100ms;
    -moz-transition: opacity 100ms;
    -o-transition: opacity 100ms;
    transition: opacity 100ms;
}

#main-slide .slider-content {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); /* robust centering */
    margin-top: 0; /* replace old -70px hack */
    padding: 0 20px; /* side breathing room */
    text-align: center;
    width: 100%;
    height: 100%;
    color: #fff;
    z-index: 2;
    pointer-events: none; /* overlay doesn’t block controls */
}

#main-slide .slider-content .slider.btn {
    pointer-events: auto
}

/* Indicators */
#main-slide .carousel-indicators {
    bottom: 12px;
}

#main-slide .carousel-indicators li {
    width: 14px !important;
    height: 14px !important;
    border: 2px solid #000 !important; /* better contrast on light imgs */
    background: rgba(255, 255, 255, .65);
    margin: 1px !important;
}

#main-slide .carousel-indicators .active {
    background: #e20613;
    border-color: #e20613 !important;
}

/* Controls */
#main-slide .carousel-control.left,
#main-slide .carousel-control.right {
    opacity: 1;
    filter: alpha(opacity=100);
    background-image: none;
    background-repeat: no-repeat;
    text-shadow: none;
}

#main-slide .carousel-control.left span,
#main-slide .carousel-control.right span {
    padding: 15px
}

#main-slide .carousel-control .fa-angle-left,
#main-slide .carousel-control .fa-angle-right {
    position: absolute;
    top: 40%;
    z-index: 5;
    display: inline-block;
}

#main-slide .carousel-control .fa-angle-left {
    left: 0
}

#main-slide .carousel-control .fa-angle-right {
    right: 0
}

#main-slide .carousel-control i {
    background: rgba(0, 0, 0, .7);
    color: #fff;
    line-height: 36px;
    font-size: 32px;
    padding: 15px 20px;
    border-radius: 4px;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
}

/* Headings */
#main-slide .slider-content h2 {
    font-size: 76px;
    font-weight: 100;
    text-transform: uppercase;
    color: #555;
}

#main-slide .slider-content h2.white,
#main-slide .slider-content h3.white {
    color: #fff
}

#main-slide .slider-content h3 {
    font-size: 36px;
    font-weight: 300;
    margin-top: 60px;
    text-transform: uppercase;
    text-align: center;
    color: #555;
}

.slider.btn {
    padding: 10px 40px;
    margin-top: 40px;
    font-size: 20px;
    border-radius: 2px;
    text-transform: uppercase;
    line-height: 28px;
    border: 0;
    -moz-transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

.slider.btn.btn-default {
    margin-left: 4px;
    background: #ECECEC
}

.slider.btn.btn-default:hover {
    background: #000;
    color: #fff
}

.slider-content-left {
    position: relative;
    margin: 0 0 0 40px
}

.slider-content-right {
    position: relative
}

/*-- Animation --*/
.carousel .item.active .animated1 {
}

.carousel .item.active .animated2 {
    -webkit-animation: lightSpeedIn 1s ease-in 200ms both;
    animation: lightSpeedIn 1s ease-in 200ms both;
}

.carousel .item.active .animated3 {
    -webkit-animation: bounceInLeft 1s ease-in-out 500ms both;
    animation: bounceInLeft 1s ease-in-out 500ms both;
}

.carousel .item.active .animated4 {
    -webkit-animation: flipInX 1s ease-in 500ms both;
    animation: flipInX 1s ease-in 500ms both;
    text-align: center;
}

.carousel .item.active .animated5 {
    -webkit-animation: bounceInLeft 1s ease-in-out 100ms both;
    animation: bounceInLeft 1s ease-in-out 100ms both;
}

.carousel .item.active .animated6 {
    -webkit-animation: bounceIn 1s ease-in 500ms both;
    animation: bounceIn 1s ease-in 500ms both;
    text-align: center;
}

.carousel .item.active .animated7 {
    -webkit-animation: bounceIn 1s ease-in 500ms both;
    animation: bounceIn 1s ease-in 500ms both;
}

.carousel .item.active .animated8 {
    -webkit-animation: fadeInDown 1s ease-in 1000ms both;
    animation: fadeInDown 1s ease-in 1000ms both;
}

/* Responsive heading scaling */
@media (max-width: 767px) {
    #main-slide .slider-content h2 {
        font-size: clamp(24px, 7vw, 40px)
    }

    #main-slide .slider-content h3 {
        font-size: clamp(16px, 4.5vw, 24px);
        margin-top: 12px;
    }
}

/*------------------------------------------*/
/*	   03 - Main Page Elements
/*------------------------------------------*/

/* aplica o gap a todas as secções… */
#container > :is(.page-banner, .services-strip, .section.full-width-portfolio):not(.page-banner--cta) {
    margin-top: var(--home-section-gap);
    margin-bottom: var(--home-section-gap);
}

#news-list {
    margin-top: 4px;
}

#container > .page-banner + .page-banner {
    margin-top: calc(var(--home-section-gap) * 0.6);
}

.page-banner {
    /*padding: 30px 0;*/
    /*background: #1D1D1B;*/
    /*border-bottom: 1px solid #eee;*/
}

.page-banner h2 {
    font-weight: 500;
    text-transform: uppercase;
}

.page-banner p {
    font-weight: 300;
}

.page-banner--cta {
    background: #333333;
}

.page-banner--cta .page-banner__link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: var(--jv-red, #E20613) !important;
    padding-block: 12px;
    padding-inline: 16px;
}

.page-banner--cta .page-banner__text {
    display: block;
    margin: 0;
    text-align: right;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0; /* <- as requested */
    line-height: 1.15;
    font-size: clamp(12px, 3.6vw, 22px); /* smaller on mobile */
    overflow-wrap: anywhere;
    hyphens: auto;
}

/* MOBILE: show text only from center → right, never under logo */
@media (max-width: 767px) {
    .page-banner--cta .page-banner__text {
        width: 50vw; /* right half of the viewport */
        margin-left: auto; /* push it to the right edge */
    }
}

/* Tablet+ (restore full width, larger type) */
@media (min-width: 768px) {
    .page-banner--cta .page-banner__link {
        padding-block: 18px;
    }

    .page-banner--cta .page-banner__text {
        font-size: clamp(18px, 2.0vw, 28px);
        width: auto;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
}

@media (min-width: 1200px) {
    .page-banner--cta .page-banner__link {
        padding-block: 24px;
    }
}

/*+++++++++++Styles for the homepage lnks in the top of the page++++++++++++++*/
/* Boxed links banner: independent of other .page-banner blocks */
.page-banner--links {
    background: #fff;
    padding: 0;
    text-align: center;
}

/* Stack nicely on mobile */
.page-banner--links .signup-col {
    margin-bottom: 12px;
}

@media (min-width: 768px) {
    .page-banner--links .signup-col {
        margin-bottom: 0;
    }

    .page-banner--links .row {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .page-banner--links .signup-col {
        display: flex;
    }
}

/* Anchor styled as a button */
.page-banner--links .signup-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #fff !important;
    background: #E20613;
    border: 1px solid #eee;
    border-radius: 10px; /* was 12px */
    padding: 14px 18px; /* a touch roomier */
    font-weight: 600; /* a bit less than 700 */
    font-size: clamp(17px, 2.1vw, 21px); /* a bit bigger */
    line-height: 1.25;
}

/* Hover/focus states */
.page-banner--links .signup-link:hover,
.page-banner--links .signup-link:focus {
    background: #333333;
    color: #fff;
    outline: none;
}

/* Optional: make the two buttons equal height on md+ if text wraps differently */
@media (min-width: 768px) {
    .page-banner--links .row {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .page-banner--links .signup-col {
        display: flex;
    }

    .page-banner--links .signup-link {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/*+++++++++++END Styles for the homepage lnks in the top of the page++++++++++++++*/

/* Red background wrapper just for this bar */
.crumbs-bar {
    background: #E20613;
    margin: 0;
    padding: 10px 0; /* tweak if you want tighter/looser */
    text-align: right;
}

/* Reset old theme breadcrumbs only inside the red bar */
.crumbs-bar ul.breadcrumbs {
    float: right !important; /* kill legacy float */
    margin: 0 !important; /* remove theme margin offsets */
    padding: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    color: #fff; /* white text on red bar */
}

/* Items */
.crumbs-bar ul.breadcrumbs li {
    float: none !important; /* kill legacy float */
    margin: 0;
    display: inline;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.4;
    color: inherit;
}

/* Separator — keep "/" like your original */
.crumbs-bar ul.breadcrumbs li + li:before {
    content: "/";
    margin: 0 6px;
    color: rgba(255, 255, 255, .85);
}

/* First item without separator (belt & suspenders) */
.crumbs-bar ul.breadcrumbs li:first-child:before {
    content: "";
    margin: 0;
}

/* Links */
.crumbs-bar ul.breadcrumbs a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease;
}

.crumbs-bar ul.breadcrumbs a:hover {
    text-decoration: underline;
    opacity: .9;
}

label {
    font-size: 13px;
    color: #aaa;
    font-weight: 300;
    cursor: pointer;
}

label .required {
    color: #ED2C3A;
    margin-left: 2px;
}

input[type="submit"] {
    outline: none;
}

.widget-search input[type="search"],
#contact-form input[type="text"],
#contact-form textarea,
#respond input[type="text"],
#respond textarea {
    color: #aaafb5;
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    border: 1px solid #eee;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    outline: none;
    width: 100%;
    padding: 7px 14px;
    display: block;
    margin-bottom: 10px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.widget-search input[type="search"]:focus,
#contact-form input[type="text"]:focus,
#contact-form textarea:focus,
#respond input[type="text"]:focus,
#respond textarea:focus {
    border-color: #ddd;
    box-shadow: 0 0 3px #eee;
    -o-box-shadow: 0 0 3px #eee;
    -moz-box-shadow: 0 0 3px #eee;
    -webkit-box-shadow: 0 0 3px #eee;
}

.mail_response {
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.name-missing, .email-missing, .message-missing {
    opacity: 0;
    color: #ED2C3A;
    margin-left: 10px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.error-page {
    padding: 90px 0;
    text-align: center;
}

.error-page h1 {
    font-size: 160px;
    line-height: 140px;
    font-weight: 700;
    color: #333;
}

.error-page h3 {
    font-size: 64px;
    line-height: 70px;
    font-weight: 300;
}

.error-page p {
    font-size: 22px;
    line-height: 28px;
    color: #aaa;
    margin-bottom: 25px
}

#map {
    position: relative;
    height: 350px;
    width: 100%;
}

/*------------------------------------------*/
/*	     03.1 - Service Styles HOME PAGE
/*------------------------------------------*/

.services-strip {
    background: #fff;
    padding: 24px 0 12px;
}

/* IMPORTANT: don't override .row to grid. Use flex at md+, keep gutters. */
.services-strip__row {
    /* mobile: default block flow, Bootstrap floats work fine */
}

@media (min-width: 992px) {
    /* md+ */
    .services-strip__row {
        display: flex;
        align-items: center; /* vertically center left text vs right grid */
    }

    /* turn the 2 columns into flex items (kill floats), keep widths */
    .services-strip__row > .col-md-5,
    .services-strip__row > .col-md-7 {
        float: none; /* ignore Bootstrap float */
    }

    .services-strip__row > .col-md-5 {
        flex: 0 0 41.6667%;
        max-width: 41.6667%;
    }

    .services-strip__row > .col-md-7 {
        flex: 0 0 58.3333%;
        max-width: 58.3333%;
    }
}

/* left side */
.services-strip__title {
    color: #000;
    margin: 0 0 6px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.1;
    font-size: clamp(22px, 3.4vw, 42px);
}

.services-strip__subtitle {
    margin: 0;
    font-size: clamp(14px, 1.6vw, 20px);
    color: #000;
}

/* services grid: 1 col mobile, 2 cols from 768px (2+2 up to max 4 items) */
.services-list {
    display: grid;
    grid-template-columns:1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .services-list {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* keep 2 columns even on very large screens */
@media (min-width: 1200px) {
    .services-list {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* simplified “cards” (no borders/shadows/radius) */
.service-card {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 10px 0; /* just vertical rhythm */
}

.service-card:hover,
.service-card:focus {
    outline: none;
}

/* icon with red outline (remove border if you want ultra-flat) */
.service-card__icon {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--jv-red, #E20613);
    border-radius: 12px;
    color: var(--jv-red, #E20613);
}

.service-card__icon .fa {
    font-size: 28px;
    line-height: 1;
}

/* logo icon */
.service-card__icon--img {
    padding: 6px;
}

.service-card__icon--img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* text */
.service-card__content {
    display: flex;
    flex-direction: column;
}

.service-card__title {
    font-weight: 700;
    font-size: clamp(18px, 2.2vw, 26px);
    line-height: 1.2;
    color: #111;
}

/* CTA: only the arrow moves on hover */
.service-card__cta {
    margin-top: 4px;
    font-size: 14px;
    color: #666;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.service-card__cta span[aria-hidden="true"] {
    display: inline-block;
    transition: transform .2s ease;
}

.service-card:hover .service-card__cta span[aria-hidden="true"],
.service-card:focus .service-card__cta span[aria-hidden="true"] {
    transform: translateX(4px); /* tweak to 6px if you want more motion */
}


/*------------------------------------------*/
/*	     04 - New NEWS section in HOMEPAGE
/*------------------------------------------*/

.news-list .img-thumbnail {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ===== News list (grid) ===== */
.news-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

/* 1 col on xs, 2 on sm, 3 on md+ */
.news-item {
    width: 100%;
}

@media (min-width: 551px) {
    .news-item {
        width: calc(50% - 9px);
    }
}

@media (min-width: 992px) {
    .news-item {
        width: calc(33.333% - 12px);
    }
}

.news-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Image card */
.news-thumb-link {
    display: block;
    text-decoration: none;
}

.news-thumb {
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.news-thumb picture, .news-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

/* "Novo" badge on newest item */
.news-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #E20613;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 999px;
}

/* Title under image */
.news-title-under {
    margin: 8px 4px 0;
}

.news-title-link {
    font-size: 16px; /* 2px smaller */
    font-weight: 600;
    line-height: 1.3;
    color: #111;
    text-decoration: none;
    transition: color .2s ease;
}

/* Hover effect ONLY on the title text */
.news-title-link:hover,
.news-title-link:focus {
    color: #E20613;
    outline: none;
}

/* Resumo (not clickable, no pointer) */
.news-excerpt-under {
    margin: 6px 4px 0;
    color: #444;
    font-size: 14px;
    line-height: 1.45;
    cursor: default; /* no pointer cursor */
    user-select: text;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-excerpt-under.is-placeholder {
    font-style: italic;
    opacity: .9;
}

.news-more {
    margin: 18px 0 10px;
    text-align: center; /* centrado no ecrã */
}

.news-more__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: clamp(14px, 2vw, 18px); /* ligeiramente maior */
    text-decoration: none;
    color: #111;
}

.news-more__link:hover,
.news-more__link:focus {
    color: var(--jv-red, #E20613);
    outline: none;
}

.news-more__link span[aria-hidden="true"] {
    display: inline-block;
    transition: transform .2s ease;
}

.news-more__link:hover span[aria-hidden="true"],
.news-more__link:focus span[aria-hidden="true"] {
    transform: translateX(4px); /* anima só a setinha */
}

/*------------------------------------------*/
/*	     05 - Shortcodes Elements
/*------------------------------------------*/

/*************** Dividers ***************/

.margin-60 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.margin-top {
    margin-top: 30px;
}

.hr1 {
    height: 1px;
}

.hr2 {
    height: 0;
    border-bottom: 1px solid #eee;
}

.hr3 {
    height: 0;
    border-bottom: 1px dotted #eee;
}

.hr4 {
    height: 0;
    border-bottom: 1px dashed #eee;
}

.hr5 {
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
    background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
    background-image: -ms-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
}


/*************** Clients Carousel ***************/

.partner {
    padding-bottom: 60px;
}

.clients-carousel .client-item a {
    display: block;
    padding: 12px 0;
    text-align: center;
}

.clients-carousel .client-item a img {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
    filter: grayscale(100%);
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.clients-carousel:hover .client-item a img {
    opacity: 0.6;
}

.clients-carousel:hover .client-item a:hover img {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: none;
    opacity: 1;
}


/*************** Call To Action ***************/

.call-action-boxed {
    padding: 30px 40px;
}

.call-action.no-descripton h2.primary {
    margin-top: 4px;
}

.call-action h2.primary {
    font-weight: 500;
}

.call-action h2.primary strong {
    font-weight: 700;
}

.call-action p {
    font-size: 14px;
    margin-bottom: 0;
}

.call-action h2 + p {
    margin-top: 4px;
}

.call-action .button-side {
    float: right;
}

.call-action-style1 {
    border: 1px solid #e8e8e8;
    box-shadow: 0 0 25px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 25px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 25px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, .04) inset;
}

.call-action-style2 {
    background: #f2f2f2;
}

.call-action-style3 {
    background: #444;
}

.call-action-style3 h2.primary {
    color: #fff;
}

.call-action-style3 p {
    color: #bbb;
}


/*************** Custom Carousel ***************/

.custom-carousel .item {
    padding-right: 20px;
}

.custom-carousel.show-one-slide .item {
    padding-right: 0;
}


/*************** Latest News ***************/

.latest-posts-classic .post-row {
    margin-bottom: 20px;
}

.latest-posts-classic .left-meta-post {
    float: left;
    text-align: center;
    margin-right: 12px;
    margin-bottom: 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    overflow: hidden;
}

.latest-posts-classic .left-meta-post .post-date {
    padding: 8px 0;
    width: 42px;
    background-color: #444;
    color: #fff;
}

.latest-posts-classic .left-meta-post .post-date .day {
    font-size: 20px;
    font-weight: 700;
    display: block;
    letter-spacing: 1px;
}

.latest-posts-classic .left-meta-post .post-date .month {
    display: block;
    text-transform: uppercase;
    line-height: 14px;
    font-size: 11px;
    letter-spacing: 1px;
}

.latest-posts-classic .left-meta-post .post-type i {
    display: block;
    height: 40px;
    line-height: 39px;
    width: 42px;
    color: #fff;
    font-size: 1.4em;
}

.latest-posts-classic .post-title {
    margin-bottom: 5px;
}

.latest-posts-classic .post-title a {
    color: #444;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.latest-posts-classic .read-more {
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.latest-posts-classic .read-more:hover {
    color: #444;
}


/*************** Toggles & Accordion ***************/

.panel-default > .panel-heading {
    background-color: #fff;
}

.panel-group .panel {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
}

.panel-default {
    border-color: #e8e8e8;
}

.panel-body {
    padding: 4px 15px 10px 15px;
}

.panel-heading {
    padding: 0;
}

.panel-title {
    font-size: 13px;
    font-weight: 600;
}

.panel-title a {
    position: relative;
    display: block;
    padding: 6px 12px;
    background-color: #fff;
    box-shadow: none;
    -o-box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.panel-title a.collapsed {
    color: #444;
    box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
}

.panel-title a.collapsed:hover {
    color: #666;
}

.panel-title a .control-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -11px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.panel-title a.collapsed .control-icon {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
}

.panel-title a i {
    font-size: 1.2em;
    padding-right: 5px;
}

.panel-default > .panel-heading + .panel-collapse .panel-body {
    border-top: none;
}


/*************** Dropcaps ***************/

.dropcap {
    display: block;
    float: left;
    font-size: 40px;
    line-height: 34px;
    color: #444;
    margin: 6px 8px 0 0;
}

.dropcap.border-dropcap {
    border: 2px solid #444;
    width: 46px;
    height: 46px;
    font-size: 28px;
    font-weight: 500;
    line-height: 42px;
    text-align: center;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    margin: 8px 12px 0 0;
}

.dropcap.bg-dropcap {
    background-color: #444;
    color: #fff;
    width: 48px;
    height: 48px;
    font-size: 28px;
    font-weight: 500;
    line-height: 48px;
    text-align: center;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    margin: 8px 12px 0 0;
}

.dropcap.circle-dropcap {
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}


/*************** Milestone ***************/

.milestone-block {
    display: inline-block;
    margin-bottom: 25px;
    margin-right: 50px;
}

.milestone-block:last-child {
    margin-right: 0;
}

.milestone-block .milestone-icon {
    float: left;
    width: 48px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    margin-right: 9px;
    margin-bottom: 4px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    position: relative;
}

.milestone-block .milestone-icon:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 21px;
    right: -2px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.milestone-block .milestone-icon i {
    font-size: 2em;
    color: #fff;
}

.milestone-block .milestone-right {
    float: left;
    text-align: left;
}

.milestone-block .milestone-number {
    font-size: 26px;
    line-height: 28px;
    font-weight: 500;
}

.milestone-block .milestone-text {
    font-size: 18px;
    color: #444;
}


/*************** Pricing Tables ***************/

.pricing-tables {
    padding: 25px 0;
    text-align: center;
}

.pricing-tables .pricing-table {
    border: 1px solid #e4e4e4;
    text-align: center;
    position: relative;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.pricing-tables .pricing-table:hover {
    z-index: 2;
    top: -3px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

.pricing-tables .highlight-plan {
    margin: -15px 0;
    margin-right: -1px;
    z-index: 1;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.06);
    -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.06);
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.06);
    -o-box-shadow: 0 0 6px rgba(0, 0, 0, 0.06);
}

.pricing-tables .pricing-table.highlight-plan .plan-name {
    padding: 25px 0;
}

.pricing-tables .pricing-table.highlight-plan .plan-name h3 {
    color: #fff;
}

.pricing-tables .pricing-table.highlight-plan .plan-signup {
    padding: 30px 0;
}

.pricing-tables .pricing-table.highlight-plan .plan-signup .btn-system.border-btn {
    border-color: #fff;
    color: #fff;
}

.pricing-table .plan-name {
    padding: 15px 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    border-bottom: 1px solid #eee;
}

.pricing-table .plan-name h3 {
    font-weight: 300;
    color: #888;
}

.pricing-table .plan-price {
    padding: 25px 0;
}

.pricing-table .plan-price .price-value {
    font-size: 38px;
    line-height: 40px;
    font-weight: 600;
    color: #444;
}

.pricing-table .plan-price .price-value span {
    font-size: 18px;
    font-weight: 300;
    line-height: 18px;
}

.pricing-table .plan-price .interval {
    line-height: 14px;
}

.pricing-table .plan-list li {
    padding: 8px;
    font-size: 12px;
    border-bottom: 1px solid #eee;
}

.pricing-table .plan-list li:first-child {
    border-top: 1px solid #eee;
}

.pricing-table .plan-signup {
    padding: 25px 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, .06) inset;
    -o-box-shadow: 0 0 20px rgba(0, 0, 0, .06) inset;
    -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .06) inset;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .06) inset;
}

.pricing-table .plan-signup a {
    text-transform: uppercase;
}


/*************** Buttons ***************/

.btn {
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.btn-system {
    display: inline-block;
    color: #fff;
    margin-right: 5px;
    font-weight: 300;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .2);
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) inset;
    -o-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) inset;
    -moz-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) inset;
    -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) inset;
}

.btn-system:last-child {
    margin-right: 0;
}

.btn-system {
    font-size: 1em;
    width: auto;
}

.btn-system.border-btn {
    background-color: transparent;
    border: 1px solid;
    box-shadow: none;
    -o-box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

.btn-system:hover {
    color: #fff;
    opacity: 0.8;
}

.btn-system.border-btn:hover {
    opacity: 1;
    color: #fff;
}

.btn-system.border-btn.btn-gray:hover {
    background-color: #444;
    color: #fff;
}

.btn-system.border-btn.btn-black:hover {
    background-color: #111;
    color: #fff;
}

.btn-system.border-btn.btn-wite:hover {
    background-color: #fff;
}

.btn-system.btn-gray {
    background-color: #444;
}

.btn-system.btn-black {
    background-color: #111;
}

.btn-system.btn-wite {
    background-color: #fff;
}

.btn-system.border-btn.btn-gray {
    background-color: transparent;
    border: 1px solid #444;
    color: #444;
}

.btn-system.border-btn.btn-black {
    background-color: transparent;
    border: 1px solid #111;
    color: #111;
}

.btn-system.border-btn.btn-wite {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
}

.btn-large {
    font-size: 14px;
    padding: 9px 22px;
}

.btn-medium {
    font-size: 14px;
    padding: 7px 18px;
}

.btn-small {
    padding: 5px 15px;
}

.btn-mini {
    padding: 3px 12px;
}

.btn-large.border-btn {
    padding: 8px 22px;
}

.btn-medium.border-btn {
    padding: 6px 18px;
}

.btn-small.border-btn {
    padding: 4px 15px;
}

.btn-mini.border-btn {
    padding: 2px 12px;
}


/*************** Alerts ***************/

.alert {
}

.alert-success p {
    color: #468847;
}

.alert-info p {
    color: #3a87ad;
}

.alert-warning p {
    color: #c09853;
}

.alert-danger p {
    color: #a94442;
}

.alert h4 {
    margin-bottom: 10px;
}

.alert strong {
    font-weight: 700;
}


/*************** Pie Charts ***************/

.easyPieChart {
    font-size: 24px;
    font-weight: 400;
    position: relative;
    text-align: center;
    display: inline-block;
    margin: 0 80px 20px 0;
    overflow: hidden;
}

.easyPieChart:last-child {
    margin-right: 0;
}

.easyPieChart span {
    color: #888;
    line-height: 20px;
    font-size: 13px;
    font-weight: 700
}

.easyPieChart i {
    position: absolute;
    width: 100%;
    top: -2px;
    right: 0;
    display: block;
    font-size: 3.5em;
    color: rgba(0, 0, 0, .05);
    text-align: center;
}

.easyPieChart canvas {
    position: absolute;
    top: 0;
    left: 0;
}


/*************** Lists ***************/

ul.icons-list {
    margin-bottom: 6px;
}

ul.icons-list li, ul.list-unstyled li {
    margin-bottom: 4px;
}

ul.icons-list li i {
    font-size: 14px;
    margin-right: 4px;
}


/*************** Tabs ***************/

.nav-tabs {
    border-color: #eee;
}

.nav-tabs > li > a {
    font-weight: 600;
    color: #666;
    padding: 8px 14px;
    border-radius: 3px 3px 0 0;
    -webkit-border-radius: 3px 3px 0 0;
    -moz-border-radius: 3px 3px 0 0;
    -o-border-radius: 3px 3px 0 0;
    border: 1px solid #eee;
    border-bottom: none;
    box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .04) inset;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.nav-tabs > li > a i {
    margin-right: 1px;
    padding-right: 5px;
}

.nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
    color: #fff;
    border-color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, .1) inset;
    -o-box-shadow: 0 0 15px rgba(0, 0, 0, .1) inset;
    -moz-box-shadow: 0 0 15px rgba(0, 0, 0, .1) inset;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1) inset;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    border-color: #eee;
    border-bottom-color: #fff;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover {
    box-shadow: 0 0 0 rgba(0, 0, 0, .1) inset;
    -o-box-shadow: 0 0 0 rgba(0, 0, 0, .1) inset;
    -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .1) inset;
    -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .1) inset;
}

.tab-content {
    border: 1px solid #eee;
    border-top: none;
    padding: 12px 16px;
}

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

.tab-content p:last-child {
    margin-bottom: 0;
}


/*************** Icons ***************/


.section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.service {
/ / padding-top: 80 px;
/ / padding-bottom: 60 px;
}

.icon-small {
    font-size: 2em;
    color: #444;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-small:hover, .service-box:hover .icon-small {
    text-shadow: 5px 5px 2px rgba(255, 255, 255, 0);
}

.icon-medium {
    font-size: 2.5em;
    color: #666;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-medium:hover, .service-box:hover .icon-medium {
    text-shadow: 5px 5px 2px rgba(255, 255, 255, 0);
}

.icon-large {
    font-size: 3em;
    color: #888;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-large:hover, .service-box:hover .icon-large {
    text-shadow: 5px 5px 2px rgba(255, 255, 255, 0);
}

.icon-mini-effect {
    position: relative;
    display: block;
    z-index: 1;
    font-size: 1.2em;
    color: #fff;
    top: 4px;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    margin: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-medium-effect {
    position: relative;
    display: block;
    z-index: 1;
    font-size: 2em;
    color: #fff;
    width: 64px;
    height: 64px;
    line-height: 64px;
    text-align: center;
    margin: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-large-effect {
    position: relative;
    display: block;
    z-index: 1;
    font-size: 2.6em;
    color: #fff;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    margin: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.icon-mini-effect:after, .icon-medium-effect:after, .icon-large-effect:after {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    content: '';
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

/*First Icon Effect */
.icon-effect-1 {
    background-color: #fff;
    -webkit-transition: color 0.4s;
    -moz-transition: color 0.4s;
    transition: color 0.4s;
}

.gray-icon.icon-effect-1 {
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-1:after {
    top: -2px;
    left: -2px;
    padding: 2px;
    z-index: -1;
    -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
    -moz-transition: -moz-transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s;
}

.gray-icon.icon-effect-1:after {
    background: #444;
}

.icon-effect-1.gray-icon:hover, .service-box:hover .gray-icon.icon-effect-1 {
    color: #444;
}

.icon-effect-1:hover:after, .service-box:hover .icon-effect-1:after {
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
}

/*Seconed Icon Effect */
.icon-effect-2 {
    background: #fff;
    -webkit-transition: color 0.4s;
    -moz-transition: color 0.4s;
    transition: color 0.4s;
}

.gray-icon.icon-effect-2 {
    color: #444;
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-2:after {
    top: -2px;
    left: -2px;
    padding: 2px;
    z-index: -1;
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
    -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
    -moz-transition: -moz-transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s;
}

.gray-icon.icon-effect-2:after {
    background: #444;
}

.icon-effect-2:hover, .service-box:hover .icon-effect-2, .icon-effect-2.gray-icon:hover, .service-box:hover .gray-icon.icon-effect-2 {
    color: #fff;
}

.icon-effect-2:hover:after, .service-box:hover .icon-effect-2:after {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

/*Third Icon Effect */
.icon-effect-3 {
    background: #fff;
}

.gray-icon.icon-effect-3 {
    color: #444;
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-3:hover:before, .service-box:hover .icon-effect-3:before {
    -webkit-animation: toRightFromLeft 0.4s forwards;
    -moz-animation: toRightFromLeft 0.4s forwards;
    animation: toRightFromLeft 0.4s forwards;
}

@-webkit-keyframes toRightFromLeft {
    49% {
        -webkit-transform: translate(100%);
    }
    50% {
        opacity: 0;
        -webkit-transform: translate(-100%);
    }
    51% {
        opacity: 1;
    }
}

@-moz-keyframes toRightFromLeft {
    49% {
        -moz-transform: translate(100%);
    }
    50% {
        opacity: 0;
        -moz-transform: translate(-100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes toRightFromLeft {
    49% {
        transform: translate(100%);
    }
    50% {
        opacity: 0;
        transform: translate(-100%);
    }
    51% {
        opacity: 1;
    }
}

/*Fourth Icon Effect */
.icon-effect-4 {
    background: #fff;
}

.gray-icon.icon-effect-4 {
    color: #444;
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-4:hover:before, .service-box:hover .icon-effect-4:before {
    -webkit-animation: toLeftFromRight 0.4s forwards;
    -moz-animation: toLeftFromRight 0.4s forwards;
    animation: toLeftFromRight 0.4s forwards;
}

@-webkit-keyframes toLeftFromRight {
    49% {
        -webkit-transform: translate(-100%);
    }
    50% {
        opacity: 0;
        -webkit-transform: translate(100%);
    }
    51% {
        opacity: 1;
    }
}

@-moz-keyframes toLeftFromRight {
    49% {
        -moz-transform: translate(-100%);
    }
    50% {
        opacity: 0;
        -moz-transform: translate(100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes toLeftFromRight {
    49% {
        transform: translate(-100%);
    }
    50% {
        opacity: 0;
        transform: translate(100%);
    }
    51% {
        opacity: 1;
    }
}

/*Fifth Icon Effect */
.icon-effect-5 {
    background: #fff;
}

.gray-icon.icon-effect-5 {
    color: #444;
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-5:hover:before, .service-box:hover .icon-effect-5:before {
    -webkit-animation: toTopFromBottom 0.4s forwards;
    -moz-animation: toTopFromBottom 0.4s forwards;
    animation: toTopFromBottom 0.4s forwards;
}

@-webkit-keyframes toTopFromBottom {
    49% {
        -webkit-transform: translateY(-100%);
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(100%);
    }
    51% {
        opacity: 1;
    }
}

@-moz-keyframes toTopFromBottom {
    49% {
        -moz-transform: translateY(-100%);
    }
    50% {
        opacity: 0;
        -moz-transform: translateY(100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes toTopFromBottom {
    49% {
        transform: translateY(-100%);
    }
    50% {
        opacity: 0;
        transform: translateY(100%);
    }
    51% {
        opacity: 1;
    }
}

/*six Icon Effect */
.icon-effect-6 {
    background: #fff;
}

.gray-icon.icon-effect-6 {
    color: #444;
    box-shadow: 0 0 0 3px #444;
    -o-box-shadow: 0 0 0 3px #444;
    -moz-box-shadow: 0 0 0 3px #444;
    -webkit-box-shadow: 0 0 0 3px #444;
}

.icon-effect-6:hover:before, .service-box:hover .icon-effect-6:before {
    -webkit-animation: toBottomFromTop 0.4s forwards;
    -moz-animation: toBottomFromTop 0.4s forwards;
    animation: toBottomFromTop 0.4s forwards;
}

@-webkit-keyframes toBottomFromTop {
    49% {
        -webkit-transform: translateY(100%);
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
    }
    51% {
        opacity: 1;
    }
}

@-moz-keyframes toBottomFromTop {
    49% {
        -moz-transform: translateY(100%);
    }
    50% {
        opacity: 0;
        -moz-transform: translateY(-100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes toBottomFromTop {
    49% {
        transform: translateY(100%);
    }
    50% {
        opacity: 0;
        transform: translateY(-100%);
    }
    51% {
        opacity: 1;
    }
}


/*************** Service Box ***************/

.service-box .read-more {
    margin-top: 4px;
    font-weight: 500;
    margin-left: 2px;
}

.service-box .read-more i {
    display: inline-block;
    position: relative;
    top: 1px;
}

.image-service-box img {
    margin-bottom: 14px;
}

.image-service-box h4 {
    margin-bottom: 8px;
    padding: 0 10px;
    font-weight: 400;
}

.image-service-box p {
    padding: 0 10px;
}

.service-box {
    margin-bottom: 35px;
}

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

.service-icon-left .service-icon {
    float: left;
}

.service-icon-left .service-content {
    padding-left: 45px;
}

.service-icon-left-more .service-icon {
    float: left;
}

.service-icon-left-more .service-content {
    padding-left: 60px;
}

.service-center .service-icon {
    margin-bottom: 14px;
}

.service-center .service-content h4 {
    margin-bottom: 6px;
    font-weight: 500;
}

.service-center .service-icon i {
    display: inline-block;
}

.service-box h4 {
    margin-bottom: 5px;
    font-weight: 400;
}

.service-box > div:first-child {
    padding: 0;
}

.service-boxed {
    margin-top: 30px;
    padding: 0 15px 20px 15px !important;
    border: 1px solid #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.service-boxed:hover {
    border-color: #e2e2e2;
    box-shadow: 0 0 6px rgba(0, 0, 0, .1);
    -o-box-shadow: 0 0 6px rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 0 6px rgba(0, 0, 0, .1);
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .1);
}

.service-boxed p {
    margin-bottom: 0;
}

/* Equal heights for the 2×2 on the right */
@media (min-width: 992px) {
    .news-grid-2x2 {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .news-grid-2x2 > [class*="col-"] {
        float: none;
        display: flex;
    }

    .news-grid-2x2 .image-service-box {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .news-grid-2x2 .image-service-box a {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .news-row {
        display: flex;
        align-items: stretch;
    }

    .news-row > [class*="col-"] {
        float: none;
        display: flex;
    }

    .news-left {
        align-items: center;
    }

    .news-left .image-service-box {
        width: 100%;
    }
}

/*************** Testimonials ***************/

.testimonials {
    padding-top: 8px;
    text-align: center;
    position: relative;
}

/*.testimonials:after {
	font-family: "FontAwesome";
	content: '\f0e5';
	font-size: 6em;
	line-height: 70px;
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -32px;
	color: rgba(255,255,255,.06);
}*/

.testimonials .testimonial-content p {
    font-family: 'Lora', serif;
    font-size: 24px;
    line-height: 36px;
    font-style: italic;
    font-weight: 400;
    color: #444;
}

.testimonials .testimonial-content {
    position: relative;
}

.testimonials .testimonial-content p::before {
    content: open-quote;
    margin-right: 6px;
}

.testimonials .testimonial-content p::after {
    content: close-quote;
    margin-left: 6px;
}

.testimonials .testimonial-author {
    padding: 8px;
    margin-bottom: 10px;
}

.classic-testimonials .testimonial-content {
    position: relative;
    padding: 14px 18px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    margin-bottom: 10px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
}

.classic-testimonials .testimonial-content:before {
    content: "\201C";
    font-weight: 300;
    position: absolute;
    font-size: 30px;
    opacity: 0.5;
    top: 8px;
    left: 6px;
}


.classic-testimonials .testimonial-author {
    margin-left: 10px;
}

.classic-testimonials .testimonial-author span {
    font-weight: 600;
}


/*************** Team Members ***************/

.team-member {
    padding: 3px;
    position: relative;
}

.team-member .member-photo {
    padding: 3px;
    border: 1px solid #eee;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    position: relative;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    width: 100%;
}

.team-member .member-photo .member-name {
    position: absolute;
    bottom: 12px;
    right: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    background-color: #444;
    z-index: 9994;
}

.team-member .member-photo .member-name span {
    position: absolute;
    top: 90%;
    right: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 300;
    padding: 1px 10px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
}

.team-member .member-info {
    padding: 15px 6px 12px 6px;
}

.team-member .member-socail {
/ / text-align: center;
}

.team-member .member-socail a i {
    color: #fff;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    display: inline-block;
    background-color: #d2d2d2;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.team-member .member-socail a.facebook:hover i {
    background-color: #507CBE;
}

.team-member .member-socail a.twitter:hover i {
    background-color: #63CDF1;
}

.team-member .member-socail a.gplus:hover i {
    background-color: #F16261;
}

.team-member .member-socail a.dribbble:hover i {
    background-color: #E46387;
}

.team-member .member-socail a.linkedin:hover i {
    background-color: #90CADD;
}

.team-member .member-socail a.flickr:hover i {
    background-color: #E474AF;
}

.team-member .member-socail a.instagramm:hover i {
    background-color: #4D4F54;
}

.team-member.modern .member-info {
    padding: 14px 0;
}

.team-member.modern .member-photo {
    position: relative;
    padding: 0px;
    border: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
}

.team-member.modern .member-photo:after {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% + 1px);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9993;
    transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;


}

.team-member.modern:hover .member-photo:after {
    opacity: 0.5;
    width: 100%;
    height: 100%;
}

.team-member.modern .progress {
    height: 3px;
    border-width: 2px;
    margin-bottom: 6px;
}

.team-member.modern .progress-label {
    font-size: 11px;
    line-height: 2em;
}

.team-member.modern .progress span {
    display: none;
}

.team-member.modern .member-socail {
    margin-top: 15px;
}

.team-member.modern .member-socail a i {
    background-color: transparent;
    color: #aaa;
}

.team-member.modern .member-socail a:hover i {
    color: #fff;
}


/*************** Heading Titles ***************/

.classic-title {
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
    font-weight: 300;
}


.classic-title span {
    display: inline-block; /* draw one underline for the whole block */
    padding-bottom: 8px;
    border-bottom: 2px solid #e74c3c; /* your accent color */
}

/* optional: slightly smaller heading on tight screens */
@media (max-width: 480px) {
    .classic-title {
        font-size: 22px;
        line-height: 28px;
    }

    .classic-title span {
        padding-bottom: 6px;
    }
}


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

.big-title h1, .big-title h2 {
    font-size: 26px;
    line-height: 32px;
    font-weight: 300;
}

.big-title h1 strong, .big-title h2 strong {
    font-weight: 400;
}

.big-title .title-desc {
    font-size: 16px;
    line-height: 22px;
    color: #888;
}

.big-title h2 + .title-desc, .big-title h1 + .title-desc {
    margin-top: 4px;
}


/*------------------------------------------*/
/*	        06 - Portfolio Styles
/*------------------------------------------*/

.portfolio-filter {
    margin-bottom: 30px;
}

.portfolio-filter li {
    display: inline-block;
    margin-right: 2px;
}

.portfolio-filter li a {
    color: #888;
    display: inline-block;
    padding: 5px 14px;
    border: 1px solid #eee;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-filter li a:hover {
    border-color: #ddd;
}

.portfolio-filter li a.selected, .portfolio-filter li a.selected:hover {
    color: #fff;
}

.portfolio-item {
    margin-bottom: 30px;
}

.portfolio-4 {
    margin-left: 5px;
}

.portfolio-4 .portfolio-item {
    width: 24.99% !important;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 22px;
}

.portfolio-item .portfolio-border {
    padding: 3px;
    border: 1px solid #eee;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-item:hover .portfolio-border {
    box-shadow: 0 1px 3px #f8f8f8;
    -o-box-shadow: 0 1px 3px #f8f8f8;
    -moz-box-shadow: 0 1px 3px #f8f8f8;
    -webkit-box-shadow: 0 1px 3px #f8f8f8;
}

.portfolio-item .portfolio-thumb {
    position: relative;
    overflow: hidden;
}

.portfolio-item .portfolio-thumb .thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0);
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-item:hover .portfolio-thumb .thumb-overlay {
    background: rgba(255, 255, 255, 0.5);
}

.portfolio-item .portfolio-thumb .thumb-overlay i {
    color: rgba(255, 255, 255, 0);
    position: absolute;
    top: 42%;
    left: 50%;
    display: block;
    margin-left: -27px;
    margin-top: -19px;
    font-size: 3em;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-item:hover .portfolio-thumb .thumb-overlay i {
    top: 50%;
    color: #444;
}

.portfolio-item .portfolio-details {
    position: relative;
    padding: 9px 12px 6px 12px;
}

.portfolio-item .portfolio-details .like-link {
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -9px;
}

.portfolio-item .portfolio-details .like-link i, .portfolio-item .portfolio-details .like-link span {
    color: #aaa;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-item .portfolio-details .like-link:hover i, .portfolio-item .portfolio-details .like-link:hover span {
    color: #F54B5C;
}

.portfolio-item .portfolio-details .like-link i {
    padding-right: 5px;
}

.portfolio-item .portfolio-details h4 {
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.portfolio-item .portfolio-details a span {
    color: #888;
}

.portfolio-item .portfolio-details span:after {
    content: ", ";
    margin-right: 2px;
}

.portfolio-item .portfolio-details span:last-child:after {
    content: "";
}


/*---- Isotope filtering ----*/
.isotope-item {
    z-index: 2;
}

.isotope-hidden.isotope-item {
    pointer-events: none;
    z-index: 1;
}

.isotope, .isotope .isotope-item { /* change duration value to whatever you like */
    -webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    transition-duration: 0.8s;
}

.isotope {
    -webkit-transition-property: height, width;
    -moz-transition-property: height, width;
    transition-property: height, width;
}

.isotope .isotope-item {
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    transition-property: transform, opacity;
}

/* ===== Legacy (se ainda usares) ===== */
.campaign {
    background: #f1f1f1;
    padding: 30px 0;
}

.campaign img {
    max-width: 100%;
}

.text-center {
    margin-bottom: 35px;
}

/* ===== Banda de secção + títulos ===== */
.section--band {
    background: transparent; /* sem fundo */
    padding: 26px 0 30px; /* só respiro vertical */
    border: 0; /* sem linhas */
}

.home-section-title {
    margin: 0 0 4px;
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(18px, 2.4vw, 26px);
}

.home-section-subtitle {
    margin: 0 0 16px;
    color: #666;
    font-size: clamp(13px, 1.6vw, 16px);
}

/* ===== Logos grid (3 col >=768px, 2 col por defeito, 1 col <=550px) ===== */
.news-section {
    --thumb-h: clamp(120px, 13vw, 170px);
}


@media (max-width: 767px) {
    .section.news-section {
        padding-left: 12px; /* gentle side padding */
        padding-right: 12px;
    }
}


/* altura visual */

#portfolio-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px; /* espaço entre cartões */
    justify-content: center; /* centra a última linha */
}

#portfolio-list li {
    overflow: hidden; /* recorta o zoom */
    text-align: center;
    flex: 1 1 100%; /* mobile: 1 por linha */
    max-width: 640px; /* não esticar demasiado em ecrãs pequenos */
}

@media (min-width: 551px) {
    #portfolio-list li {
        flex: 1 1 calc(50% - 24px);
        max-width: none;
    }
}

/* 3 por linha */
@media (min-width: 768px) {
    #portfolio-list li {
        flex: 0 1 calc(33.333% - 24px);
    }
}


#portfolio-list li a,
#portfolio-list li a.logo-link {
    display: block;
    position: relative;
}

/* Imagem + zoom suave (sem overlay) */
#portfolio-list li img {
    width: 100%;
    height: var(--thumb-h);
    object-fit: contain; /* preserva proporção dos logos */
    padding: clamp(6px, .9vw, 12px); /* “respiro” interno */
    background: #fff;
    transition: transform .6s cubic-bezier(.2, .6, .2, 1);
    will-change: transform;
}

#portfolio-list li:hover img,
#portfolio-list li a:focus img {
    transform: scale(1.04);
}

/* Elimina completamente qualquer overlay herdado */
#portfolio-list li .portfolio-item-content,
#portfolio-list li .header,
#portfolio-list li .body {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Acessibilidade: respeita reduzido movimento */
@media (prefers-reduced-motion: reduce) {
    #portfolio-list li img {
        transition: none;
        transform: none !important;
    }
}

/* Legenda simples sob o logo */
.logo-caption {
    display: block;
    margin-top: 10px;
    font: 700 14px/1.3 inherit;
    color: #111;
}

#portfolio-list li a:hover + .logo-caption {
    color: var(--jv-red, #E20613);
}

@media (prefers-reduced-motion: reduce) {
    #portfolio-list li img {
        transition: none;
        transform: none !important;
    }
}

/*------------------------------------------*/
/*		  07 - Single Project Styles
/*------------------------------------------*/


.project {
    padding-top: 30px;
}

.project-page {
    margin-bottom: 50px;
}

.project-slider {
    position: relative;
}

.project-slider img {
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
}

.project-slider .thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    background-color: rgba(0, 0, 0, 0);
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.project-slider:hover .thumb-overlay {
    background: rgba(255, 255, 255, 0.5);
}

.project-slider .thumb-overlay i {
    font-size: 3em;
    color: rgba(0, 0, 0, 0);
    position: absolute;
    left: 50%;
    top: 42%;
    margin-left: -27px;
    margin-top: -19px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.project-slider:hover .thumb-overlay i {
    top: 50%;
    color: #444;
}

.project-content h4 {
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}

.project-content h4 span {
    padding-bottom: 8px;
    border-bottom: 1px solid;
}

.project-content p, .project-content ul {
    margin-bottom: 30px;
}

.project-content ul li {
    margin-bottom: 5px;
}


.recent-projects h4.title {
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}

.recent-projects h4.title span {
    padding-bottom: 8px;
    border-bottom: 1px solid;
}

.projects-carousel {
    width: 1150px !important;
}

.projects-carousel .item {
    margin-right: 15px;
    margin-bottom: 0;
}

.full-width-recent-projects .projects-carousel {
    width: 100% !important;
}

.full-width-recent-projects .projects-carousel .item {
    margin: 0;
}

.full-width-recent-projects .portfolio-item .portfolio-border {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.full-width-recent-projects .portfolio-item:hover .portfolio-thumb .thumb-overlay {
    opacity: 0.65;
    z-index: 9994;
}

.full-width-recent-projects .portfolio-item .portfolio-thumb .thumb-overlay i {
    top: 25%;
}

.full-width-recent-projects .portfolio-item:hover .portfolio-thumb .thumb-overlay i {
    color: #fff;
    top: 45%;
}

.full-width-recent-projects .portfolio-item .portfolio-details {
    position: absolute;
    bottom: -10px;
    opacity: 0;
    width: 100%;
    z-index: 9995;
    padding: 0 20px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.full-width-recent-projects .portfolio-item:hover .portfolio-details {
    bottom: 10px;
    opacity: 1;
}

.full-width-recent-projects .portfolio-item:hover .portfolio-details h4 {
    color: rgba(255, 255, 255, .9);
}

.full-width-recent-projects .portfolio-item .portfolio-details a span {
    color: rgba(255, 255, 255, .8);
}

.full-width-recent-projects .portfolio-item .portfolio-details .like-link i, .full-width-recent-projects .portfolio-item .portfolio-details .like-link span {
    color: #fff;
}


/*------------------------------------------*/
/*			   08 - Blog Styles
/*------------------------------------------*/

.blog-post {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #eee;
}

.blog-post .post-head {
    overflow: hidden;
    position: relative;
    margin-bottom: 16px;
}

.blog-post .post-head .thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    background-color: rgba(0, 0, 0, 0);
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.blog-post .post-head:hover .thumb-overlay {
    background-color: rgba(255, 255, 255, 0.4);
}

.blog-post .post-head .thumb-overlay i {
    font-size: 3em;
    color: rgba(0, 0, 0, 0);
    position: absolute;
    left: 50%;
    top: 42%;
    margin-left: -27px;
    margin-top: -19px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.blog-post .post-head:hover .thumb-overlay i {
    color: #444;
    top: 50%;
}

.blog-post .post-head img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
}

.blog-post .post-content {
    padding-left: 54px;
    position: relative;
}

.blog-post .post-type {
    position: absolute;
    left: 0;
    top: 5px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    background-color: #444;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
}

.blog-post .post-type i {
    font-size: 1.2em;
    color: #fff;
}

.blog-post.quote-post .post-type {
    top: 0;
}

.post-content h2 {
    margin-bottom: 4px;
}

.post-content h2 a {
    color: #444;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.blog-post.quote-post .qoute-box {
    background: #444;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    padding: 20px 25px;
    color: #fff;
    margin-bottom: 10px;
}

.blog-post.quote-post .qoute-box a {
    color: #999;
}

.blog-post.quote-post .qoute-box h2 {
    font-family: 'Lora', serif;
    font-size: 18px;
    line-height: 26px;
    font-style: italic;
    font-weight: 400;
    color: #fff;
    margin-bottom: 10px;
}

.blog-post.quote-post .qoute-box .qoute-author {
    margin-left: 5px;
}

.blog-post.quote-post .qoute-box .qoute-author:before, .blog-post.quote-post .qoute-box .qoute-author:after {
    content: " - "
}

.blog-post .post-slider {
    position: relative;
}

ul.post-meta {
    margin-bottom: 10px;
}

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

ul.post-meta li:after {
    content: "-";
    margin: 0 8px 0 8px;
}

ul.post-meta li:last-child:after {
    content: "";
    margin: 0;
}

ul.post-meta li, ul.post-meta li a {
    color: #666;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

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

/*Pagination*/
#pagination span, #pagination a {
    display: inline-block;
    text-align: center;
    height: 34px;
    width: 34px;
    color: #888;
    line-height: 33px;
    border: 1px solid #eee;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

#pagination span.current {
    color: #fff;
}

#pagination a:hover {
    border-color: #ddd;
}

#pagination .all-pages, #pagination .next-page {
    width: auto;
    padding: 0 14px;
}

/*------------------------------------------*/
/*		    09 - Single post Styles
/*------------------------------------------*/

.blog-page, .blog-post-page {
    padding-top: 5px;
}

.blog-post-page .blog-post {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.blog-post-page ul.post-meta {
    margin-bottom: 12px;
}

.post-content h2 {
    font-weight: 500;
}

.post-bottom {
    padding: 20px 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #f6f6f6;
}

.post-tags-list {
    float: right;
    padding-top: 6px;
}

.post-tags-list a {
    display: inline-block;
    color: #888;
    font-size: 12px;
    padding: 2px 8px;
    background: #eee;
    margin-bottom: 4px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.post-tags-list a:hover {
    color: #fff;
}

.post-share {
    float: left;
}

.post-share span {
    margin-right: 4px;
    font-size: 13px;
    color: #888;
}

.post-share a {
    display: inline-block;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.post-share a.facebook {
    background-color: #507CBE;
}

.post-share a.facebook:hover {
    background-color: #3E68A8;
}

.post-share a.twitter {
    background-color: #63CDF1;
}

.post-share a.twitter:hover {
    background-color: #36BFED;
}

.post-share a.gplus {
    background-color: #F16261;
}

.post-share a.gplus:hover {
    background-color: #EF4545;
}

.post-share a.linkedin {
    background-color: #90CADD;
}

.post-share a.linkedin:hover {
    background-color: #72BBD3;
}

.post-share a i {
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    display: block;
    color: #fff;
    font-size: 1em;
}

.blog-post .author-info {
    display: block;
    margin-bottom: 10px;
}

.blog-post .author-info .author-image {
    float: left;
}

.blog-post .author-info .author-image img {
    width: 70px;
    height: 70px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border: 4px solid #eee;
}

.blog-post .author-info .author-bio {
    padding-left: 85px;
}

.blog-post .author-info h4 {
    margin-bottom: 4px;
    font-weight: 500;
}

.blog-post .author-info p:last-child {
    margin: 0;
}

#comments .comments-list {
    padding: 0;
    margin: 0 0 35px 0;
}

#comments .comments-title {
    font-weight: 500;
    margin-bottom: 20px;
}

#comments .comments-list li .comment-box {
    padding: 20px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    margin-bottom: 20px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -o-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -moz-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .04) inset;
}

#comments .comments-list li ul {
    padding-left: 80px;
}

#comments .avatar {
    float: left;
}

#comments .avatar img {
    width: 60px;
    height: 60px;
    padding: 3px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border: 1px solid #e8e8e8;
}

#comments .comment-content {
    padding-left: 72px;
}

#comments .comment-content .comment-meta {
    margin-bottom: 5px;
}

.comment-content .comment-meta span:after {
    content: "-";
    margin: 0 5px;
    font-weight: 100;
    color: #888;
}

.comment-content .comment-meta span:last-child:after {
    content: "";
    margin: 0;
}

.comment-content .comment-meta .comment-by {
    font-weight: 600;
    color: #444;
}

.comment-content .comment-meta .comment-date {
    color: #888;
}

#respond .respond-title {
    font-weight: 500;
    margin-bottom: 15px;
}


/*------------------------------------------*/
/*			10 - SideBar Styles
/*------------------------------------------*/

.sidebar {
    margin-bottom: 30px;
}

.sidebar a {
    color: #888;
}

.sidebar .widget {
    overflow: hidden;
    margin-bottom: 50px;
}

.sidebar .widget ul {
    margin: 0;
}

.widget-search input[type="search"] {
    position: relative;
    margin: 0;
    float: left;
    height: 37px;
    line-height: 37px;
    width: calc(100% - 38px);
    border-right: none;
    border-radius: 2px 0 0 2px;
    -webkit-border-radius: 2px 0 0 2px;
    -moz-border-radius: 2px 0 0 2px;
    -o-border-radius: 2px 0 0 2px;
}

.widget-search .search-btn {
    display: inline-block;
    width: 38px;
    height: 37px;
    border: none;
    color: #fff;
    font-size: 1.2em;
    line-height: 36px;
    text-align: center;
    border-radius: 0 2px 2px 0;
    -webkit-border-radius: 0 2px 2px 0;
    -moz-border-radius: 0 2px 2px 0;
    -o-border-radius: 0 2px 2px 0;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.widget-search .search-btn:hover {
    background-color: #444;
}

.sidebar .widget h4 {
    text-transform: uppercase;
    padding-bottom: 8px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 500;
    position: relative;
}

.sidebar .widget h4 .head-line {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 50px;
    height: 2px;
    background-color: #ddd;
    margin: 0;
}

.widget-categories ul li a {
    padding: 8px 0;
    text-decoration: none;
    display: block;
    border-bottom: 1px solid #eee;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.widget-categories ul li:first-child a {
    padding-top: 0;
}

.widget-categories ul li a:hover {
    padding-left: 8px;
}

.sidebar .widget-popular-posts li {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.sidebar .widget-popular-posts li:last-child {
    margin: 0;
    padding: 0;
    border: none;
}

.sidebar .widget-popular-posts .widget-thumb {
    float: left;
    margin-right: 8px;
    border: 3px solid #eee;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
}

.sidebar .widget-popular-posts .widget-thumb img {
    width: 65px;
    height: 65px;
    opacity: 1;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.sidebar .widget-popular-posts .widget-thumb:hover img {
    opacity: 0.7;
}

.sidebar .widget-popular-posts .widget-content h5 {
    font-size: 13px;
    line-height: 19px;
    margin-bottom: 5px;
    font-weight: 300;
}

.sidebar .widget-popular-posts .widget-content span {
    color: #bbb;
    font-size: 12px;
}

.sidebar .tagcloud a {
    display: inline-block;
    color: #888;
    font-size: 12px;
    padding: 4px 10px;
    background: #eee;
    margin-bottom: 4px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.sidebar .tagcloud a:hover {
    color: #fff;
}

/*------------------------------------------*/
/*			 11 - Bottom Styles
/*------------------------------------------*/

/* ===== Parcerias (nova grelha, sem conflitos) ===== */
.partners-grid {
    --logo-h: clamp(70px, 9vw, 120px);
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* mobile: 2 colunas */
    gap: 22px 26px;
    align-items: center;
    justify-items: center;
}

/* tablet */
@media (min-width: 768px) {
    .partners-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* desktop: força 5 por linha */
@media (min-width: 1200px) {
    .partners-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.partner-item {
    width: 100%;
}

.partner-link {
    display: block;
    width: 100%;
    text-align: center;
}

.partner-link img {
    width: 100%;
    height: var(--logo-h);
    object-fit: contain;
    padding: clamp(6px, .9vw, 12px); /* respiro interno */
    background: #fff; /* fundo limpo atrás do logo */
    transition: transform .45s cubic-bezier(.2, .6, .2, 1);
    will-change: transform;
}

/* zoom suave no logo */
.partner-link:hover img,
.partner-link:focus img {
    transform: scale(1.04);
    outline: none;
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce) {
    .partner-link img {
        transition: none;
    }
}

/* Se por acaso ainda existir overlay herdado nesse bloco, esconde */
.partners-grid .portfolio-item-content {
    display: none !important;
}

.partners-section {
    margin-top: var(--home-section-gap);
}

.sponsors-section {
    margin-top: var(--home-section-gap);
    margin-bottom: var(--home-section-gap);
}

.sponsors-section .clients-carousel {
    margin-top: 10px;
}


/*------------------------------------------*/
/*			 11 - Footer Styles
/*------------------------------------------*/

footer {
    background-color: #222;
    /*padding-top: 60px;*/
    border-top: 4px solid #555;
    color: #ccc;
}

footer p {
    color: #ccc;
}

footer a {
    color: #aaa;
}

footer a:hover {
    color: #aaa;
    text-decoration: underline;
}

.footer-widget {
    margin-bottom: 45px;
}

.footer-widget h4 {
    color: #eee;
    text-transform: uppercase;
    padding-bottom: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 700;
    position: relative;
}

.footer-widget h4 .head-line {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 50px;
    height: 3px;
    background-color: #333;
    margin: 0;
}

.social-widget ul.social-icons li {
    display: inline-block;
    margin-right: 4px;
    margin-bottom: 4px;
}

.social-widget ul.social-icons li a i {
    font-size: 1.4em;
    width: 36px;
    height: 36px;
    color: #fff;
    line-height: 36px;
    text-align: center;
    display: block;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.social-widget ul.social-icons li a:hover {
    text-decoration: none;
}

.social-widget ul.social-icons li a.facebook:hover i {
    background-color: #507CBE;
}

.social-widget ul.social-icons li a.twitter:hover i {
    background-color: #63CDF1;
}

.social-widget ul.social-icons li a.google:hover i {
    background-color: #F16261;
}

.social-widget ul.social-icons li a.dribbble:hover i {
    background-color: #E46387;
}

.social-widget ul.social-icons li a.linkdin:hover i {
    background-color: #90CADD;
}

.social-widget ul.social-icons li a.tumblr:hover i {
    background-color: #4D7EA3;
}

.social-widget ul.social-icons li a.flickr:hover i {
    background-color: #E474AF;
}

.social-widget ul.social-icons li a.instgram:hover i {
    background-color: #4D4F54;
}

.social-widget ul.social-icons li a.vimeo:hover i {
    background-color: #87D3E0;
}

.social-widget ul.social-icons li a.skype:hover i {
    background-color: #36C4F3
}

.contact-widget {
    background: url(../images/map.png) center bottom no-repeat;
}

.contact-widget span {
    font-weight: 700;
}

.contact-widget ul li {
    margin-bottom: 12px;
}

.contact-widget ul li p a {
    color: #bbb;
}

.contact-widget p {
    padding-bottom: 20px;
}

.twitter-widget a:hover {
    color: #43B9CD;
    text-decoration: underline;
}

.twitter-widget ul li {
    margin-bottom: 20px;
}

.twitter-widget ul li span {
    color: #888;
}

.flickr-widget ul {
    overflow: hidden;
}

.flickr-widget ul li {
    float: left;
    margin-left: 8px;
    margin-bottom: 8px;
}

.flickr-widget ul li:nth-child(3n+1) {
    margin-left: 0;
}

.flickr-widget ul li a {
    display: inline-block;
    width: 80px;
    opacity: 0.6;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border: 4px solid #333;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.flickr-widget ul li a img {
    width: 100%;
    height: 65px;
}

.flickr-widget ul li a:hover {
    opacity: 1;
}

.mail-subscribe-widget form {
    margin-top: 15px;
    margin-bottom: 20px;
}

.mail-subscribe-widget form input[type="text"] {
    outline: none;
    color: #888;
    font-size: 12px;
    padding: 6px 12px;
    border: none;
    background: #fff;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    outline: none;
}

.copyright-section {
    padding: 15px 0;
    font-size: 11px;
    letter-spacing: 0.5px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.copyright-section p {
    font-size: 11px;
    text-transform: uppercase;
}

ul.footer-nav {
    float: right;
}

ul.footer-nav li {
    display: inline-block;
    float: left;
    margin-left: 15px;
}

ul.footer-nav li:first-child {
    margin-left: 0;
}

ul.footer-nav li a {
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

ul.footer-nav li a:hover {
    color: #fff;
}

.back-to-top {
    display: none;
    position: fixed;
    bottom: 18px;
    right: 15px;
}

.back-to-top i {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    color: #fff;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    text-align: center;
    background-color: #444;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}


/*------------------------------------------*/
/*			 12 - Plugins Styles
/*------------------------------------------*/


/*
 * Nivo Lightbox v1.0
 * http://dev7studios.com/nivo-lightbox
 *
 * Copyright 2013, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */

.nivo-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999999;
    width: 100%;
    height: 100%;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.nivo-lightbox-overlay.nivo-lightbox-open {
    visibility: visible;
    opacity: 1;
}

.nivo-lightbox-wrap {
    position: absolute;
    top: 10%;
    bottom: 10%;
    left: 10%;
    right: 10%;
}

.nivo-lightbox-content {
    width: 100%;
    height: 100%;
}

.nivo-lightbox-title-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    text-align: center;
}

.nivo-lightbox-nav {
    display: none;
}

.nivo-lightbox-prev {
    position: absolute;
    top: 50%;
    left: 0;
}

.nivo-lightbox-next {
    position: absolute;
    top: 50%;
    right: 0;
}

.nivo-lightbox-close {
    position: absolute;
    top: 2%;
    right: 2%;
}

.nivo-lightbox-image {
    text-align: center;
}

.nivo-lightbox-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    vertical-align: middle;
}

.nivo-lightbox-content iframe {
    width: 100%;
    height: 100%;
}

.nivo-lightbox-ajax {
    max-height: 100%;
    overflow: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */
}

.nivo-lightbox-error {
    display: table;
    text-align: center;
    width: 100%;
    height: 100%;
    color: #fff;
    text-shadow: 0 1px 1px #000;
}

.nivo-lightbox-error p {
    display: table-cell;
    vertical-align: middle;
}

/* Effects
 **********************************************/
.nivo-lightbox-effect-fade,
.nivo-lightbox-effect-fadeScale,
.nivo-lightbox-effect-slideLeft,
.nivo-lightbox-effect-slideRight,
.nivo-lightbox-effect-slideUp,
.nivo-lightbox-effect-slideDown,
.nivo-lightbox-effect-fall {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

/* fadeScale */
.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: scale(0.7);
    -moz-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7);
}

.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* slideLeft / slideRight / slideUp / slideDown */
.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
    -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
    -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
    -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
    -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
    transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
}

.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap {
    -webkit-transform: translateX(-10%);
    -moz-transform: translateX(-10%);
    -ms-transform: translateX(-10%);
    transform: translateX(-10%);
}

.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap {
    -webkit-transform: translateX(10%);
    -moz-transform: translateX(10%);
    -ms-transform: translateX(10%);
    transform: translateX(10%);
}

.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
    -webkit-transform: translateY(-10%);
    -moz-transform: translateY(-10%);
    -ms-transform: translateY(-10%);
    transform: translateY(-10%);
}

.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap {
    -webkit-transform: translateY(10%);
    -moz-transform: translateY(10%);
    -ms-transform: translateY(10%);
    transform: translateY(10%);
}

.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

/* fall */
.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall {
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
}

.nivo-lightbox-effect-fall .nivo-lightbox-wrap {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transform: translateZ(300px);
    -moz-transform: translateZ(300px);
    -ms-transform: translateZ(300px);
    transform: translateZ(300px);
}

.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap {
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

/*
 * Nivo Lightbox Default Theme v1.0
 * http://dev7studios.com/nivo-lightbox
 */

.nivo-lightbox-theme-default.nivo-lightbox-overlay {
    background: #666;
    background: rgba(0, 0, 0, 0.8);
}

.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
    background: url(../images/lightbox/loading.gif) no-repeat 50% 50%;
}

.nivo-lightbox-theme-default .nivo-lightbox-nav {
    top: 10%;
    width: 8%;
    height: 80%;
    text-indent: -9999px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    opacity: 0.5;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.nivo-lightbox-theme-default .nivo-lightbox-nav:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.5);
}

.nivo-lightbox-theme-default .nivo-lightbox-prev {
    background-image: url(../images/lightbox/prev.png);
    border-radius: 0 3px 3px 0;
    -webkit-border-radius: 0 3px 3px 0;
    -moz-border-radius: 0 3px 3px 0;
    -o-border-radius: 0 3px 3px 0;
}

.nivo-lightbox-theme-default .nivo-lightbox-next {
    background-image: url(../images/lightbox/next.png);
    border-radius: 3px 0 0 3px;
    -webkit-border-radius: 3px 0 0 3px;
    -moz-border-radius: 3px 0 0 3px;
    -o-border-radius: 3px 0 0 3px;

}

.nivo-lightbox-theme-default .nivo-lightbox-close {
    display: block;
    background: url(../images/lightbox/close.png) no-repeat 5px 5px;
    width: 16px;
    height: 16px;
    text-indent: -9999px;
    padding: 5px;
    opacity: 0.5;
}

.nivo-lightbox-theme-default .nivo-lightbox-close:hover {
    opacity: 1;
}

.nivo-lightbox-theme-default .nivo-lightbox-title-wrap {
    bottom: -7%;
}

.nivo-lightbox-theme-default .nivo-lightbox-title {
    font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: normal;
    background: #000;
    color: #fff;
    padding: 7px 15px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
}

.nivo-lightbox-theme-default .nivo-lightbox-image img {
    background: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.nivo-lightbox-theme-default .nivo-lightbox-ajax,
.nivo-lightbox-theme-default .nivo-lightbox-inline {
    background: #fff;
    padding: 40px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

@media (-webkit-min-device-pixel-ratio: 1.3),
(-o-min-device-pixel-ratio: 2.6/2),
(min--moz-device-pixel-ratio: 1.3),
(min-device-pixel-ratio: 1.3),
(min-resolution: 1.3dppx) {

    .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
        background-image: url(../images/lightbox/loading@2x.gif);
        background-size: 32px 32px;
    }

    .nivo-lightbox-theme-default .nivo-lightbox-prev {
        background-image: url(../images/lightbox/prev@2x.png);
        background-size: 48px 48px;
    }

    .nivo-lightbox-theme-default .nivo-lightbox-next {
        background-image: url(../images/lightbox/next@2x.png);
        background-size: 48px 48px;
    }

    .nivo-lightbox-theme-default .nivo-lightbox-close {
        background-image: url(../images/lightbox/close@2x.png);
        background-size: 16px 16px;
    }

}


/*
 * 	Core Owl Carousel CSS
 *	v1.24
 */

/* clearfix */
.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

/* display none until init */
.owl-carousel {
    display: none;
    position: relative;
    width: 100%;
    -ms-touch-action: pan-y;
}

.owl-carousel .owl-wrapper {
    display: none;
    position: relative;
    -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.owl-carousel .owl-wrapper-outer.autoHeight {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out;
}

.owl-carousel .owl-item {
    float: left;
}

.owl-controls .owl-page,
.owl-controls .owl-buttons div {
    cursor: pointer;
}

.owl-controls {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* mouse grab icon */
.grabbing {
    cursor: url(../images/icons/grabbing.png) 8 8, move;
}

/* fix */
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
}

/* CSS3 Transitions */

.owl-origin {
    -webkit-perspective: 1200px;
    -webkit-perspective-origin-x: 50%;
    -webkit-perspective-origin-y: 50%;
    -moz-perspective: 1200px;
    -moz-perspective-origin-x: 50%;
    -moz-perspective-origin-y: 50%;
    perspective: 1200px;
}

/* fade */
.owl-fade-out {
    z-index: 10;
    -webkit-animation: fadeOut .7s both ease;
    -moz-animation: fadeOut .7s both ease;
    animation: fadeOut .7s both ease;
}

.owl-fade-in {
    -webkit-animation: fadeIn .7s both ease;
    -moz-animation: fadeIn .7s both ease;
    animation: fadeIn .7s both ease;
}

/* backSlide */
.owl-backSlide-out {
    -webkit-animation: backSlideOut 1s both ease;
    -moz-animation: backSlideOut 1s both ease;
    animation: backSlideOut 1s both ease;
}

.owl-backSlide-in {
    -webkit-animation: backSlideIn 1s both ease;
    -moz-animation: backSlideIn 1s both ease;
    animation: backSlideIn 1s both ease;
}

/* goDown */
.owl-goDown-out {
    -webkit-animation: scaleToFade .7s ease both;
    -moz-animation: scaleToFade .7s ease both;
    animation: scaleToFade .7s ease both;
}

.owl-goDown-in {
    -webkit-animation: goDown .6s ease both;
    -moz-animation: goDown .6s ease both;
    animation: goDown .6s ease both;
}

/* scaleUp */
.owl-fadeUp-in {
    -webkit-animation: scaleUpFrom .5s ease both;
    -moz-animation: scaleUpFrom .5s ease both;
    animation: scaleUpFrom .5s ease both;
}

.owl-fadeUp-out {
    -webkit-animation: scaleUpTo .5s ease both;
    -moz-animation: scaleUpTo .5s ease both;
    animation: scaleUpTo .5s ease both;
}

/* Keyframes */
/*empty*/
@-webkit-keyframes empty {
    0% {
        opacity: 1
    }
}

@-moz-keyframes empty {
    0% {
        opacity: 1
    }
}

@keyframes empty {
    0% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@-moz-keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes backSlideOut {
    25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%);
    }
}

@-moz-keyframes backSlideOut {
    25% {
        opacity: .5;
        -moz-transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%);
    }
}

@keyframes backSlideOut {
    25% {
        opacity: .5;
        transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%);
    }
}

@-webkit-keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0) translateX(0);
    }
}

@-moz-keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        -moz-transform: translateZ(0) translateX(0);
    }
}

@keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        transform: translateZ(0) translateX(0);
    }
}

@-webkit-keyframes scaleToFade {
    to {
        opacity: 0;
        -webkit-transform: scale(.8);
    }
}

@-moz-keyframes scaleToFade {
    to {
        opacity: 0;
        -moz-transform: scale(.8);
    }
}

@keyframes scaleToFade {
    to {
        opacity: 0;
        transform: scale(.8);
    }
}

@-webkit-keyframes goDown {
    from {
        -webkit-transform: translateY(-100%);
    }
}

@-moz-keyframes goDown {
    from {
        -moz-transform: translateY(-100%);
    }
}

@keyframes goDown {
    from {
        transform: translateY(-100%);
    }
}

@-webkit-keyframes scaleUpFrom {
    from {
        opacity: 0;
        -webkit-transform: scale(1.5);
    }
}

@-moz-keyframes scaleUpFrom {
    from {
        opacity: 0;
        -moz-transform: scale(1.5);
    }
}

@keyframes scaleUpFrom {
    from {
        opacity: 0;
        transform: scale(1.5);
    }
}

@-webkit-keyframes scaleUpTo {
    to {
        opacity: 0;
        -webkit-transform: scale(1.5);
    }
}

@-moz-keyframes scaleUpTo {
    to {
        opacity: 0;
        -moz-transform: scale(1.5);
    }
}

@keyframes scaleUpTo {
    to {
        opacity: 0;
        transform: scale(1.5);
    }
}

/*
* 	Owl Carousel Owl Theme
*/

.owl-theme .owl-controls {
    text-align: center;
}

/* Styling Next and Prev buttons */

.touch-slider .owl-controls .owl-buttons div {
    position: absolute;
    top: 50%;
    height: 60px;
    line-height: 60px;
    display: inline-block;
    zoom: 1;
    padding: 0 1px;
    *display: inline; /*IE7 life-saver */
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    background: #444;
    filter: Alpha(Opacity=60); /*IE7 fix*/
    opacity: 0.6;
    margin-top: -30px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.touch-slider:hover .owl-controls .owl-buttons div {
    filter: Alpha(Opacity=100); /*IE7 fix*/
    opacity: 1;
}

.touch-slider .owl-controls .owl-buttons div.owl-prev {
    left: 0;
    border-radius: 0 3px 3px 0;
    -webkit-border-radius: 0 3px 3px 0;
    -moz-border-radius: 0 3px 3px 0;
    -o-border-radius: 0 3px 3px 0;
}

.touch-slider .owl-controls .owl-buttons div.owl-next {
    right: 0;
    border-radius: 3px 0 0 3px;
    -webkit-border-radius: 3px 0 0 3px;
    -moz-border-radius: 3px 0 0 3px;
    -o-border-radius: 3px 0 0 3px;
}

.touch-slider .owl-controls .owl-buttons div i {
    font-size: 1.8em;
    color: #fff;
}


.touch-carousel .owl-controls .owl-buttons {
    position: absolute;
    top: -50px;
    right: 2px;
}

.touch-carousel.projects-carousel .owl-controls .owl-buttons {
    right: 12px;
}

.touch-carousel.navigation-2 .owl-controls .owl-buttons {
    position: relative;
    top: 0;
    right: 0;
}

.touch-carousel.navigation-2.clients-carousel .owl-controls .owl-buttons {
    top: -8px;
}

.touch-carousel.navigation-2 .owl-controls .owl-buttons div, .touch-carousel.navigation-3 .owl-controls .owl-buttons div {
    background-color: #f2f2f2;
}

.touch-carousel.navigation-2 .owl-controls .owl-buttons div i, .touch-carousel.navigation-3 .owl-controls .owl-buttons div i {
    color: #666;
}

.touch-carousel.navigation-3 {
    padding-top: 45px;
}

.touch-carousel.navigation-3.clients-carousel {
    padding-top: 25px;
}

.touch-carousel.navigation-3 .owl-controls .owl-buttons {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
}

.touch-carousel.navigation-2 .owl-controls .owl-buttons div, .touch-carousel.navigation-3 .owl-controls .owl-buttons div {
    width: 28px;
    height: 28px;
    line-height: 28px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}

.touch-carousel.navigation-3.projects-carousel .owl-controls .owl-buttons {
    right: 9px;
}

.touch-carousel .owl-controls .owl-buttons div, .testimonials-carousel .owl-controls .owl-buttons div {
    height: 22px;
    width: 22px;
    line-height: 22px;
    display: inline-block;
    zoom: 1;
    *display: inline; /*IE7 life-saver */
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    background-color: #fff;
    margin-left: 4px;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.touch-carousel .owl-controls .owl-buttons div i, .testimonials-carousel .owl-controls .owl-buttons div i {
    font-size: 1.2em;
    color: #ccc;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.testimonials-carousel .owl-controls .owl-buttons div i {
    color: #fff;
}

.touch-carousel .owl-controls.clickable .owl-buttons div:hover i {
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}

.testimonials-carousel .owl-controls.clickable .owl-buttons div:hover {
    background-color: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
}


/* Styling Pagination*/

.owl-pagination {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 5px;
}

.owl-theme .owl-controls .owl-page {
    display: inline-block;
    zoom: 1;
    *display: inline; /*IE7 life-saver */
}

.owl-theme .owl-controls .owl-page span {
    display: block;
    width: 16px;
    height: 16px;
    margin: 2px 4px;
    filter: Alpha(Opacity=50); /*IE7 fix*/
    opacity: 0.5;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    border: 3px solid #444;
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.touch-slider:hover .owl-controls .owl-page span {
    filter: Alpha(Opacity=100); /*IE7 fix*/
    opacity: 1;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
    border-color: #0A95D8;
}

/* If PaginationNumbers is true */

.owl-theme .owl-controls .owl-page span.owl-numbers {
    height: auto;
    width: auto;
    color: #FFF;
    padding: 2px 10px;
    font-size: 12px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

#bar {
    width: 0%;
    max-width: 100%;
    height: 4px;
    background: #444;
    filter: Alpha(Opacity=50); /*IE7 fix*/
    opacity: 0.5;
}

#progressBar {
    position: absolute;
    top: 0;
    z-index: 99;
    width: 100%;
}

/* preloading images */
.owl-item.loading {
    min-height: 150px;
    background: url(../images/icons/ajaxloader.gif) no-repeat center center
}


/******* Style Switcher *******/
.switcher-box {
    width: 212px;
    position: fixed;
    left: -212px;
    top: 160px;
    text-align: center;
    z-index: 99999999999;
    background-color: #fff;
    border-radius: 0 0 2px 0;
    border-radius: 0 5px 5px 0;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.switcher-box h4 {
    display: block;
    height: 40px;
    line-height: 42px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background-color: #333;
    margin-bottom: 10px;
}

.switcher-box span {
    display: block;
    padding: 5px 20px;
    text-align: left;
}

.switcher-box .colors-list {
    padding: 0 18px 0 18px;
    margin-bottom: 8px;
    line-height: 20px;
}

.switcher-box .colors-list li {
    display: inline-block;
    margin-right: 2px;
}

.switcher-box .colors-list li a {
    display: block;
    width: 24px;
    height: 18px;
    cursor: pointer;
}

.switcher-box .colors-list li a.blue {
    background-color: #0a9fd8;
}

.switcher-box .colors-list li a.cyan {
    background-color: #27bebe;
}

.switcher-box .colors-list li a.jade {
    background-color: #0bb586;
}

.switcher-box .colors-list li a.red {
    background-color: #ee3733;
}

.switcher-box .colors-list li a.peach {
    background-color: #f49237;
}

.switcher-box .colors-list li a.sky-blue {
    background-color: #38cbcb;
}

.switcher-box .colors-list li a.yellow {
    background-color: #f8ba01;
}

.switcher-box .colors-list li a.green {
    background-color: #94c523;
}

.switcher-box .colors-list li a.orange {
    background-color: #f36510;
}

.switcher-box .colors-list li a.pink {
    background-color: #f1505b;
}

.switcher-box .colors-list li a.purple {
    background-color: #6a3da3;
}

.switcher-box .colors-list li a.beige {
    background-color: #fdb655;
}

.switcher-box .layout-style, .switcher-box .topbar-style {
    width: 172px;
    padding: 6px 9px;
    outline: none;
    display: block;
    background: #fff;
    border-radius: 3px;
    padding: 4px 6px;
    color: #888;
    cursor: pointer;
    border-radius: 2px;
    font-size: 12px;
    margin: 0 0 12px 20px;
    border: 1px solid #ddd;
    -webkit-box-shadow: inset 1px 1px 3px 0px rgba(0, 0, 0, 0.06);
    box-shadow: inset 1px 1px 3px 0px rgba(0, 0, 0, 0.06);
}

.switcher-box .bg-list {
    padding: 0 18px 0 18px;
    margin-bottom: 18px;
}

.switcher-box .bg-list li {
    display: inline-block;
    margin-right: 2px;
}

.switcher-box .bg-list li a {
    display: block;
    width: 20px;
    height: 20px;
}

.switcher-box .bg-list li a.bg1 {
    background: url(../images/patterns/1.png) repeat;
}

.switcher-box .bg-list li a.bg2 {
    background: url(../images/patterns/2.png) repeat;
}

.switcher-box .bg-list li a.bg3 {
    background: url(../images/patterns/3.png) repeat;
}

.switcher-box .bg-list li a.bg4 {
    background: url(../images/patterns/4.png) repeat;
}

.switcher-box .bg-list li a.bg5 {
    background: url(../images/patterns/5.png) repeat;
}

.switcher-box .bg-list li a.bg6 {
    background: url(../images/patterns/6.png) repeat;
}

.switcher-box .bg-list li a.bg7 {
    background: url(../images/patterns/7.png) repeat;
}

.switcher-box .bg-list li a.bg8 {
    background: url(../images/patterns/8.png) repeat;
}

.switcher-box .bg-list li a.bg9 {
    background: url(../images/patterns/9.png) repeat;
}

.switcher-box .bg-list li a.bg10 {
    background: url(../images/patterns/10.png) repeat;
}

.switcher-box .bg-list li a.bg11 {
    background: url(../images/patterns/11.png) repeat;
}

.switcher-box .bg-list li a.bg12 {
    background: url(../images/patterns/12.png) repeat;
}

.switcher-box .bg-list li a.bg13 {
    background: url(../images/patterns/13.png) repeat;
}

.switcher-box .bg-list li a.bg14 {
    background: url(../images/patterns/14.png) repeat;
}

.switcher-box .open-switcher {
    width: 40px;
    height: 40px;
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    border-radius: 0 2px 2px 0;
    background: #444 center no-repeat;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}

.switcher-box .open-switcher:hover {
    background: url(../images/icons/switcher.png) #444 center no-repeat;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    color: #fff;
}

.switcher-box .open-switcher i {
    text-align: center;
    padding-top: 7px;
}

.iframe {
    border: none;
}


.services-2 {
    position: relative;
    text-align: center;
    margin: 0px 0px 30px 0px;
}


.services-2-icon {
    display: inline-block;
    width: 100%;
    display: table;
}

.services-2-icon i {
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin: 0px auto;
    position: relative;
    display: inline-block;
    margin-right: 15px;
    border-radius: 50%;
    float: left;
    text-align: center;
    font-size: 26px;
    background: #E93735;
    color: #fff;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}


.services-2:hover .services-2-icon i {
    display: block;
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
}

.services-2-text {
    margin-left: 75px;
    overflow: hidden;
}

.services-2-icon h4 {
    font-family: 'Open Sans', sans-serif;
    color: #404449;
    font-size: 16px;
    font-weight: 400;
    margin: 15px 0px 0px 0px;
    text-align: left;
    display: table-cell;
    padding: 0px;
    vertical-align: middle;
    width: 100%;
}

.services-2 p {
    color: #ACB2B8;
    margin: 0px 0px 0px 0px;
    text-align: left;
}


/* progress bar */

.skill p {
    margin-bottom: 7px;

}

.progress {
    overflow: visible;
    height: 18px;
    margin-bottom: 10px;
    background-color: #f9f9f9;
    border-radius: 0px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.progress-bar {
    float: left;
    height: 100%;
    font-size: 12px;
    color: #ffffff;
    text-align: center;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: width 0.6s ease;
    transition: width 0.6s ease;
    position: relative;
}

.progress-bar-span {
    opacity: 1;
    position: absolute;
    top: -5px;
    background: #ACB2B8;
    padding: 3px 10px;
    color: #FFF;
    border-radius: 0px;
    right: 0px;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.skill:hover .progress-bar-span {
    opacity: 1;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}


/* Counter */

.counter-item {
    position: relative;
    text-align: center;
}

.counter-item h5 {
    text-align: center;
    margin-bottom: 0px;
    color: #fff;
}

.counter-item i {
    font-size: 40px;
}


.timer {
    font-size: 48px;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    line-height: 80px;
}


.parallax {
    width: 100%;
    padding: 0;
    margin: 0;
    background-position: 50% 30%;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

.parallax-text-container-1 .parallax-text-item {
    padding: 120px 0px;
    text-align: center;
}


.parallax-mobile {
    background-position: 50% 0px !important;
    background-attachment: scroll !important;
}


.services-3 {
    position: relative;
    text-align: center;
    margin: 0px 0px 30px 0px;
}

.services-3-icon {
    display: inline-block;
    width: 100%;
    display: table;
}

.services-3-icon i {
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin: 0px auto;
    position: relative;
    display: inline-block;
    margin-left: 15px;
    border-radius: 50%;
    float: left;
    text-align: center;
    font-size: 26px;
    color: #fff;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.services-3:hover .services-3-icon i {
    display: block;
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
}

.services-3-text {
    margin-right: 75px;
    overflow: hidden;
}

.services-3-icon h4 {
    font-family: 'Raleway', sans-serif;
    color: #404449;
    font-size: 16px;
    font-weight: 400;
    margin: 0px 0px 15px 0px;
    text-align: right;
    display: table-cell;
    padding: 0px;
    vertical-align: middle;
    width: 100%;
}

.services-3 p {
    color: #ACB2B8;
    margin: 0px 0px 0px 0px;
    text-align: right;
}


.purchase {
    background: url(../images/parallax/bg-01.jpg) no-repeat;
    background-attachment: fixed;
    padding: 100px 0;
}

.navbar-collapse {
    max-height: 340px;
}

/** timeline box structure **/
.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

.timeline:before {
    top: 0;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 3px;
    background-color: #eee;
    left: 50%;
    margin-left: -1.5px;
}

.tldate {
    display: block;
    width: 200px;
    background: #ddd;
    /*border: 3px solid #212121;*/
    color: #444;
    margin: 0 auto;
    padding: 3px 0;
    font-weight: bold;
    text-align: center;
    -webkit-box-shadow: 0 0 11px rgba(0, 0, 0, 0.35);
}

.timeline li {
    margin-bottom: 25px;
    position: relative;
}

.timeline li:before, .timeline li:after {
    content: " ";
    display: table;
}

.timeline li:after {
    clear: both;
}

.timeline li:before, .timeline li:after {
    content: " ";
    display: table;
}

/** timeline panels **/
.timeline li .timeline-panel {
    width: 46%;
    float: left;
    background: #fff;
    border: 1px solid #d4d4d4;
    padding: 20px;
    position: relative;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
}

/** panel arrows **/
.timeline li .timeline-panel:before {
    position: absolute;
    top: 26px;
    right: -15px;
    display: inline-block;
    border-top: 15px solid transparent;
    border-left: 15px solid #ccc;
    border-right: 0 solid #ccc;
    border-bottom: 15px solid transparent;
    content: " ";
}

.timeline li .timeline-panel:after {
    position: absolute;
    top: 27px;
    right: -14px;
    display: inline-block;
    border-top: 14px solid transparent;
    border-left: 14px solid #fff;
    border-right: 0 solid #fff;
    border-bottom: 14px solid transparent;
    content: " ";
}

.timeline li .timeline-panel.noarrow:before, .timeline li .timeline-panel.noarrow:after {
    top: 0;
    right: 0;
    display: none;
    border: 0;
}

.timeline li.timeline-inverted .timeline-panel {
    float: right;
}

.timeline li.timeline-inverted .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -15px;
    right: auto;
}

.timeline li.timeline-inverted .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
}


/** timeline circle icons **/
.timeline li .tl-circ {
    position: absolute;
    top: 33px;
    left: 50%;
    text-align: center;
    background: #e30613;
    color: #fff;
    width: 20px;
    height: 20px;
    line-height: 20px;
    margin-left: -10px;
    border: 3px solid #d3071a;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
    z-index: 99999;
}


/** timeline content **/

.tl-heading h4 {
    margin: 0;
    color: #c25b4e;
}

.tl-body p, .tl-body ul {
    margin-bottom: 0;
}

.tl-body > p + p {
    margin-top: 5px;
}

/** media queries **/
@media (max-width: 991px) {
    .timeline li .timeline-panel {
        width: 44%;
    }
}

@media (max-width: 700px) {
    .page-header h1 {
        font-size: 1.8em;
    }

    ul.timeline:before {
        left: 40px;
    }

    .tldate {
        width: 140px;
    }

    ul.timeline li .timeline-panel {
        width: calc(100% - 90px);
        width: -moz-calc(100% - 90px);
        width: -webkit-calc(100% - 90px);
    }

    ul.timeline li .tl-circ {
        top: 22px;
        left: 22px;
        margin-left: 0;

    }

    ul.timeline > li > .tldate {
        margin: 0;
    }

    ul.timeline > li > .timeline-panel {
        float: right;
    }

    ul.timeline > li > .timeline-panel:before {
        border-left-width: 0;
        border-right-width: 15px;
        left: -15px;
        right: auto;
    }

    ul.timeline > li > .timeline-panel:after {
        border-left-width: 0;
        border-right-width: 14px;
        left: -14px;
        right: auto;
    }
}

/******************************************/
/**************Images Stylling++++++++++++*/

/* ===== Equipa – elementos comuns ===== */
.unit-hero {
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
}

.unit-hero img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.unit-cta {
    background: #E20613;
    color: #fff;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 700;
    text-align: center;
    margin-top: 10px;
}

.unit-features {
    margin: 10px 0 0;
    padding-left: 18px;
}

.unit-features li {
    margin-bottom: .4rem;
}

.btn-jv {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
}

.btn-jv--primary {
    background: #E20613;
    color: #fff;
}

.btn-jv--ghost {
    border: 2px solid #E20613;
    color: #E20613;
    background: transparent;
}

.jv-inline-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: nowrap; /* keep them on one line */
}

.jv-inline-actions .btn-jv {
    flex: 0 0 auto; /* don't stretch */
    white-space: nowrap; /* keep label unbroken */
    width: auto; /* override any 100% width from theme */
}

/* Optional: allow wrap on very small screens */
@media (max-width: 420px) {
    .jv-inline-actions {
        flex-wrap: wrap;
    }
}


.unit-info-card {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 14px;
    margin-top: 14px;
}

.unit-info-card h5 {
    margin: 0 0 8px;
    font-weight: 700;
}

/* Staff – fotos uniformes (só dentro de .staff-section) */
.staff-section .coach-card .member-photo {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background: #f4f4f4;
}

.staff-section .coach-card .member-photo img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: 50% 20%;
    height: auto;
    display: block;
}

@supports not (aspect-ratio: 3/4) {
    .staff-section .coach-card .member-photo {
        padding-top: 133.333%;
    }

    .staff-section .coach-card .member-photo img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
}

.staff-section .coach-card .member-photo .member-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 8px 10px;
    color: #fff;
    font-weight: 700;
    background: linear-gradient(to top, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0));
}

.staff-section .coach-card .member-info {
    margin-top: 8px;
    font-size: 14px;
}

/******************************************************/
/*****************************************Corpos Sociais**************************/
.row.corpos-grid {
    display: flex; /* in case the theme changed it */
    flex-wrap: wrap;
    justify-content: flex-start !important;
    align-content: flex-start; /* avoids weird vertical spacing */
}

.corpos-grid .membro-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    text-align: center;
    padding: 12px;
    margin-bottom: 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05)
}

.corpos-grid .membro-foto img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 8px
}

.corpos-grid .membro-nome {
    font-weight: 700;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.2
}

.corpos-grid .membro-role {
    font-size: 12px;
    opacity: .85
}

.row.corpos-grid > [class*="col-"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/********NEWS PAGE***************/

/* JV News (scoped) */
.jv-news {
}

/* Grid */
.jv-news-grid {
    display: grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
}

.jv-news-card {
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
    height: 100%;
}

.jv-news-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.jv-news-thumb img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}

.jv-news-title {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;
    margin: 12px 14px 6px;
}

.jv-news-excerpt {
    margin: 0 14px 12px;
    font-size: 14px;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jv-news-more {
    margin: 0 14px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #E20613;
}

.jv-news-empty {
    margin: 10px 0 20px;
    color: #666;
}

/* Pagination */
.jv-news-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 28px 0 10px;
}

.jv-news-pagination .jv-page-btn,
.jv-news-pagination .jv-page-num {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    background: #fff;
}

.jv-news-pagination .jv-page-num.jv-is-active {
    background: #E20613;
    border-color: #E20613;
    color: #fff;
    pointer-events: none;
}

.hor-section-title {
    margin: 0 0 4px;
    font-weight: 700;
    line-height: 1.15;
    font-size: clamp(16px, 2vw, 20px);
}

/* HORARIOS */
/* ===============================
     SCHEDULE (cartões de horários)
     =============================== */

.staff-section {
    margin-top: var(--home-section-gap);
}

.schedule-cards {
    margin-top: var(--home-section-gap);
}

/* um único controlo de margem */

.schedule-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, .05);
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.schedule-card .sc-head {
    background: #333333;
    color: #d5d5d5;
    padding: 12px 14px;
    border-radius: 10px 10px 0 0
}

.schedule-card .sc-group {
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2
}

.schedule-card .sc-meta {
    opacity: .95;
    font-size: 12px;
    margin-top: 2px
}

.schedule-card .sc-body {
    padding: 12px 14px;
    color: black;
}

.schedule-card .sc-badges {
    margin: 0 0 8px 0;
    font-size: 12px
}

.schedule-card .sc-times {
    margin: 0
}

.schedule-card .sc-times li {
    display: flex;
    justify-content: space-between;
    padding: 7px 0;
    border-bottom: 1px dashed #eee
}

.schedule-card .sc-times li:last-child {
    border-bottom: none
}

.schedule-card .day {
    font-weight: 700
}

.schedule-card .time {
    font-weight: 600
}

/* Grelha sem “buracos” */
.row.schedule-cards {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start !important;
    align-items: stretch !important;
}

.row.schedule-cards > [class*="col-"] {
    display: flex;
    min-height: 0
}

/* Safari */
.row.schedule-cards .schedule-card {
    height: auto;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* ===============================
   COACHES (treinadores)
   =============================== */

.coach-card {
    margin-bottom: 18px
}

.staff-section .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch !important;
    align-content: flex-start !important;
}

.staff-section .row > [class*="col-"] {
    display: flex;
    min-height: 0
}

/* Safari */
.team-member.coach-card {
    display: flex;
    flex-direction: column;
    width: 100%
}

/* Foto com razão 3:4 estável (600x800) */
.staff-section .member-photo {
    position: relative;
    overflow: hidden;
    border-radius: 10px
}

.staff-section .member-photo::before {
    content: "";
    display: block;
    padding-top: 133.333%
}

/* 3:4 */
.staff-section .member-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px
}

.staff-section .member-photo .member-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .6);
    color: #fff;
    padding: 8px 10px;
    font-weight: 700
}

/* Badges dos treinadores — alinhadas no TOPO */
.coach-badges {
    margin-top: 10px !important; /* anula qualquer auto anterior */
    padding: 10px 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* ===============================
   BADGE PILL (estilo base + contextos)
   =============================== */

.badge-pill {
    display: inline-block;
    background: #E20613;
    color: #fff;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 700;
}

/* espaçamento nos horários continua com margens */
.schedule-card .badge-pill {
    margin-right: 6px;
    margin-bottom: 6px
}

/* nos treinadores usamos gap, por isso sem margens */
.coach-badges .badge-pill {
    margin: 0
}

/* ===============================
   Media queries (fallback floats)
   =============================== */
@media (min-width: 768px) {
    .schedule-card .sc-head {
        padding: 14px 16px
    }

    .schedule-card .sc-body {
        padding: 14px 16px
    }

    /* se o tema usar floats no grid */
    .schedule-cards .col-sm-6:nth-child(2n+1) {
        clear: both
    }

    .staff-section .row > .col-sm-6:nth-child(2n+1) {
        clear: both
    }
}

@media (min-width: 992px) {
    .schedule-cards .col-md-4:nth-child(3n+1) {
        clear: both
    }

    /* 3/linha */
    .staff-section .row > .col-md-3:nth-child(4n+1) {
        clear: both
    }

    /* 4/linha */
}

/* ===============================
   CDMC
   =============================== */

/* Scope spacing rules to this staff block only */
.cdmc-staff {
    margin-bottom: 32px; /* space after the whole section */
}

/* Titles: space above and below */
.cdmc-staff .hor-section-title {
    margin: 32px 0 16px; /* top | sides | bottom */
}

.cdmc-staff .hor-section-title:first-of-type {
    margin-top: 0; /* no extra space before the first title */
}

/* Space between the cards grid and the next section title */
.cdmc-staff .hor-section-title + .row {
    margin-bottom: 28px;
}

/* Card spacing */
.cdmc-staff .coach-card {
    margin-bottom: 24px; /* vertical gap between rows of cards */
}

/* Image → name spacing inside the card */
.cdmc-staff .member-photo img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 10px; /* space between photo and name */
}

.cdmc-staff .member-name {
    margin-top: 6px;
    font-weight: 700;
}


/***Calendário**/
/* Season bar — light look */
.season-nav {
    padding: 16px 0;
}

/* Chips row */
.season-nav .season-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 8px;
}

/* Season chips (bigger text) */
.season-nav .season-chip {
    display: inline-block;
    padding: 10px 18px;
    border: 1.5px solid #d9dee4;
    border-radius: 999px;
    background: #fff;
    color: #333;
    font-weight: 700;
    font-size: 17px; /* bigger */
    line-height: 1;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.season-nav .season-chip:hover {
    background: #f1f3f6;
    border-color: #c6ccd3;
}

.season-nav .season-chip:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(226, 6, 19, .2); /* JV red focus ring */
}

/* Active season highlighted in JV red */
.season-nav .season-chip.is-active {
    background: #E20613;
    border-color: #E20613;
    color: #fff;
}

/* Hide older by default; show when expanded */
.season-nav .season-chip.is-hidden {
    display: none;
}

.season-nav.is-expanded .season-chip.is-hidden {
    display: inline-block;
}

/* Toggle */
.season-nav .season-toggle {
    margin: 2px auto 0;
    display: block;
    background: transparent;
    border: 0;
    color: #E20613;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

.season-nav .season-toggle .label-hide {
    display: none;
}

.season-nav.is-expanded .season-toggle .label-show {
    display: none;
}

.season-nav.is-expanded .season-toggle .label-hide {
    display: inline;
}

/* Responsive tweak */
@media (max-width: 480px) {
    .season-nav .season-chip {
        font-size: 15px;
        padding: 8px 14px;
    }
}

/* Competitions list toggles */
.jv-competicoes .is-hidden {
    display: none;
}

.jv-competicoes .jv-month-title {
    margin: 26px 0 10px;
}

.jv-competicoes .jv-month-toggle {
    background: transparent;
    border: 0;
    padding: 0;
    width: 100%;
    text-align: left;
    font-weight: 800;
    font-size: 20px; /* nice and readable */
    cursor: pointer;
    position: relative;
    color: #2b2b2b;
}

/* caret indicator */
.jv-competicoes .jv-month-toggle::after {
    content: "▸";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    opacity: .7;
}

.jv-competicoes .jv-month-toggle[aria-expanded="true"]::after {
    content: "▾";
}

/* a bit of breathing room under headings when open */
.jv-competicoes .jv-month-head th {
    border-top: 0;
}

/* Remove the top border from TH cells in the competitions table */
.table.jv-competicoes > thead > tr > th,
.table.jv-competicoes > tbody > tr > th,
.jv-competicoes th {
    border-top: none !important;
}

.table-bordered.jv-competicoes > tbody > tr > th {
    border: none !important;
}

#banner-carousel .left.carousel-control span,
#banner-carousel .right.carousel-control span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

/* Make indicators visible and styled */
#banner-carousel {
    overflow: visible;
}

/* so indicators/arrows can sit outside */
#banner-carousel .carousel-indicators {
    bottom: -22px; /* move below the image */
    z-index: 15;
}

#banner-carousel .carousel-indicators li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
    border: 2px solid #000; /* black ring */
    background: transparent;
    border-radius: 50%;
}

#banner-carousel .carousel-indicators .active {
    background: #000; /* filled black for active */
    border-color: #000;
}

/* Remove Bootstrap's gradient overlay on controls */
#banner-carousel .carousel-control {
    background: transparent !important;
    background-image: none !important;
    opacity: 1; /* keep them fully visible */
    text-shadow: none;
    width: 44px; /* tighter hit area */
}

/* Position arrows slightly outside the image */
#banner-carousel .left.carousel-control {
    left: -36px;
}

#banner-carousel .right.carousel-control {
    right: -36px;
}

/* Center the icon vertically and style it */
#banner-carousel .carousel-control span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#banner-carousel .carousel-control i {
    font-size: 36px;
    color: #000; /* black arrows */
    text-shadow: none;
}

#banner-carousel .carousel-control:hover i {
    opacity: .85; /* subtle hover feedback */
}

/* Mobile: keep arrows inside so they don't get clipped */
@media (max-width: 767px) {
    #banner-carousel .left.carousel-control {
        left: 8px;
    }

    #banner-carousel .right.carousel-control {
        right: 8px;
    }

    #banner-carousel .carousel-indicators {
        bottom: -12px;
    }
}

/*NEWS PAGE */
/* News detail mobile tweaks */
.news-detail__media {
    margin-bottom: 16px;
}

.news-detail__media img {
    width: 100%;
    height: auto;
    display: block;
}

@media (min-width: 768px) {
    .news-detail__media {
        margin-bottom: 0;
    }
}

/* Optional: a bit of breathing room for the whole page area */
#container .page-content {
    padding-top: 50px;
}

/* ------------------ Socios styles ----------------------- */
.section-spacer {
    margin: 2.5rem 0;
}

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

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table th, .table td {
    border: 1px solid #ddd;
    padding: .75rem;
    vertical-align: top;
}

.table thead th {
    background: #e9ecef;
    color: #000;
    text-align: center;
}

.table tbody tr:nth-child(even) {
    background: #f9f9f9;
}

.grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .grid-2 {
        grid-template-columns: 1fr 1fr;
    }
}

.icon-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 600;
}

/* Layout base */
.jv-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem;
}

.jv-hero {
    display: grid;
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 2rem;
}

@media (min-width: 900px) {
    .jv-hero {
        grid-template-columns: 1.2fr 0.8fr;
    }
}

/* Hero */
.jv-badge {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #0a58ca;
    font-weight: 600;
    font-size: .85rem;
}

.jv-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.2;
    margin: .5rem 0 1rem;
}

.jv-sub {
    color: #444;
    font-size: clamp(1.2rem, 1.1rem + 0.6vw, 1.5rem);
    line-height: 1.5;
    margin-bottom: 1rem; /* a bit more breathing room */
}

.jv-hero-actions {
    display: flex;
    align-items: center; /* vertical centering */
    gap: .75rem; /* space between highlight and button */
    flex-wrap: wrap; /* stack on small screens when needed */
    margin: 1rem 0 0;
}

.jv-highlight {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: #fff7e6;
    color: #8a4d00;
    padding: .5rem .75rem;
    border-radius: .75rem;
    font-weight: 600;
    margin: 1rem 0;
}

/* CTA */
.jv-cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: var(--jv-red);
    color: #fff;
    padding: .9rem 1.2rem;
    border-radius: .9rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(228, 0, 43, .25);
}

.jv-cta:focus {
    outline: 3px solid #ffd1da;
    outline-offset: 2px;
}

.jv-cta small {
    font-weight: 600;
    opacity: .9;
}

/* Blocos */
.jv-section {
    margin: 2.5rem 0;
}

.jv-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .jv-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) {
    .jv-grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

.jv-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .05);
}

.jv-card h5 {
    margin: .25rem 0 .5rem;
    font-size: 1.15rem;
}

.jv-card p {
    margin: 0;
    color: #444;
}

/* Lista com ícones */
.jv-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.jv-li {
    display: grid;
    grid-template-columns: 24px 1fr;
    align-items: start;
    gap: .5rem;
}

.jv-li i {
    margin-top: 2px;
}

/* Tabela acessível opcional para desktop */
.jv-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #eee;
    border-radius: 1rem;
    overflow: hidden;
}

.jv-table th, .jv-table td {
    padding: .9rem;
    border-bottom: 1px solid #f1f1f1;
    vertical-align: top;
}

.jv-table thead th {
    background: #f7f7f7;
    text-align: left;
}

@media (max-width: 768px) {
    .jv-table {
        display: none;
    }
}

/* mostramos cartões no mobile */

/* Cartões de pagamento para mobile */
.jv-paycards {
    display: grid;
    gap: .9rem;
}

@media (min-width: 769px) {
    .jv-paycards {
        display: none;
    }
}

/* Utilitários */
.muted {
    color: #666;
}

.center {
    text-align: center;
}

/* scroll suave para âncoras */
html {
    scroll-behavior: smooth;
}

/* botão secundário (fantasma) para âncora */
.jv-cta--ghost {
    background: transparent;
    color: var(--jv-red);
    border: 2px solid var(--jv-red-dark);
    box-shadow: none;
}

.jv-cta--ghost:hover {
    background: rgba(228, 0, 43, .06);
}

/* se tiveres header fixo, evita que a âncora fique tapada */
#regularizar {
    scroll-margin-top: 80px;
}

/* ajusta 80px ao teu header */
