*{ scroll-behavior: smooth; }

body{
    font-family: 'Roboto', sans-serif !important;
    color: #0C2340 !important;
    margin: 0px !important;
    padding: 0px !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* tipo e tamanho de letras genéricos */
.titulos{ font-family: 'Exo', sans-serif; }

h1, h2, h3, h4, h5,.titulo_encomenda{
    text-transform: uppercase;
    font-family: 'Exo', sans-serif;
    font-weight: bold;
}

h2{ font-size: 4rem !important; }

h3{ font-size: 2.3rem !important; }

h4{
    font-size: 1.4rem !important;
    color: #1B365D !important;
    margin-bottom: 1rem !important;
}

h5{
    color: #4a5c77 !important;
    font-size: 1.5rem !important;
}

h6{
    color: #7D8AA1 !important;
    font-size: 1.2rem !important;
}

.titulo_encomenda{
    font-size: 1.6rem;
}

.fs-9{
    font-size: .9rem !important;
}

p,
.topicos{
    font-weight: 500;
}

.texto_sobre {
    color: #7D8AA1;
    font-weight: 500;
    font-size: 15px;
    padding: 2%;
}

.text_left_light{
    color: #6B7984;
    text-align: left;
    font-size: .9rem;
    font-weight: 500;
}

.text_right_dark{
    color: #0C2340;
    text-align: right;
    font-size: 1rem;
    font-weight: 500;
}

/* cores genéricas */
.blue_ff{
    color: #13294B !important;
}
.blue_subtitulo{
    color: #1B365D !important;
}
.blue_texto{
    color: #0C2340 !important;
}

.check{     /* usado na tabela dos planos no "home" */
    color: #7AB19F;
}
.cancel{    /* usado na tabela dos planos no "home" */
    color: #CF7979;
}

.pointer{
    cursor: pointer;
}

/* botões genéricos */
.btn_planos{
    background-color: #13294B !important;
    color: white !important;
}

.btn_planos_outline{
    border: 1px solid #13294B !important;
    color: #13294B !important;
    background-color: white !important;
}

.btn_planos,
.btn_planos_outline{
    border-radius: 10px !important;
    text-transform: uppercase;
    transition: transform .2s; /* Animation */
    width: 100%;
}

.btn_planos:focus,
.btn_planos_outline:focus{
    box-shadow: none !important;
}
.title-home-1{
    text-align:  right;
    color: #fff;
}
.btn_planos_outline:hover{
    background-color: #f5f8fd !important;
}

.btn_planos:hover{
    color: white !important;
    background-color: #3D5FA0 !important;
}

#btn_contact,
#btn_encomenda,
#sign_submit{
    width: 100%;
    font-weight: bold;
}
#btn_contact,
#sign_submit{    
    padding-top: 2%;
    padding-bottom: 2%;
}

.form-check-input:checked{
   background-color: #13294bc9 !important; 
   border-color: #13294B !important;
}

.sombra{   /* sombra dos cards dos produtos */
    font-size: 14px;
    margin: 10px 0 30px 0;
    border-radius: 0.8rem!important;
    box-shadow: 0 0 10px rgb(217 217 217 / 60%);
    -webkit-box-shadow: 0 0 10px rgb(217 217 217 / 60%);
    -moz-box-shadow: 0 0 10px rgb(217 217 217 / 60%);
    /* 0 0 10px rgba(214, 215, 216, 0.6); */
}

.card-body{
    padding: 0px 0px 1rem 0px !important;
}

.pw{ /* (in)valid feedback nos inputs*/
    margin-bottom: .5em;
}

.links{
    text-decoration: none;
    color: #7D8AA1 !important;
}

/* HEADER start */
.navbar-fixed-top.scrolled {
  background-color: #EDF2F5 !important;
  box-shadow: 0 0 10px #b2bbcae0;
  -webkit-box-shadow: 0 0 10px #b2bbcae0;
  -moz-box-shadow: 0 0 10px #b2bbcae0;
  transition: background-color 200ms linear;
  -webkit-transition: background-color 200ms linear;
  -moz-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  -o-transition: background-color 200ms linear;
}
.nav-link{
    padding-right: 1.5rem !important;
    color:#fff !important;
}
.scrolled .nav-link{
    color:#13294B !important;
}

.nav-link:hover,
.footer-links:hover,
.carrinho-icon:hover{
    color: #3D5FA0 !important;
    transform: scale(1.01);
    -webkit-transform: scale(1.01);
    -moz-transform: scale(1.01);
    -ms-transform: scale(1.01);
    -o-transform: scale(1.01);
}

#menu {
    text-transform: uppercase;
}

.menu-login:hover,
.menu-login:focus{
    font-weight: bold;
}

.menu-login:active{
    color: #1e2125 !important;
    background-color: #e9ecef !important;
    font-weight: bold;
}

.conta_produtos{
    font: bold 11px Arial;
    min-width: 8px;
    border-radius: 13px;
    text-align: center;
    display: inline-block;
    position: absolute;
    right: -8px;
    top: -1px;
    z-index: 2;
    color: #fff;
    padding: 2px 4px;
    background-color: #c9002c;
    border: 1px solid #c9002c;
}

/*HEADER end */

/* HOME start */
    /* section inicio */
.inicio {
    /*background-image: url('../img/pc-phone_gradient.jpg');*/
    background-image: url('../img/pc-phone_ff2023_gradient.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
}

    /* section sobre */
/* slide das caraterísticas (Software de Faturação) start - adicionado na bd (t_slider) */
.blue_1{
    background-color: #82BEE3 !important;
}
.blue_2{
    background-color: #67BDE4 !important;
}
.blue_4{
    background-color: #42ADD5 !important;
}
.blue_5{
    background-color: #36799A !important;
}
.blue_6{
    background-color: #27647F !important;
}
.blue_7{
    background-color: #3D5FA0 !important;
}
.blue_8{
    background-color: #3155A4 !important;
}
.blue_10{
    background-color: #16274A !important;
}

.icones { 
    border-radius: 50% !important;
    color: white;
    padding: 4%;
    margin-bottom: 10%;
    width: 7rem !important;
}

.slider{
    overflow-x:scroll;
    flex-wrap: nowrap !important;
}

.slider img{
    height: 200px;

    width: 100%;
    object-fit: contain;
}
/* slide das caraterísticas (Software de Faturação) end */

.parallax {
    background-color:#EDF2F5;
    background-image:  linear-gradient(to top, rgba(255, 255, 255, 0.5), rgba(237, 242, 245, 0.5)), url('../img/bg_parallax.png');
    background-repeat: no-repeat;
    background-position: left;
    background-size: cover;
    background-attachment: fixed;
}
.about-text {
    font-weight: 600;
    font-size: 1.2rem;
    color: #223A5E !important;
}

    /* section planos */
.product-title{
    font-size: 1.1rem !important;
}

.btn_adquirir,
.btn_mais-info{
    text-transform: uppercase;
    border-radius: 8px !important;
    font-weight: bold !important;
    padding: 4% !important;
}
.btn_adquirir:hover,
.btn_mais-info:hover{
    box-shadow: 0 3px 6px #8b919caf;
    -webkit-box-shadow: 0 3px 6px #8b919caf;
    -moz-box-shadow: 0 3px 6px #8b919caf;
}

.btn_adquirir{
    background-color: #1B365D !important;
    color: white !important;
}
.btn_adquirir a {
    text-decoration: none;
    color: white !important;
}
.btn_adquirir:hover {
    color: white !important;
    background-color: #3D5FA0 !important;
}

.btn_mais-info{
    background-color: #EDF2F5 !important;
    border: 1px solid #1A3459 !important;
}
.btn_mais-info a {
    text-decoration: none;
    color: #1B365D !important;
}
.btn_mais-info:hover {
    color: #1B365D;
    background-color: #C8D0DE !important;
}

.product-cards{
    background-color: #f9f9f938;
    border: 1px solid rgba(200, 200, 200, 0.3);
    box-shadow: 0 0 10px rgb(236 238 239 / 30%);
    -webkit-box-shadow: 0 0 10px rgb(236 238 239 / 30%);
    -moz-box-shadow: 0 0 10px rgb(236 238 239 / 30%);
    border-radius: 1rem;
}
.product-cards:hover{
    transform: scale(1.02);
}

.mais-info-cards {  /* também usado em produtos */
    text-decoration: none;
    color: #7D8AA1 !important;
    text-transform: uppercase;
    font-weight: bold !important;
    font-size: 1rem;
}
.mais-info-cards:hover,
.links:hover{
    color: #1B365D !important;
    transform: scale(1.01);
}

.header-card{
    padding: 1rem 1rem;
    background-color: #EDF2F5;
    box-shadow: 0 2px 6px #b2bbca70;
    -webkit-box-shadow: 0 2px 6px #b2bbca70;
    -moz-box-shadow: 0 2px 6px #b2bbca70;
}

.ver-todos{
    font-family: 'Exo', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    color: #13294B !important;
}
.ver-todos:hover{
    color: #6B7984 !important;
    transform: scale(1.01);
}

    /* section clientes */
.img-clientes{
    height: 100px !important;
}

#clientes{
    background-color: #EDF2F5 !important;
}

    /* section contacto */
.contact{
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(125, 138, 161, 0.5)), url('../img/contact.jpg');
    min-height: 50vh;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
}

#contactos_form input,
#contactos_form textarea{
    margin-bottom: .5em;
    background-color: #EDF2F5;
}

    /* FOOTER */
footer{
    background-color: #EDF2F5 !important;
    color: #13294B;
    box-shadow: 0 0 6px #b2bbcae0;
    -webkit-box-shadow: 0 0 6px #b2bbcae0;
    -moz-box-shadow: 0 0 6px #b2bbcae0;
    z-index: 999;
}

.footer-link{
    font-size: 14px;
}

.footer-title{
    font-weight: bold;
    text-transform: uppercase;
}

.scrollToTop{
    width: 55px;
    height: 55px;
    padding: 10px;
    text-align:center;
    font-weight: bold;
    text-decoration: none;
    position:fixed;
    bottom:10px;
    right:10px;
    display:none;
    z-index: 9999;
    color: #1A3459;
}

.scrollToTop:hover{
    color: #2f4d79;
    background-color: #d9dfe7bf;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* REGISTO E ENTRAR */
.divider {
  display: flex;
  align-items: center;
  color: #828790 !important;
}

/* To show the lines on right and left sides of the text */
.divider::after,
.divider::before {
  content: "";
  border: 1px solid #D3D7DD;
  flex: 1;
}

/* Space on left and right sides of text */
.divider:not(:empty)::before {
  margin-right: 0.25em;
}

.divider:not(:empty)::after {
  margin-left: 0.25em;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* MINHA CONTA */
.dados-icons{
    width: 45px;
    justify-content: center;
}

.register-input{
    height: 45px;
}

.order-icons{
    color: #212529;
}
.order-icons:hover{
    color: #3D5FA0;
}

.menu-conta{
    font-size: .9rem;
}

/* VER ENCOMENDA start */
.list-order-row:hover{
    background-color: rgb(234 234 234 / 40%);
}

.pendente,
.espera,
.processamento,
.terminada,
.canceladacc,
.cancelada,
.tentativa{
    background: white;
    border: 1px solid;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	width: 135px;
	display: inline-block;
	text-align: center;
	font-weight: 600;
}

.pendente{
    color: #2A4981;
}

.espera{
    color: #EF8A25;
    width: 210px;
}

.processamento{
    color: #82a53c;
    width: 205px;
}

.terminada{
    color: #078932;
    width: 145px;
}

.cancelada{
    color: #C53B3B;
    width: 145px;
}

.canceladacc{
	color: #000;
    width: 165px;
}

.tentativa{    
    color: #ffbc08;
}

.order-links:hover{      /* link em "Ver Encomenda" */
    color: #3D5FA0 !important;
}

.search-input:focus-visible {
  outline: none !important;
}

.totalkz{
    font-weight: bold;
    font-size: 1.1rem;
    color: #0C2340;
}

.bg-bloco{
    background-color: #f2f2f2;
}

.paga-plus:hover,
.paga-plus-ref:hover{
    text-shadow: 0 3px 6px #8b919caf;
    -webkit-text-shadow: 0 3px 6px #8b919caf;
    -moz-text-shadow: 0 3px 6px #8b919caf;
}
/* VER ENCOMENDA end */

/* CARRINHO */
#encomenda_form{
    width:60%;
}

#encomenda_form textarea{
    height: 100px;
}

#encomenda_form input,
#encomenda_form textarea{
    background-color: #EDF2F5;
    margin-bottom: .5em;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.container-resumo{
    width: 85%;
}

a .trash{
    color: #aeb7c3;
}
a .trash:hover{
    color:#797a7a;
}
.delete_registo{
    color: #C21130 !important;
}
.delete_registo:hover{
    color: #979797 !important;
}

.img-sugestoes{
    height: 150px !important;
    object-fit: cover !important;
}

.item-title{
    font-size: 17px !important;
    line-height: 18px;
    cursor:pointer;
}
.produto-title{
    font-size: 1rem;
}
.price-items{
    font-size: 18px !important;
}
.prod-table{
    max-height:600px;
}
.prod-list{
    overflow: auto;
    max-height: 505px;
}
.prod-list thead{
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
    overflow-y: auto;
}
.preco-mobile{
    padding-top: 2%;
    padding-bottom: 2%;
}
.prod-blocos{
    display: grid;
    position: relative;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid rgb(74 74 74 / 10%);
    border-radius: .4rem;
    -webkit-border-radius: .4rem;
    -moz-border-radius: .4rem;
    -ms-border-radius: .4rem;
    -o-border-radius: .4rem;
    box-shadow: 0rem 0.2rem 0.5rem rgb(123 121 121 / 40%);
    -webkit-box-shadow: 0rem 0.2rem 0.5rem rgb(123 121 121 / 40%);
    -moz-box-shadow: 0rem 0.2rem 0.5rem rgb(123 121 121 / 40%);
    transition: box-shadow .2s ease-in-out,max-block-size .2s ease-out;
    -webkit-transition: box-shadow .2s ease-in-out,max-block-size .2s ease-out;
    -moz-transition: box-shadow .2s ease-in-out,max-block-size .2s ease-out;
    -ms-transition: box-shadow .2s ease-in-out,max-block-size .2s ease-out;
    -o-transition: box-shadow .2s ease-in-out,max-block-size .2s ease-out;
}

/* adquirir ou checkout */
.payment-label{
    font-size: .9rem;
    font-weight: 500;
}

.logo_pay{
    padding: 3px;
    height: 50px;
}

#produtosList{
    max-height: 300px;
    overflow-x: auto;
}

.adquirir-container{
    margin-top: 75px;
    min-height: calc(100vh - 340px);
    background-color: #D3D7DD !important;
}

/* PRODUTOS */
.img-produtos {
    width: 100%;
    object-fit: cover;
    height: 200px !important;
}

/* paginação start */
.box ul{
    float: right;
}

.page-link{
	background-color: #FFFFFF;
	color: #959393;
	font-weight: bold;
	cursor: pointer;
	font-size: .7rem;
}

.page-link:hover{
	background-color: #c3d4b8 !important;
    color: #223120;
}

.page-link:focus{
  	box-shadow: 0 0 0 0.2rem #2c49777c;
    -webkit-box-shadow: 0 0 0 0.2rem #2c49777c;
    -moz-box-shadow: 0 0 0 0.2rem #2c49777c;
	border-color: #2c49777c;
}

.page-item.active .page-link{
	background-color:#909aa8 !important;
	color: #fff !important;
	border-color:#909aa8 !important;
}

.page-item.disabled .page-link {
	color: #dfe2e5 !important;
}

.btn_pages{ /* usado também na "Pesquisar" */
	cursor: pointer;
	border: 1px solid #959393;
	background-color: #FFFFFF;
	color: #959393;
	width:100%;
	max-width: 160px !important;
	border-radius: 20px !important;
	-webkit-border-radius: 20px !important;
	-moz-border-radius: 20px !important;
	-ms-border-radius: 20px !important;
	-o-border-radius: 20px !important;
}
/* paginação end */

/* MODAL do email/pop ups start */
.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel{
	width: 130px;
    font-size: .9rem !important;
	border-radius: 20px !important;
	-webkit-border-radius: 20px !important;
	-moz-border-radius: 20px !important;
	-ms-border-radius: 20px !important;
	-o-border-radius: 20px !important;
}

.swal2-styled.swal2-cancel{
	background-color: transparent !important;
	color: #dc3545 !important;
	border: 1px solid #dc3545 !important;
}
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-cancel:focus,
.swal2-styled.swal2-cancel:active{
	background-color: #dc3545 !important;
	color: white !important;
}
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-cancel:focus,
.swal2-styled.swal2-cancel:active,
.swal2-styled.swal2-confirm:focus{
	box-shadow: 0 0 0 0 transparent !important;
    -webkit-box-shadow: 0 0 0 0 transparent !important;
    -moz-box-shadow: 0 0 0 0 transparent !important;
}

.swal2-styled.swal2-confirm{
	background-color: #198754 !important;
	border: 1px solid #198754 !important;
}
.swal2-styled.swal2-confirm:hover{
    background-color: #157347 !important;
}

.swal2-title{
    font-size: 1.875em !important;
}
/* MODAL do email/pop ups end */



/********************************************** RESPONSIVO **********************************************/
@media (max-width:341px){
    .add-icon{ display: none !important; }
}

@media (max-width: 390px){
    .title-home-1{ font-size: 2rem !important; }
}

@media (max-width:441px){
    .col-prod-blocos{ width: 60% !important; }
}

@media (max-width:575px){
    h2{ font-size: 2.4rem !important; }

    h3{ font-size: 1.25rem !important; }

    .carrinho-title{ font-size: 1.9rem !important; }

    .prod-list{ max-height: 405px; }

    .text-resize{ font-size: 1.4rem; }

    .produto-title{
        font-size: 15px !important;
        line-height: 18px;
    }

    .quantity-col,
    .prod-prices {
        display: flex;
        justify-content: center;
    }

    .btn-input{
        display: flex !important;
        align-items: center;
    }

    .sobre-software {
        padding-top: 2.4rem !important;
    }
}

@media (max-width: 767px){
    .container-resumo{
        width: 90%;
    }
}

@media (max-width: 992px){
    .about-text { font-size: 16px; }

    .navbar-fixed-top{ background-color: #EDF2F5 !important; }

    .user-options{
        text-align: center !important;
        background-color: transparent !important;
        border: none !important;
    }

    #encomenda_form{ width: 80%; }
}

@media (min-width:576px){
    .btn-input{
        display: none !important;
    }
}

@media (min-width:1200px){
    .container-resumo{ width: 55%; }
}

@media (min-width: 575px) and (max-width: 992px){
    h3{ font-size: 1.8rem !important; }
}

@media (min-width:576px) and (max-width: 1200px){
    h2{ font-size: 3.2rem !important; }
}

@media (min-width:1200px) and (max-width: 1400px){
    h2{ font-size: 3.6rem !important; }
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////// */
::-webkit-scrollbar {
    height: 5px;
    width: 10px;
    border-radius: 5px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

::placeholder{
    color: rgba(27,54,93,.6) !important;
    opacity: 1;
}

.form-control[type="number"]::-webkit-inner-spin-button,
.form-control[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}