/*Font*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
/*Font*/

/*Reset*/
* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none!important;
	box-sizing: border-box;
}

body {
	color: #1515151;
	font-family: 'Montserrat', sans-serif;
	text-decoration: none!important;
	overflow-x: hidden;
}

button {
	cursor: pointer;
}

.container {
    width: 1440px;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin: auto;
}

.row {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(12, 1fr);
    gap: 15px;
}

.row>div {
    width: 100%;
}

.w-12 {
	grid-column: span 12;
}

.w-11 {
	grid-column: span 11;
}

.w-10 {
	grid-column: span 10;
}

.w-9 {
	grid-column: span 9;
}

.w-8 {
	grid-column: span 8;
}

.w-7 {
	grid-column: span 7;
}

.w-6 {
	grid-column: span 6;
}

.w-5 {
	grid-column: span 5;
}

.w-4 {
	grid-column: span 4;
}

.w-3 {
	grid-column: span 3;
}

.w-2 {
	grid-column: span 2;
}

.w-1 {
	grid-column: span 1;
}

body {
    background-color: #fff;
    padding-top: 120px;
}
/*Reset*/

/*Navbar*/
nav {
    background: #023F88;
    padding-top: 15px;
    padding-bottom: 15px;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 5;
    position: fixed;
	transition: all .4s;
}

.container-nav {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    transition: all .4s;
}

img.logo-min {
    display: none;
}

nav.stick img.logo-min {
    display: initial;
}

nav.stick img.logo-full {
    display: none;
}

.logo-menu {
    display: flex;
    min-width: 160px;
}

.logo-menu a {
    margin: auto;
    margin-left: 0;
}

.ent-menu-responsivo {
    width: 100%;
    display: flex;
}

button.close-menu, button.open-menu {
    display: none;
}

.ent-menu-responsivo ul {
    list-style: none;
    display: inline-flex;
    margin: auto;
    margin-right: 35px;
}

.ent-menu-responsivo ul a {
    height: 90px;
    line-height: 90px;
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    font-weight: 500;
    opacity: 0.7;
    position: relative;
    transition: all .2s;
}

.ent-menu-responsivo ul li {
    margin-left: 15px;
}

.ent-menu-responsivo ul a::after {
    content: '';
    display: block;
    position: absolute;
    top: 65px;
    width: 0;
    border-bottom: 2px solid #fff;
    right: 0;
    transition: all .4s;
}

.ent-menu-responsivo ul a:hover, .ent-menu-responsivo ul a.active {
    opacity: 1;
}

.ent-menu-responsivo ul a:hover:after, .ent-menu-responsivo ul a.active:after {
    width: 70%;
}

.social-menu {
    display: flex;
}

.social-menu a {
    width: 60px;
    display: block;
    margin: auto;
    height: 60px;
    text-align: center;
    line-height: 60px;
    background-color: #008FDD;
    color: #fff;
    font-size: 24px;
    border-radius: 19px;
    transition: all .4s;
}

.social-menu a:hover {
    color: #008FDD;
    background-color: #fff;
}

nav.stick .ent-menu-responsivo ul a {
    line-height: 70px;
    height: 70px;
}

nav.stick .ent-menu-responsivo ul a::after {
    top: 50px;
}

nav.stick {
    position: fixed;
    width: 80%;
    left: 10%;
    top: 50px;
    border-radius: 30px;
}

nav.stick .container.container-nav {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

@media (max-width: 980px) {
	.ent-menu-responsivo {
	    position: fixed;
	    left: 0;
	    top: 0;
	    background-color: #fff;
	    margin: 0;
	    display: block;
	    padding-top: 20px;
	    margin-top: -150vw;
	    transition: all .2s;
	}

	.ent-menu-responsivo ul {
	    margin: 0;
	    display: block;
	    width: 100%;
	    padding-bottom: 20px;
	    padding-top: 20px;
	}

	.ent-menu-responsivo ul li {
	    margin: 0;
	    width: 100%;
	    display: block;
	    border-bottom: 1px solid #f1f1f1;
	    max-width: 90%;
	    margin: auto;
	}

	.ent-menu-responsivo ul a {
	    color: #333;
	    height: 50px;
	    line-height: 50px;
	}

	.ent-menu-responsivo ul a::after {
	    border-bottom: 2px solid #333;
	    top: 40px;
	    left: 0;
	    right: auto;
	    max-width: 35px;
	}

	button.close-menu, button.open-menu {
	    display: block;
	    height: 60px;
	    line-height: 60px;
	    width: 60px;
	    border-radius: 19px;
	    font-size: 22px;
	    background-color: #e4f0ff;
	    color: #023F88;
	    margin: auto;
	    margin-left: 10px;
	}

	button.close-menu {
	    margin: auto;
	}

	.ent-menu-responsivo.active {
	    margin: 0;
	}

	.social-menu {
	    margin: auto;
	    margin-right: 0;
	}

	nav.stick {
	    width: 100%;
	    margin: auto;
	    left: 0;
	    top: 0;
	    border-radius: 0px 0px 30px 30px;
	}

	nav.stick .container.container-nav {
	    padding-left: 15px;
	    padding-right: 15px;
	}
}

/*Header*/

.image-50-w {
    position: absolute;
    left: 0;
    width: 50vw;
    max-width: 100%;
    height: 100%;
    z-index: 3;
    top: 0;
}

header, section {
    position: relative;
}

img.img-full-fit {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    object-position: center;
}

header .image-50-w img {
    position: absolute;
    right: 0;
    top: 50px;
}

header .image-50-w img.img-full-fit {
    top: 0;
    left: 0;
    right: 0;
}

.ent-text-header {
    padding: 150px;
    text-align: center;
    position: relative;
    z-index: 3;
    padding-bottom: 250px;
}

.ent-text-header img {
    position: absolute;
    bottom: 50px;
    left: 50px;
}

header::after {
    content: '';
    display: block;
    width: 50vw;
    height: 150px;
    background-color: #023F88;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
}

h1, h2 {
    color: #052E61;
    text-transform: uppercase;
    font-size: 35px;
    font-weight: 400;
    line-height: 35px;
    margin-bottom: 20px;
}

strong {
    font-weight: 900;
}

p {
    color: #008FDD;
    font-size: 18px;
    margin-bottom: 10px;
}

button {
    padding: 20px;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    background-color: #023f88;
    font-family: 'Montserrat', sans-serif;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 23px;
    transition: all .2s;
}

button:hover {
    background-color: #008fdd;
}

header button {
    margin-top: 30px;
}

header::before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    background-color: #f9f9f9;
    height: 100%;
    width: 13%;
    background-image: url('images/png-icon.webp');
	background-position: center -150px;
    background-size: cover;
}

/*Divisor header*/
.divider-header {
    background-image: url(images/png-icon.webp);
    background-position: 90% 40%;
    background-color: #f9f9f9;
    height: 150px;
}

/*Sobre*/
.image-50-w-invert {
    left: auto;
    right: 0;
}

.image-50-w-spaced {
	top: 0;
}

.image-50-w-spaced img {
    padding-top: 10%;
    padding-bottom: 10%;
}

section#sobre {
    padding-top: 100px;
    padding-bottom: 100px;
}

section#sobre h2, section#sobre p {
    width: 500px;
    max-width: 90%;
    margin-bottom: 20px;
}

section#sobre p {
    color: #333;
}

section#sobre p strong {
    color: #023f88;
}

/*Divisor sobre*/
.divider-sobre {
    background-image: url(images/3-1.webp);
    height: 150px;
    background-color: #008fdd;
    background-position: center;
    background-repeat: no-repeat;
}

/*Por que escolher a HPP*/
section#porque {
    background-color: #052E61;
}

section#porque * {
    color: #fff;
}

.w-6.w-cards-icons {
    padding: 100px;
    padding-right: 0;
}

.w-6.w-cards-icons h2 {
	font-size: 28px;
	font-weight: 900;
}

.row.row-cards {
    margin-top: 50px;
    display: grid;
    align-items: center;
    gap: 31px;
}

section#porque::before {
    content: '';
    display: block;
    position: absolute;
    right: -140px;
    top: -77px;
    z-index: 1;
    background-color: transparent;
    height: 127%;
    width: 35%;
    background-image: url(images/png-icon.webp);
    background-position: center -175px;
    background-size: cover;
    opacity: 0.1;
    background-repeat: no-repeat;
    transform: rotate(93deg);
}

.w-6.w-cards-icons img {
    display: block;
    margin: auto;
    height: 50px;
    margin-left: 0;
}

/*Modelos de bombas*/
.produtos-carrosel {
    padding-top: 100px;
    padding-bottom: 100px;
}

.produtos-carrosel p {
    margin-bottom: 50px;
}

p.dark {
    color: #333;
}

p {
    font-weight: 500;
}

.slick-slide img {
    max-width: 100%;
}

.produto-card.slick-slide {
    filter: blur(5px);
    transform: scale(.5);
    transition: all .4s;
}

.produto-card.slick-slide.slick-current.slick-active.slick-center {
    filter: initial;
    transform: scale(1);
}

.carrosel-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}

.carrosel-buttons ul {
    list-style: none;
}

span.nome-produto {
    background-color: #c8ecff;
    display: block;
    padding: 20px;
    padding-right: 30px;
    padding-left: 30px;
    color: #008fdd;
    font-weight: 900;
    border-radius: 25px;
    text-transform: uppercase;
    margin-left: 20px;
    margin-right: 20px;
}

span.btn-slider {
    height: 59px;
    display: block;
    width: 59px;
    text-align: center;
    line-height: 59px;
    background-color: #0f4cd9;
    border-radius: 25px;
    color: #fff;
    font-size: 17px;
    cursor: pointer;
    transition: all .2s;
}

span.btn-slider:hover {
    background-color: #052E61;
}

.carrosel-buttons ul {
    padding: 0;
}

/*Aplicações*/
section#aplicacoes {
	padding-top: 100px;
	padding-bottom: 100px;
}

section#aplicacoes h2, section#aplicacoes p {
    width: 700px;
    max-width: 90%;
    margin-bottom: 20px;
}

section ul {
    padding-left: 30px;
}

/*contato*/
section#contato {
    background-color: #052e61;
    margin-top: 100px;
    text-align: center;
    padding-top: 70px;
    padding-bottom: 70px;
}

section#contato h2 {
    color: #fff;
    font-weight: 900;
}

button.btn-contact {
    background-color: #008fdd;
    font-size: 20px;
    font-weight: 700;
}

button.btn-contact:hover {
    background: #fff;
    color: #052e61;
}

footer {
    background-color: #052e61;
    padding-top: 70px;
}

footer * {
    color: #fff;
    text-decoration: none;
    list-style: none;
}

footer h3 {
    margin-bottom: 10px;
}

footer p {
    font-size: 16px;
    line-height: 27px;
}

footer strong {
    font-weight: 700;
}

.footer-copy {
    margin-top: 70px;
    text-align: center;
    background-color: #023f88;
    padding-top: 20px;
    padding-bottom: 20px;
}

.footer-copy p {
    padding: 15px;
    margin: 0;
}

.footer-copy p a {
    font-weight: 800;
}

footer ul a {
    margin-bottom: 10px;
    display: inline-block;
    font-weight: 600;
    opacity: 0.7;
}

footer ul a:hover {
    opacity: 1;
}

footer img {
    display: block;
    margin: auto;
    margin-left: 0;
    margin-bottom: 30px;
}

p.social-links a {
    display: inline-block;
    font-size: 28px;
    margin-bottom: 10px;
}

p.social-links strong {
	display: block;
}

/*Botão go-top*/
button.go-top {
    position: fixed;
    right: 50px;
    bottom: 50px;
    width: 60px;
    height: 60px;
    padding: 0;
    z-index: 6;
    background-color: #1e69ff;
    transition: all .2s;
    margin-right: -200px;
}

button.go-top.active {
    margin: 0;
}

/*Outros segmentos*/
.card-saneamento {
	background-image: url('images/4-1.webp');
	background-position: center;
	background-size: cover;
}

.w-3.image-saneamento {
    grid-row: span 2;
}

.card-icons {
    border-radius: 30px;
    background-color: #052e61;
    height: 100%;
    padding: 26px;
    text-align: center;
    display: flex;
    flex-direction: column;
    min-height: 250px;
}

.card-icons.color-2 {
	background-color: #008FDD;
}

.card-icons h3 {
    color: #fff;
    margin: auto;
    margin-bottom: 0;
}

.card-icons img {
    margin: auto;
    display: block;
}

section.setores {
    padding-top: 100px;
    padding-bottom: 100px;
}

section.setores p {
    margin-bottom: 40px;
}

.w-6.bomba-card img {
    width: 100%;
    display: block;
    margin-bottom: 20px;
}

.w-6.bomba-card h3 {
    margin: auto;
    display: inline-block;
    width: fit-content;
    background-color: #c8ecff;
    padding: 20px;
    padding-right: 30px;
    padding-left: 30px;
    color: #008fdd;
    font-weight: 900;
    border-radius: 25px;
    text-transform: uppercase;
    font-weight: 500;
}

.w-6.bomba-card {
    display: flex;
    flex-direction: column;
}

.w-6.bomba-card h3 strong {
    color: #023f88;
}


/*Formulario de contato*/
#contactForm {
    background-image: url('images/fundo.jpg');
    background-position: center;
    background-size: cover;
}

section#contactForm .container {
    width: 1050px;
    max-width: 100%;
}

.divider-header.divider-contato {
    height: 250px;
}

.card-icons.card-saneamento {
    background: #052e61;
}

.card-icons h3 {
    margin: 0;
}

/*Responsivo Geral*/
@media (max-width: 1400px) {
    nav.stick {
        width: 100%;
        margin: 0;
        left: 0;
        top: 0;
        border-radius: 0px 0px 30px 30px;
    }
}

@media (max-width: 980px) {
    section#contactForm form .row.contact-row {
        display: block;
    }

    textarea#mensagem {
        min-height: 200px;
        margin-bottom: 30px;
    }

    section#contactForm form button {
        width: 50%;
        left: 25%;
    }

	button.close-menu, button.open-menu {
	    padding: 13px;
	    padding-top: 2px;
	}

	.row>div {
	    grid-column: span 12;
	}

	.image-50-w {
	    position: initial;
	    height: auto;
	    margin-left: -15px;
	    margin-right: -15px;
	    width: 100vw;
	    max-width: inherit;
	}

	header .image-50-w img {
	    position: inherit;
	    float: right;
	}

	img.img-full-fit {
	    width: 100%;
	    max-width: 100%;
	    object-fit: cover;
	}

	header::before {
	    display: none;
	}

	.ent-text-header {
	    padding: 0;
	    padding-bottom: 250px;
	    padding-top: 50px;
	}

	header::after {
	    width: 100%;
	}

	.ent-text-header img {
	    left: 0;
	    width: 100%;
	    bottom: 80px;
	}

	.divider-header {
	    height: 100px;
	}

	section#sobre {
	    padding-top: 50px;
	    padding-bottom: 50px;
	}

	img.img-full-fit {
	    position: relative;
	}

	.w-6.w-cards-icons {
	    padding: 0;
	    padding-top: 50px;
	    padding-bottom: 50px;
	}

	section#porque::before {
	    display: none;
	}

	.row.row-cards>div.w-1 {
	    grid-column: span 3;
	}

	.row.row-cards>div.w-5 {
	    grid-column: span 9;
	}

	section#modelos {
	    padding-bottom: 0;
	}

	section#aplicacoes {
	    padding-bottom: 0;
	}

	h1, h2 {
	    font-size: 25px;
	    line-height: 30px;
	}

	p {
	    font-size: 15px;
	}

	section#contato h2 {
	    font-size: 16px;
	    line-height: 20px;
	}

	button.btn-contact {
	    font-size: 14px;
	}

	button.go-top {
	    border-radius: 24px 0px 0px 24px;
	    right: 0;
	    bottom: 93px;
	}
}