/*
Theme Name: JSilveira
Theme URI: https://jsilveira.com
Description: Tema desenvolvio exclusivamente para o site do Grupo JSilveira.
Author: RiverLab ("TioRiver Nikolaevich" & "Saory Lancaster")
Author URI: https://riverlab.org
Version: 1.0.0
Tags: Responsivo, CSS3, jQuery, PHP, HTML5, UI, UX, Harmonia de Cores
*/
/* Fontes */
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700&display=swap');

/* Variáveis */
:root {
    --font-color: #222;
    --cor-0: #fff;
    --cor-1: #283e9b;
    --cor-1-hover: #0e2483;
    --cor-2: #f9f9f9;
    --cor-2-hover: #d6d6d6;
    --font: 'Montserrat', Arial, sans-serif;
    --trasition: .2s all ease-in-out;
}

/* Preloader */
.preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--cor-0);
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	z-index: 2000;
}
.spinner-dots {
	width: 70px;
	text-align: center;
}
.spinner-dots span {
	width: 12px;
	height: 12px;
	background-color: var(--cor-1);
	border-radius: 100%;
	display: inline-block;
	-webkit-animation: spinner-dots 1.4s infinite ease-in-out both;
	animation: spinner-dots 1.4s infinite ease-in-out both;
}
.spinner-dots .dot1 {
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.spinner-dots .dot2 {
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
@-webkit-keyframes spinner-dots {
	0%, 80%, 100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	40% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes spinner-dots {
	0%, 80%, 100% {
	-webkit-transform: scale(0);
	transform: scale(0);
	}
	40% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

/* HTML */
body {
    margin: 0;
    padding: 0;
    background: var(--cor-0);
    font-family: var(--font);
    color: var(--font-color);
}
a {
    color: inherit;
    text-decoration: none;
}
* {
    box-sizing: border-box;
    outline: none;
}
img {
    max-width: 100%;
}

/* Especiais */
.mwidth {
    max-width: 1290px;
    padding: 0 10px;
    margin: auto;
}
.mauto {
    margin: auto;
}
.mtop {
    margin-top: 10px;
}
.mtop_20 {
    margin-top: 20px;
}
.mtop_30 {
    margin-top: 30px;
}
.mbottom {
    margin-bottom: 10px;
}
.mbottom_20 {
    margin-bottom: 20px;
}
.mbottom_30 {
    margin-bottom: 30px;
}
.tWrap {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.dontShow {
    display: none!important;
}
.fullScreen {
    width: 100%;
    min-height: 100vh;
}
.justMobile {
    display: none;
}
.hidden {
    display: none;
}

/* Flexbox Framework (Lancaster.io) */
.fbox {
    display: flex;
}
.fbox_inline {
    display: inline-flex;
}
.fbox_column {
    flex-direction: column;
}
.fbox_align_center {
    align-items: center;
}
.fbox_space_between {
    justify-content: space-between;
}
.fbox_center {
    justify-content: center;
}
.fbox_right {
    justify-content: flex-end;
}
.fbox_left {
    justify-content: flex-start;
}
.fbox_start {
    align-items: flex-start;
    align-content: flex-start;
}
.fbox_wrap {
    flex-wrap: wrap;
}

/* Icons */
.lio-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 0.1px), calc(-50% + 0.1px));
}

/* Header */
.mainHeader {
    padding: 15px 0;
    background: #fff;
    position: relative;
    z-index: 2;
}
.mainHeader.bottom_bar {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.closeMenuMobile {
    font-size: 31px;
    position: fixed;
    right: 20px;
    top: 50px;
    z-index: 999999999;
    cursor: pointer;
    display: none;
}
.MenuMobile {
    font-size: 31px;
    cursor: pointer;
    display: none;
}
.mHeaderLogo {

}
.mHeaderLogo img {

}
.mHeaderMenus {

}
.mHeaderMenus ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    text-transform: uppercase;
    font-size: 13px;
}
.mHeaderMenus ul li {
    margin-right: 5px;
    border-radius: 3px;
    position: relative;
}
.mHeaderMenus ul li:last-child {
    margin-right: 0;
}
.mHeaderMenus ul li a {
    padding: 10px;
    display: block;
}
.mHeaderMenus ul li ul {
    display: none;
}
.mHeaderMenus ul li.menu-item-has-children:hover ul {
	display: block;
    background: #fff;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    box-shadow: 0px 3px 4px #ccc;
    border-radius: 4px;
    overflow: hidden;
    text-align: center;
}
.mHeaderMenus ul li.menu-item-has-children ul li {
    width: 100%;
}
.mHeaderMenus ul li.menu-item-has-children ul li:hover {
    background: #ccc;
}

/* BG Header */
.headerBG {
    height: 650px;
    background: url(img/sliders/default.webp);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -150px;
}
.headerBGSub {
    background: var(--cor-1);
    color: var(--cor-0);
    padding: 20px 0;
}
.headerBGSub_item {
    border-right: 1px solid #fff;
    padding: 10px 30px;
    width: calc(100%/3);
}
.headerBGSub_item:last-child {
    border: none;
}
.headerBGSub_item h3 {
    padding: 0;
    margin: 0 0 10px;
    font-weight: lighter;
    text-align: center;
    text-transform: uppercase;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.headerBGSub_item h3 i {
    margin-right: 10px;
    font-size: 24px;
}
.headerBGSub_item span {
    font-size: 13px;
    display: block;
    text-align: center;
    opacity: .7;
}

/* Slider */
.slider {

}
.slider_item {
    width: 100%;
    height: 650px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover!important;
    background-position: center!important;
    background-repeat: no-repeat!important;
    position: relative;
}
.slider_item::before {
    width: 100%;
    height: 100%;
    display: block;
    content: '';
    background: rgba(0, 0, 0, .5);
    position: absolute;
    top: 0;
    left: 0;
}
.slider_title {
    position: relative;
    z-index: 2;
    font-size: 35px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
}

/* Seja Bem Vindo */
.welcomeContainer {
    padding: 100px 0;
}
.welcomeContainer .left {
    width: 200px;
    max-width: 200px;
    margin-right: 50px;
}
.welcomeVistoriaContainer {
    width: 300px;
    background: var(--cor-1);
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    transition: var(--trasition);
    height: 193px;
}
.welcomeVistoriaContainerSpecial {
    background: var(--cor-1);
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    transition: var(--trasition);
}
.welcomeVistoriaContainer:hover {
    background: var(--cor-1-hover);
}
.welcomeVistoriaContainerTitle {
    padding: 15px 10px 10px;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}
.welcomeVistoriaLink {
    width: 100%;
    display: block;
    padding: 15px 10px;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    margin-top: 20px;
    background: var(--cor-1);
}
.welcomeVistoriaContainer img {
    display: block;
}
.welcomeVistoriaContainer a,
.welcomeVistoriaContainerSpecial a {
    display: block;
    text-align: center;
    padding: 10px;
    text-transform: uppercase;
    font-size: 13px;
    color: #fff;;
    font-weight: bolder;
}
.welcomeContainer .right {
    width: 500px;
    max-width: 500px;
}
.welcomeContainer .right h1 {
    padding: 0;
    margin: 0 0 20px 0;
    font-size: 20px;
    text-align: center;
    font-weight: 500;
}
.welcomeContainer .right span {
    text-align: justify;
    display: block;
    font-size: 14px;
}
.sliderAbout {
    height: 147px;
    overflow: hidden;
    position: relative;
}
.welcomeVistoriaContainer:hover .sliderAbout::before {
	border-color: #0e2483;
}
.sliderAbout::before {
    content: '';
    display: block;
    width: 290px;
    height: 140px;
    position: absolute;
    top: 0px;
    left: 0px;
    border: 5px solid #283e9b;
    z-index: 1;
}

/* Somos a melhor solucao */
.bestSolution {
    background: var(--cor-2);
    padding: 100px 0;
}
.bestSolutionThreeItem {
    margin-right: 30px;
    text-align: center;
}
.bestSolutionThreeItem:last-child {
    margin-right: 0;
}
.bestSolutionTitle {
    text-align: center;
    font-size: 26px;
    font-weight: 500;
    text-transform: uppercase;
    width: 500px;
    max-width: 500px;
    margin: 0 auto 30px;
}
.bestSolutionPretext {
    width: 800px;
    max-width: 800px;
    margin: 0 auto 30px;
    font-size: 15px;
    opacity: .8;
}
.BSTIIcon {
    font-size: 50px;
    color: var(--cor-1);
    text-align: center;
    margin-bottom: 20px;
}
.BSTITitle {
    font-weight: lighter;
    text-transform: uppercase;
    font-size: 18px;
    width: 200px;
    max-width: 200px;
    margin: 0 auto 30px;
}
.BSTIParagraph {
    max-width: 300px;
    font-size: 13px;
    opacity: .8;
}

/* Marcas que Usamos */
.marcasHome {
    padding: 100px 0;
}
.titleMarcas {
    width: 475px;
    font-size: 26px;
    text-align: center;
    margin: 0 auto 20px;
}
.marcasHomeContainer {

}
.marcasHomeItem {
    width: calc(100% / 4);
    padding: 10px;
    opacity: .5;
    transition: var(--trasition);
    cursor: pointer;
}
.marcasHomeItem:hover {
    opacity: 1;
}
.marcasHomeItem img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Pages */
.pageContainer {
    padding: 100px 0;
}
.pageTitle {
    text-align: center;
    font-size: 26px;
    font-weight: 500;
    padding: 0;
}
.pageContent {

}

/* Whatsapp Flotabox */
.whatsappButton {
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 15px;
    right: 15px;
    background: #25d366;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.8);
    -webkit-animation: pulse 2.25s infinite cubic-bezier(0.66, 0, 0, 1);
    -moz-animation: pulse 2.25s infinite cubic-bezier(0.66, 0, 0, 1);
    -ms-animation: pulse 2.25s infinite cubic-bezier(0.66, 0, 0, 1);
    animation: pulse 2.25s infinite cubic-bezier(0.66, 0, 0, 1);
    z-index: 98;
}
.icoWhatsapp {
    background: url(img/wpp.png) no-repeat;
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 0.1px), calc(-50% + 0.1px));
}
@-webkit-keyframes pulse {
    to {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
}
@-moz-keyframes pulse {
    to {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
}
@-ms-keyframes pulse {
    to {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
}
@keyframes pulse {
    to {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
}

/* Footer */
.mainFooter {
    padding: 40px 0 30px;
}
.mainFooter.top_bar {
    background: #2F2E2E;
    color: rgb(160,160,159);
}
.footerItem {

}
.footerItem h3 {
    text-align: left;
    margin: 0 0 5px;
}
.footerContatos {
    text-align: center;
}
.footerContatos a {
    margin-bottom: 3px;
    cursor: pointer;
    font-size: 13px;
}
.footerEndereco {
    font-size: 13px;
}
.footerContatos a {
    margin-bottom: 3px;
    cursor: pointer;
    font-size: 13px;
}
.footerEndereco {
    font-size: 13px;
}
.socialShare a {
    padding: 5px 5px 0px;
    border-radius: 4px;
    background: var(--cor-1);
    color: var(--cor-0);
    transition: var(--trasition)
}
.socialShare a:hover {
    background: var(--cor-1-hover);
}
.socialBG {
    font-size: 25px;
    margin-right: 5px;
    display: inline-block;
}
.secondFooter {
    /* border-top: 1px solid rgba(0, 0, 0, .1); */
    color: #fff;
    background: #242323;
    padding: 20px;
    text-align: center;
    font-size: 13px;
}

/* Menu - Footer */
#menu-footer {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
}
#menu-footer li {
    margin-bottom: 5px;
}
#menu-footer li:last-child {
    margin-bottom: 0;
}

/* Pages */
/* Sobre */
.paginaSobre {
    padding: 100px 0;
}
.paginaTitle {
    text-align: center;
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 20px;
}
.paginaSobreContent {
    max-width: 800px;
}
.paginaSobreContent .left {
    max-width: 500px;
    margin-right: 50px;
    text-align: justify;
    font-size: 14px;
}
.paginaSobreContent .left p {
    margin-top: 0;
}

/* Seguros */
.chooseSeguros {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.segurosItem {
    display: block;
    width: 246px;
    height: 130px;
    text-align: center;
    border: 3px solid var(--cor-1);
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    transition: var(--trasition);
    padding: 10px;
}
.segurosItem:hover {
    background: var(--cor-1);
    color: #fff;
}
.segurosPageChoose {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.segurosPageChoose a {
    display: block;
    width: 246px;
    height: 130px;
    text-align: center;
    border: 3px solid var(--cor-1);
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    transition: var(--trasition);
    padding: 10px;
}
.segurosPageChoose a:hover {
    background: var(--cor-1);
    color: #fff;
}

/* Parceiros */
.parceirosList {
    display: flex;
    flex-wrap: wrap;
    max-width: 950px;
}
.parceirosList img {
	width: 100%;
	height: 100%;
	display: block;
}
.novaborda {
    width: calc(100% / 5 - 18px);
    margin-right: 20px;
    margin-bottom: 24px;
	position: relative;
	transition: var(--trasition);
}
.novaborda:nth-child(5n+5) {
	margin-right: 0;
}
.novaborda:hover {
	opacity: .5;
}
.novaborda .bugfix::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid var(--cor-1);
}
.novaborda .bugfix {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid #fff;
    border-left: 5px solid #fff;
    border-right: 5px solid #fff;
}

/* Faca sua cotacao */
.formCotacao {
    max-width: 500px;
    width: 100%;
}
.formCotacao form {
    display: flex;
    flex-direction: column;
}
.formCotacao form input {
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, .1);
    margin-bottom: 10px;
    font-family: var(--font);
}
.formCotacao form select {
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, .1);
    margin-bottom: 10px;
    font-family: var(--font);
}
.formCotacao form textarea {
    width: 100%;
    border: 1px solid rgba(0, 0, 0, .1);
    padding: 10px;
    margin-bottom: 10px;
    font-family: var(--font);
    resize: vertical;
}
.formCotacao form button {
    padding: 10px;
    font-family: var(--font);
    font-weight: bolder;
    background: var(--cor-1);
    color: #fff;
    border: none;
    display: inline-block;
    border-radius: 2px;
    cursor: pointer;
    transition: var(--trasition);
}
.formCotacao form button:hover {
    background: var(--cor-1-hover);
}

/* Contato */
.saibacomochegar {
    background: rgba(0, 0, 0, .05);
    padding: 50px;
    text-align: center;
}
.titlesaibacomo {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.enderecosaibacomo {
    font-size: 13px;
    margin-bottom: 10px;
}
.googlemaps {
    max-width: 800px;
    margin: auto;
}

/* Media Querys */
/* 1110 */
@media (max-width: 1110px) {
    .MenuMobile {
        font-size: 31px;
        cursor: pointer;
        display: block;
        position: absolute;
        top: 50%;
        left: 30px;
        transform: translateY(-50%);
    }
    .mainHeader .mwidth {
        position: relative;
    }
    .mainHeader .fbox {
        justify-content: center;
    }
    .headerBG {
        display: none;
    }
    .mHeaderMenus {
        display: none;
        width: 100%;
        height: 100vh;
        position: fixed;
        z-index: 99999999;
        background: #fff;
        top: 0;
        left: 0;
        color: #000;
    }
    .mHeaderMenus ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        text-transform: uppercase;
        font-size: 13px;
        flex-direction: column;
        width: 100%;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }
    .mHeaderMenus ul li a:hover {
        background: #ccc;
        border-radius: 4px;
    }
    .mHeaderMenus ul li.menu-item-has-children ul,
    .mHeaderMenus ul li.menu-item-has-children:hover ul {
        position: inherit;
        height: auto;
        text-align: center;
        display: block;
        top: 0;
        left: 0;
    }
	.mainFooter .mwidth .fbox {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
	.footerItem h3 {
		text-align: center;
	}
}
/* 1024 */
@media (max-width: 1024px) {
    .mainHeader {
        border-bottom: 1px solid rgba(0, 0, 0, .1);
    }
    .headerBGSub {
        display: none;
    }
}
/* 890 */
@media (max-width: 890px) {
    .bestSolutionThree {
        flex-direction: column;
    }
    .bestSolutionThreeItem {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .mainFooter .mwidth .fbox {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
    .footerItem {
        margin-bottom: 10px;
    }
    .marcasHomeContainer {
        flex-direction: column;
        text-align: center;
        justify-content: center;
    }
    .marcasHomeItem {
        margin: auto;
    }
    .bestSolutionTitle, .titleMarcas, .welcomeContainer .right, .bestSolutionPretext {
        max-width: 100%;
    }
    .welcomeContainer {
        flex-direction: column-reverse;
    }
    .welcomeContainer .right {
        margin-bottom: 20px;
    }
    .welcomeContainer .left {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .paginaContent {
        flex-direction: column;
    }
    .paginaSobreContent .left {
        margin-right: 0px;
    }
}
/* 425 */
@media (max-width: 425px) {
    .segurosPageChoose a {
        width: 100%;
    }
}