@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&display=swap');

:root {
    --header-height: 60px;
    --footer-height: 180px;
    --trd-purple: #261079;
    --trd-dark-blue: #170361;
    --trd-light-blue: #1f9ad8;
}

body {
    font-family: 'Open Sans',sans-serif;
    max-width: 100vw;
    overflow-x: hidden;
}
p {
    line-height: 28px;
}
a {
    text-decoration: unset;
}

* {
scrollbar-width: thin;
scrollbar-color: var(--trd-light-blue) #ececec;
}
*::-webkit-scrollbar {
    width: 10px;
}
*::-webkit-scrollbar-track {
    background: #ffffff;
}
*::-webkit-scrollbar-thumb {
    background-color: #c0c0c0;
    border-radius: 10px;
    border: 5px ridge #ffffff;
}
.pad-1h-5vw {
    padding: var(--header-height) 5vw;
}
.pad-5vw {
    padding: 0 5vw;
}

/*Header*/
header {
    background-color: #fff;
    box-shadow: rgba(0, 0, 0,0.3) 0 1px 0;
    position: fixed;
    width: 100%;
    z-index: 10000;
}
header,
header [class*="col-"],
header .nav {
    height: var(--header-height);
}
header img {
    max-height: var(--header-height);
    padding-left: 24px;
}
header .nav-link {
    padding-top: 18px;
    padding-bottom: 15px;
    font-size: 16px;
    font-weight: 600; 
    line-height: 24px;
    color: var(--trd-light-blue);
    border-bottom: 3px solid transparent;
}
header .nav-link:hover{
    color: var(--trd-light-blue);
}
header .nav-link.active{
    color: var(--trd-dark-blue) !important;
}
header .nav-underline .nav-link:hover,
header .nav-link.active {
    border-bottom: 3px solid;
}
header .nav-link:focus,
header .nav-link:hover {
    color: var(--trd-light-blue);
    border-bottom: 3px solid transparent;
}
header .dropdown-menu {
    border-radius: 0;
    min-width: 100%;
}
header .dropdown-menu .super-category {
    font-weight:600;
}
header .dropdown-menu .super-category:not(:first-child) {
    margin-top: 5px;
    border-top: 1px rgba(23, 3, 97, 0.3) solid;
}

/*Hero Image*/
#hero {
    height: 70vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#hero h1,
#hero h4,
#hero p {
    padding-left: 5vw;
    color:#fff;
}
#hero h1,
#hero h4 {
    font-weight: 600;
}
/*About us*/
#sobre {
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
    background-color: rgba(31, 154, 216, 0.1);
}
#sobre p,
#sobre h2 {
    padding-left: 5vw;
}
#sobre h2 {
    font-weight: 600;
}
#sobre img {
    padding: 0 5vw;
}

/*Services*/
#servicos .responsive-square {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
#servicos .responsive-square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
#servicos .responsive-square-content {
    position: absolute;
    padding:1vw;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0,0.3);
    color:#fff;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
}
#servicos .responsive-square:hover .responsive-square-content{
    opacity: 1;
    visibility: visible;
}
#servicos .responsive-square-button {
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 18px;
    border-bottom: 3px #fff solid;
}
#servicos .iconography {
    font-size: 40px;
    margin-bottom: 10px;
}

/*Products*/
#produtos {
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
    background-color: rgba(31, 154, 216, 0.1);
}
#produtos h2 {
    padding-left: 5vw;
    font-weight: 600;
}
#produtos .swiper {
    width: 90vw;
    padding: 5px;
    margin-left: 5vw;
    margin-right: 5vw;

}
#produtos .square {
    aspect-ratio: 1 / 1;
    width: 100%;
    max-height: 100%;
    margin-bottom: 20px;

    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center; 
}
#produtos .slider-card {
    padding: 20px;
    background-color: #fff;
    box-shadow: 1px 1px 2px 2px rgba(23, 3, 97, 0.3);
}
#produtos .slider-card h5 {
    text-decoration: unset;
    font-weight: 600;
    color: #000;
    margin-bottom: 3px;
    height: 2.5rem;
}
#produtos .slider-card p {
    color: #000;
}
#produtos button {
    background-color: transparent;
    color: var(--trd-dark-blue);
    border: none;
    font-size: 18px;
    border-bottom: 3px var(--trd-dark-blue) solid;
}
#produtos .swiper-button-prev,
#produtos .swiper-button-next {
    color: var(--trd-light-blue);
}

/*Contacts*/
#contactos{
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
    background-color: var(--trd-dark-blue);
}
#contactos .map-container{
    padding-left: 5vw;
    padding-right: 5vw;
}
#contactos .map-container #map{
    height: 300px;
    width: 100%;
}
#contactos h2 {
    padding-left: 5vw;
    font-weight: 600;
    color: #fff;
}
#contactos h3 {
    padding-left: 5vw;
    font-weight: 600;
    color: #fff;
}
#contactos ul {
    padding-left: 5vw;
    list-style: none;
}
#contactos ul li {
    margin-bottom: 1rem;
}
#contactos ul li a {
    color: #fff;
}
#contactos ul li a i {
    margin-top: 4px;
    margin-right: 1rem;
}
#contactos ul li a:last-child i {
    margin-right: 1.5rem;
    vertical-align: top;
}
#contactos ul li a:last-child div {
    display:inline-block;
}
#contact-form .form-control,
#contact-form .form-check-input[type="checkbox"] {
    border-radius: 0;
}
#contact-form label {
    color:#fff;
}
#contact-form div {
    width: calc(100% - 5vw);
}
#contact-form button[type=submit] {
    padding: 5px 15px;
    float: right;
    background-color: var(--trd-light-blue);
    color: #fff;
    border: 1px var(--trd-light-blue) solid;
    transition: all 0.2s;
}
#contact-form button[type=submit]:hover {
    color: var(--trd-light-blue);
    background-color: #fff;
    border: 1px #fff solid;
}

/*Footer*/
footer {
    min-height: var(--header-height);
    padding: 20px 5vw;
    color: var(--trd-dark-blue);
}
footer a {
    color: var(--trd-dark-blue);
}
footer .facebook-url {
    float: right;
    color: #4267B2;
}
footer.inverted {
    background-color: var(--trd-dark-blue);
    color: #FFF;
}
footer.inverted a{
    color: #FFF;
}

/*Menu Mobile*/
#menu-mobile {
    z-index:11;
    height:100vh;
    width:200px;
    position: absolute;
    background-color: rgba(255,255,255,0.9);
    right:-200px;
    transition: all 0.3s;
}
#menu-mobile .nav-link {
    text-wrap: balance;
}
#menu-mobile.open {
    right:0;
    overflow-y: scroll;
}
#menu-mobile .nav {
    flex-flow: column;
}
#menu-mobile .collapse {
    border-top: 1px solid var(--trd-light-blue);
    border-bottom: 1px solid var(--trd-light-blue);
    padding-left: 3vw;
}

#menu-mobile ul .super-category:not(:first-child) {
    margin-top: 5px;
    border-top: 1px rgba(23, 3, 97, 0.3) solid;
}

@media only screen and (max-width: 991px) {
    #hero h1, #hero h4, #hero p {
        padding-right: 5vw;
    }
    #sobre p {
        padding-right: 5vw;
    }
    #servicos .responsive-square-content{
        opacity: 1;
        visibility: visible;
    }
    #contact-form div {
        width: calc(100% - 10vw);
        margin-left: 5vw;
    }
}

/*Pages*/
#page-content {
    padding-top: calc(var(--header-height) * 2);
    padding-bottom: var(--header-height);
    background-color: rgba(31, 154, 216, 0.1);
}
#page-content p,
#page-content h1 {
    padding-left: 5vw;
}
#page-content h1 {
    font-weight: 600;
}
#page-content img {
    padding: 0 5vw;
}

.page-section {
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
}
.page-section:nth-child(odd)  p,
.page-section:nth-child(odd)  h2 {
    padding-left: 5vw;
}
.page-section:nth-child(even) {
    background-color: rgba(31, 154, 216, 0.1);
}
.page-section:nth-child(even) p,
.page-section:nth-child(even) h2 {
    padding-right: 5vw;
}

.page-section h2 {
    font-weight: 600;
}
.page-section .swipper-slider {
    overflow: hidden;
    position: relative;
}
@media only screen and (max-width: 991px) {
    .page-section:nth-child(even) p,
    .page-section:nth-child(even) h2 {
        padding-left: 5vw;
        padding-right: 0;
    }
}

/*Products*/
.product-side-menu {
    list-style: none;
    border: 1px solid var(--trd-light-blue);
    box-shadow: rgba(31, 154, 216, 0.1) 1px 1px 2px 2px;
    padding: 0;
}
.products-side-menu-title {
    font-weight: 600;
    color: var(--trd-dark-blue);
}
.product-side-menu li {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--trd-light-blue);
}
.product-side-menu li a {
    display: block;
    width: 100%;
    padding: 15px 15px 15px 15px;
    color: var(--trd-light-blue);
    border-bottom: 3px solid transparent;
}
.product-side-menu li a:hover {
    border-bottom: 3px solid var(--trd-light-blue);
}
.product-side-menu li a i {
    float: right;
    padding: 4px;
}
.product-side-menu .super-category {
    background-color: rgba(23, 3, 97, 0.05);
}

.product-grid .product-card {
    padding: 20px;
    margin-bottom: 20px;
    background-color: #fff;
    box-shadow: 1px 1px 2px 2px rgba(23, 3, 97, 0.3);
}
.product-grid .product-card h5 {
    text-decoration: unset;
    font-weight: 600;
    color: #000;
    margin-bottom: 3px;
}
.product-grid .product-card .square {
    aspect-ratio: 1 / 1;
    width: 100%;
    max-height: 100%;
    margin-bottom: 20px;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; 
}
.product-grid .product-card p {
    color: #000;
}
.product-grid button {
    background-color: transparent;
    color: var(--trd-dark-blue);
    border: none;
    font-size: 18px;
    border-bottom: 3px var(--trd-dark-blue) solid;
}
.m500-500 {
    max-width: 500px;
    max-height: 500px;
}

/*Cookie Consent*/
.termsfeed-com---nb .cc-nb-main-container {
    padding: 2rem;
}
.termsfeed-com---palette-dark.termsfeed-com---nb {
    background-color: #170361 !important;
    color:#000 !important;
}
.termsfeed-com---palette-dark .cc-nb-okagree, .termsfeed-com---palette-dark .cc-nb-reject {
    background-color: #e8f5fb !important;
    color:#000 !important;
}
.termsfeed-com---palette-dark .cc-nb-changep, .termsfeed-com---palette-dark .cc-cp-foot-save {
    background-color: #1f9ad8 !important;
    color:#fff !important;
}
.termsfeed-com---palette-dark .cc-pc-head-close:active, .termsfeed-com---palette-dark .cc-pc-head-close:focus {
    border:none !important;
}
