@charset "UTF-8";
/*Na linha de comando do terminal ir para a pasta: cd public\scss
e escrever um dos seguintes comandos:
para criar um css normal:    node-sass   --output-style expanded myfm.scss ../css/myfm.css 
para criar um css comprimido:    node-sass   --output-style compressed myfm.scss ../css/myfm.min.css  */
/* Branding colors */
/* shades */
/*  stores */
/* secções "desligadas" */
/* secções "desligadas" */
/* Branding colors */
/* shades */
/*  stores */
/* secções "desligadas" */
/* secções "desligadas" */
/*------------------------------------
  Default Styles
------------------------------------*/
/* Backgrounds default */
.bg-default-primary {
  background-image: url("../img/1920x1080/img-bg-000.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height: 100%;
  width: 100vw;
}

.bg-default-second {
  background-image: url("../img/1920x1080/img-bg-001.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.bg-default-third {
  background-image: url("../img/1920x1080/img-bg-002.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height: 100%;
  width: 100%;
}

/* fundos das lojas */
.affection-gradient-bg {
  background-image: linear-gradient(white 0%, #ce5959 100%);
}

.acceptance-gradient-bg {
  background-image: linear-gradient(white 0%, #ed7c31 100%);
  background-size: cover;
}

.selfcontrol-gradient-bg {
  background-image: linear-gradient(white 0%, #f4bb3a 100%);
  background-size: cover;
}

.selfcare-gradient-bg {
  background-image: linear-gradient(white 0%, #a6c84d 100%);
  background-size: cover;
}

.autonomy-gradient-bg {
  background-image: linear-gradient(white 0%, #18d17f 100%);
  background-size: cover;
}

.perfectionism-gradient-bg {
  background-image: linear-gradient(white 0%, #00c6ae 100%);
  background-size: cover;
}

.relationship-gradient-bg {
  background-image: linear-gradient(white 0%, #3facc9 100%);
  background-size: cover;
}

.personalvalues-gradient-bg {
  background-image: linear-gradient(white 0%, #378dc8 100%);
  background-size: cover;
}

.trauma-gradient-bg {
  background-image: linear-gradient(white 0%, #8c72dd 100%);
  background-size: cover;
}

.unhappiness-gradient-bg {
  background-image: linear-gradient(white 0%, #99ffcc 100%);
  background-size: cover;
}

.depression-gradient-bg {
  background-image: linear-gradient(white 0%, #604eaf 100%);
  background-size: cover;
}

.transparent-bg-04 {
  background-color: rgba(23, 0, 56, 0.4);
}

.transparent-bg-0_7 {
  background-color: rgba(23, 0, 56, 0.7);
}

.transparent-bg-00 {
  background-color: rgba(0, 0, 0, 0);
}

.gradient-overlay-half-dark-video-v1::before {
  z-index: 2;
  background-color: rgba(23, 0, 56, 0.8);
}

.gradient-overlay-half-purple-v1::before {
  background-image: linear-gradient(180deg, rgba(23, 0, 56, 0.35) 10%, #95729d 70%);
  background-repeat: repeat-x;
}

.gradient-overlay-half-purple-v2::before {
  background-image: linear-gradient(150deg, rgba(23, 0, 56, 0.9) 20%, #66c8c9 80%);
  background-repeat: repeat-x;
}

/*------------------------------------
  Highlight Color
------------------------------------*/
::-moz-selection {
  background-color: #b4e1e1;
}

::selection {
  background-color: #b4e1e1;
}

.bg-primary ::-moz-selection {
  color: #b4e1e1;
}

.bg-primary ::selection {
  color: #b4e1e1;
}

.bgbox-transp-0_4 {
  background-color: rgba(23, 0, 56, 0.4);
  /* Caixa transparente */
}

.bgbox-transp-0_0 {
  background-color: rgba(0, 0, 0, 0);
  /* Caixa transparente */
}

.bgbox-transp-0_7 {
  background-color: rgba(113, 107, 134, 0.712);
  /* Caixa pouco transparente */
}

.bgbox-transp-dark {
  background-color: rgba(21, 27, 38, 0.9);
}

/* ---------------------------------------------- */

.bgradient-transp-0_4 {
  background-color: rgba(23, 0, 56, 0.4);
  /* Caixa transparente */
}

.bg-beige {
  background-color: #E3E3E3;
}

/*  bg Stores */
.bg-affection {
  background-color: #ce5959;
}

.bg-acceptance {
  background-color: #ed7c31;
}

.bg-selfcontrol {
  background-color: #f4bb3a;
}

.bg-selfcare {
  background-color: #a6c84d;
}

.bg-autonomy {
  background-color: #18d17f;
}

.bg-perfectionism {
  background-color: #00c6ae;
}

.bg-relationship {
  background-color: #3facc9;
}

.bg-personalvalues {
  background-color: #378dc8;
}

.bg-trauma {
  background-color: #8c72dd;
}

.bg-unhappiness {
  background-color: #99ffcc;
}

.bg-depression {
  background-color: #604eaf;
}

/* CENTERS THE CONTENT VERTICALLY (on a col element only?)
---------------------------------------------- */
.fm-vcenter {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

/* CENTERS ITSELF HORIZONTALLY
---------------------------------------------- */
.fm-hcentered {
  margin-left: auto;
  margin-right: auto;
}

/* Labels have margins by default*/
.no-margins {
  margin-right: 0;
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* No-margins Class Rules */
.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

.text-primary {
  color: #66c8c9 !important;
}

.text-secondary {
  color: gray !important;
}

.text-secondary[href]:hover {
  color: #66c8c9 !important;
}

.text-affection {
  color: #ce5959 !important;
}

.text-acceptance {
  color: #ed7c31 !important;
}

.text-selfcontrol {
  color: #f4bb3a !important;
}

.text-selfcare {
  color: #a6c84d !important;
}

.text-autonomy {
  color: #18d17f !important;
}

.text-perfectionism {
  color: #00c6ae !important;
}

.text-relationship {
  color: #3facc9 !important;
}

.text-personalvalues {
  color: #378dc8 !important;
}

.text-trauma {
  color: #8c72dd !important;
}

.text-unhappiness {
  color: #99ffcc !important;
}

.text-depression {
  color: #604eaf !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #171744 !important;
}

/* TEXT COLORED
-----------------------------------------------*/
.fm-text-highlighted {
  color: #157A4B;
}

/* WRAPS TEXT
---------------------------------------------- */
/**
* Adapta o texto à sua caixa na horizontal.
* Cuidado. Aumenta o tamanho da caixa na vertical, se necessário
* (a menos que a caixa diga especificamente o contrário)
*/
.fm-wrapped-text {
  width: 100%;
  word-wrap: break-word;
  white-space: normal;
  margin: 0px;
}

.breadcrumb-myfm {
  width: 100%;
  min-width: 320px;
  display: inline-block;
  overflow: hidden;
  border-radius: 5px;
  counter-reset: flag;
  font-family: arial;
  text-align: center;
}

.breadcrumb-myfm .item {
  position: relative;
  display: block;
  float: left;
  width: 25%;
  background: #b4e1e1;
  /* Change color Item */
  color: #3D3D3D;
  text-decoration: none;
  outline: none;
  font-size: 15px;
  font-weight: bold;
  line-height: 44px;
  white-space: nowrap;
  padding: 0 20px 0 60px;
}

@media screen and (max-width: 991px) {
  .breadcrumb-myfm .item {
    font-size: 13px;
  }
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .item {
    line-height: normal;
    text-align: center;
    padding-bottom: 4px;
    padding-left: 0;
    padding-right: 0;
  }
  .breadcrumb-myfm .item:not(.active) {
    padding-top: 2px;
    padding-bottom: 6px;
  }
}

.breadcrumb-myfm .item:first-child {
  border-radius: 5px 0 0 5px;
}

.breadcrumb-myfm .item:first-child:before {
  left: 14px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .item:first-child:before {
    left: 0;
  }
}

.breadcrumb-myfm .item:first-child:last-child {
  border-radius: 0 5px 5px 0;
}

.breadcrumb-myfm .arrow {
  position: absolute;
  top: 22px;
  right: 1px;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .arrow {
    top: 24px;
  }
}

.breadcrumb-myfm .arrow:after, .breadcrumb-myfm .arrow:before {
  content: " ";
  position: absolute;
  height: 0;
  width: 0;
  border: solid transparent;
}

.breadcrumb-myfm .arrow:after {
  border-color: rgba(136, 183, 213, 0);
  border-left-color: #b4e1e1;
  /* Change color Item */
  border-width: 20px;
  margin-top: -20px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .arrow:after {
    margin-top: -23px;
    right: -12px;
    border-width: 23px 0 24px 12px;
  }
}

.breadcrumb-myfm .arrow:before {
  border-color: rgba(194, 225, 245, 0);
  border-left-color: #f5f8fb;
  border-width: 23px;
  margin-top: -23px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .arrow:before {
    margin-top: -28px;
    border-width: 28px 0 28px 15px;
  }
}

.breadcrumb-myfm .item:before {
  content: counter(flag);
  counter-increment: flag;
  position: absolute;
  top: 0;
  left: 30px;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  margin: 8px 0;
  background: #f5f8fb;
  box-shadow: 0 0 0 1px #ccc;
  font-size: 18px;
  font-weight: bold;
  color: #66c8c9;
  /* Change color Item Active */
  line-height: 24px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .item:before {
    position: relative;
    display: block;
    left: 0;
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 14px;
    margin: 6px auto 4px;
  }
}

.breadcrumb-myfm .item:hover, .breadcrumb-myfm .active {
  background: #66c8c9;
  /* Change color Item Active */
}

.breadcrumb-myfm .item:hover .arrow:after {
  border-left-color: #66c8c9;
  /* Change color Item Active */
}

.breadcrumb-myfm .active {
  border-top: 2px solid #66c8c9;
  /* Change color Item Active */
  border-bottom: 2px solid #66c8c9;
  /* Change color Item Active */
  line-height: 40px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .active {
    line-height: normal;
  }
}

.breadcrumb-myfm .active:before {
  color: #66c8c9;
  /* Change color Item Active */
}

.breadcrumb-myfm .active .arrow {
  top: 20px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-myfm .active .arrow {
    top: 22px;
  }
}

.breadcrumb-myfm .active .arrow:before {
  border-left-color: #f5f8fb;
}

.breadcrumb-myfm .active .arrow:after {
  border-left-color: #66c8c9;
  /* Change color Item Active */
}

.breadcrumb-myfm .active:first-child {
  border-left: 2px solid #b4e1e1;
  /* Change color Item Completed */
}

.breadcrumb-myfm .active:last-child {
  border-right: 2px solid #b4e1e1;
  /* Change color Item Completed */
}

.breadcrumb-myfm .item.completed {
  background: #b4e1e1;
  /* Change color Item Completed */
  color: #3D3D3D;
}

.breadcrumb-myfm .item.completed .arrow:before {
  border-left-color: #f5f8fb;
}

.breadcrumb-myfm .item.completed .arrow:after {
  border-left-color: #b4e1e1;
  /* Change color Item Completed */
}

.breadcrumb-myfm .item.completed:after {
  box-shadow: 2px -2px 0 2px #444, 1px -1px 0 1px #444;
}

@media screen and (max-width: 767px) {
  .hide-mobile {
    display: none;
  }
}

.show-mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .show-mobile {
    display: inline-block;
  }
}

*, :after, :before {
  box-sizing: border-box;
}

/* Inquiries breadcrumb */
.btn-outline-branding-A {
  color: #66c8c9;
  background-color: transparent;
  background-image: none;
  border-color: #66c8c9;
}

.btn-outline-branding-A:hover {
  color: #fff;
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.btn-outline-branding-A:focus, .btn-outline-branding-A.focus {
  box-shadow: 0 0 0 0.2rem rgba(33, 200, 122, 0.5);
}

.btn-outline-branding-A.disabled, .btn-outline-branding-A:disabled {
  color: #66c8c9;
  background-color: transparent;
}

.btn-outline-branding-A:not(:disabled):not(.disabled):active, .btn-outline-branding-A:not(:disabled):not(.disabled).active,
.show > .btn-outline-branding-A-branding.dropdown-toggle {
  color: #fff;
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.btn-outline-branding-A:not(:disabled):not(.disabled):active:focus, .btn-outline-branding-A:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-branding-A.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(33, 200, 122, 0.5);
}

.btn-outline-primary {
  color: #171744;
  border-color: #716b86 !important;
}

.btn-outline-primary:hover {
  background-color: #716b86;
  border-color: #716b86;
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #716b86;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  background-color: #716b86;
  border-color: #716b86;
}

.btn-success {
  color: #FFFFFF;
  background-color: #157A4B;
  border-color: #157A4B;
}

.btn-warning {
  background-color: #ffc107;
  border-color: #ffc107;
  font-weight: 500;
}

.btn-primary {
  color: #66c8c9;
  background-color: #171744;
  border-color: #171744;
}

.btn-primary:hover {
  background-color: #66c8c9;
  border-color: #b4e1e1;
}

.btn-link {
  color: #66c8c9;
}

.btn-link-link:hover {
  color: #716b86;
}

.badge-primary {
  color: #66c8c9;
  background-color: #171744;
  border-color: #171744;
  font-weight: normal;
  cursor: pointer;
}

.badge-secondary {
  color: #FFFFFF;
  background-color: gray;
  border-color: gray;
  font-weight: normal;
  cursor: pointer;
}

.badge-success {
  color: #FFFFFF;
  background-color: #157A4B;
  border-color: #157A4B;
  font-weight: normal;
  cursor: pointer;
}
 
.badge-advertising {
  color: white;
  background-color: #66c8c9;
  border-color: #66c8c9;
  font-weight: normal;
  cursor: pointer;
}
.info-dropdown-content .badge-advertising:hover {
  background-color: #4a9394;
}

/* GLOWING BUTTONS
-----------------------------------------------*/
.fm-success-btn-glow {
  animation-name: success-glow;
  animation-duration: 3s;
  animation-iteration-count: infinite;
}

@keyframes success-glow {
  0% {
    box-shadow: 0px 0px 0px 0px #2bc07a;
    background-color: #157A4B;
    border-color: #157A4B;
  }
  50% {
    box-shadow: 0px 0px 40px 0px #2bc07a;
    background-color: #2bc07a;
    border-color: #2bc07a;
  }
  100% {
    box-shadow: 0px 0px 0px 0px #2bc07a;
    background-color: #157A4B;
    border-color: #157A4B;
  }
}

.fm-warning-btn-glow {
  animation-name: warning-glow;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  font-weight: 500;
}

@keyframes warning-glow {
  0% {
    box-shadow: 0px 0px 0px 0px #ffe600;
    background-color: #ffc107;
    border-color: #ffc107;
  }
  50% {
    box-shadow: 0px 0px 40px 0px #ffe600;
    background-color: #ffe600;
    border-color: #ffe600;
  }
  100% {
    box-shadow: 0px 0px 0px 0px #ffe600;
    background-color: #ffc107;
    border-color: #ffc107;
  }
}

/**
* Adapta o texto de um botão, de forma ao seu texto ficar sempre
* dentro do mesmo
* Cuidado. Aumenta o tamanho do botão na vertical, se necessário.
* Deverá sempre ser usado numa label. Ex:
* <label class='fm-btn-text'>" + Text do Botão + "</label>
*/
.fm-btn-text {
  width: 100%;
  word-wrap: break-word;
  cursor: pointer;
  white-space: normal;
  margin: 0px;
}

.card-shadow-box {
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.4);
  margin: 1px auto 20px;
}

/* mixin for multiline 7 lines*/
.block-with-text {
  overflow: hidden;
  position: relative;
  line-height: 0.8em;
  max-height: 2.4em;
  text-align: justify;
  margin-right: -1em;
  padding-right: 1em;
}

.textbox-truncate {
  width: 200px;
  /* white-space: nowrap; */
  height: 90px;
  /* new */
  overflow: hidden;
  display: inline-block;
  text-overflow: ellipsis;
  /* border: 1px solid #ddd; */
  margin: 0;
}

.only-2line-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-height: 16px;
  /* (X) fallback */
  max-height: 32px;
  /* (X*N) fallback */
  -webkit-line-clamp: 2;
  /* (N) number of lines to show */
  -webkit-box-orient: vertical;
}

.only-3line-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-height: 16px;
  /* (X) fallback */
  max-height: 48px;
  /* (X*N) fallback */
  -webkit-line-clamp: 3;
  /* (N) number of lines to show */
  -webkit-box-orient: vertical;
}

.only-5line-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-height: 16px;
  /* (X) fallback */
  max-height: 80px;
  /* (X*N) fallback */
  -webkit-line-clamp: 5;
  /* (N) number of lines to show */
  -webkit-box-orient: vertical;
}

.only-10line-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-height: 1.0;
  line-height: 16px;
  /* (X) fallback */
  max-height: 160px;
  /* (X*N) fallback */
  -webkit-line-clamp: 10;
  /* (N) number of lines to show */
  -webkit-box-orient: vertical;
}

.card-frame.active, .card-frame:hover {
  border-color: #66c8c9;
}

.card-primary-frame.active, .card-primary-frame:hover {
  border-color: #66c8c9;
}

.card-secondary-frame.active, .card-secondary-frame:hover {
  border-color: #c0aec9;
}

.border-primary {
  border-color: #66c8c9 !important;
}

/* Card Frame */
.card-primary-frame.active, .card-primary-frame:hover {
  border-color: #66c8c9;
}

/* SIMPLE CARDS
---------------------------------------------- */
/* ATENÇÃO: NÃO MEXER NESTAS CLASSES! PODE CORROMPER CÓDIGO!
Se quiseres, cria uma classe derivada ou uma nova a partir de copy-paste */
.fm-card-simple {
  background-color: #FFFFFF;
  color: #212529;
  margin: auto;
  border-color: #b4e1e1;
  border-style: solid;
  border-left-width: 2px;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-top-width: 5px;
  cursor: pointer;
  /* mouse cursor changes to "select" when hovering over the label */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all ease 0.5s;
}

.fm-card-simple:hover {
  border-color: #66c8c9;
  color: #66c8c9;
  transition: all ease 0.5s;
}

.fm-card-special {
  background-color: #FFFFFF;
  color: #212529;
  margin: auto;
  border-color: #b4e1e1;
  border-style: solid;
  border-left-width: 2px;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-top-width: 5px;
  cursor: pointer;
  /* mouse cursor changes to "select" when hovering over the label */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all ease 0.5s;
}

.fm-card-special:hover {
  border-color: #66c8c9;
  color: #171744;
  transition: all ease 0.5s;
}

/* chat new question */
.fm-card-chat-new-q {
  background-color: #FFFFFF;
  color: #212529;
  margin: auto;
  border-color: #66c8c9;
  border-style: solid;
  border-left-width: 2px;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-top-width: 5px;
  cursor: pointer;
  /* mouse cursor changes to "select" when hovering over the label */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all ease 0.5s;
}

.fm-card-chat-new-q:hover {
  border-color: #66c8c9;
  transition: all ease 0.5s;
}

/* chat old question */
.fm-card-chat-old-q {
  background-color: #FFFFFF;
  color: #212529;
  margin: auto;
  border-color: lightgray;
  border-style: solid;
  border-left-width: 2px;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-top-width: 5px;
  cursor: pointer;
  /* mouse cursor changes to "select" when hovering over the label */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all ease 0.5s;
}

.fm-card-chat-old-q:hover {
  border-color: #66c8c9;
  transition: all ease 0.5s;
}

/* OVERLAY CARD
  -----------------------------------------------*/
.fm-card-overlay {
  background-color: #FFFFFF;
  color: #212529;
  margin: auto;
  border-color: #66c8c9;
  border-style: solid;
  border-width: 2px;
}

/* CUSTOM DROPUP
-----------------------------------------------*/
/* Dropup Button */
.dropbtn {
  background-color: rgba(0, 0, 0, 0);
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 8px;
  padding-right: 8px;
  color: #212529;
  text-align: center;
  font-size: 16px;
  /*border-style: solid;
    border-width: 1px;
    border-radius: 4px 4px 4px 4px;
    border-color: $dark-highlight;*/
  border: none;
  padding-left: auto;
  /* dropbtn centers itself inside a dropup container */
  padding-right: auto;
  cursor: pointer;
}

/* The container <div> - needed to position the dropup content */
.dropup {
  position: relative;
  display: inline-block;
  text-align: center;
}

/* Dropup content (Hidden by Default) */
.dropup-content {
  display: none;
  position: absolute;
  bottom: 30px;
  background-color: #FFFFFF;
  min-width: 160px;
  max-height: 300px;
  overflow: auto;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: all ease 0.5s;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px 4px 4px 4px;
  border-color: #66c8c9;
}

/* Links inside the dropup */
.dropup-content a {
  color: #212529;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Change color of dropup links on hover */
.dropup-content a:hover {
  background-color: #66c8c9;
  transition: all ease 0.5s;
}

/* Show the dropup menu on hover
 - Remove this if we want the list to be shown onClick only */
.dropup:hover .dropup-content {
  display: block;
}

/* Change the background color of the dropup button when the dropup content is shown */
.dropup:hover .dropbtn {
  background-color: #66c8c9;
  border-style: solid;
  border-width: 0px;
  border-radius: 4px 4px 4px 4px;
  transition: all ease 0.5s;
}

/* ------------- Footer Menu ----------------- */
.footer-nav {
  position: fixed;
  z-index: 99999;
  bottom: 0;
  display: none;
  width: 100%;
  background-color: rgba(21, 27, 38, 0.98);
  font-size: 12px;
  font-family: Arial, sans-serif;
  font-weight: normal;
  color: #fff;
  text-align: center;
  cursor: pointer;
}

.show, .footer-nav:hover {
  display: block;
}

.list-group-item-action {
  color: #171744;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  color: #66c8c9;
}

.list-group-item-action:active {
  color: #66c8c9;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #66c8c9;
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #66c8c9;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #66c8c9;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #66c8c9;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-color: #66c8c9;
}

.form-selector-modern__input:checked ~ .form-selector-modern__label {
  border-color: #66c8c9;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #66c8c9;
}

.custom-range::-webkit-slider-thumb {
  background-color: #66c8c9;
}

.custom-range::-moz-range-thumb {
  background-color: #66c8c9;
}

.custom-range::-ms-thumb {
  background-color: #66c8c9;
}

/* ----------------------------------------------
  FORMULÁRIOS
---------------------------------------------- */
/* form field label
---------------------------------------------- */
.fm-form-label {
  width: 100%;
  font-size: 10pt;
  margin: 0px;
  padding: 0px;
}

/* Date input
  ---------------------------------------------- */
.date-input {
  width: 100%;
}

.date-input.placeholderclass::before {
  width: 100%;
  content: attr(placeholder);
  color: #999999;
}

.date-input.placeholderclass:hover::before {
  width: 0%;
  content: "";
}

/* Selectors com placeholder
  ---------------------------------------------- */
select:required:invalid {
  color: #999999;
}

option[value=""][disabled] {
  display: none;
}

option {
  color: black;
}

.u-go-to {
  background-color: #66c8c9;
}

/* Nav Item */
.u-header__nav-item:hover .u-header__nav-link, .u-header__nav-item:focus .u-header__nav-link {
  color: #66c8c9;
}

.u-header .active > .u-header__nav-link {
  color: #66c8c9;
}

/*------------------------------------
  Icon Default Styles
------------------------------------*/
/* primary */
.u-icon--primary {
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.u-icon--primary[href]:hover {
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.u-icon--primary.disabled, .u-icon--primary:disabled {
  background-color: #66c8c9;
  border-color: #66c8c9;
}

/*------------------------------------
  Media Player
------------------------------------*/
.u-media-player {
  color: #b4e1e1;
  font-weight: 400;
  transition: all 0.2s ease-in-out;
}

.u-media-player__icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  width: 3.75rem;
  height: 3.75rem;
  font-size: 0.8125rem;
}

.u-media-player__icon::before {
  display: inline-block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  transition: 0.4s;
}

.u-media-player__icon-inner {
  color: #66c8c9;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin-left: 0.125rem;
}

.u-media-player__icon--box-shadow::before {
  box-shadow: 0 0 40px #e3e6f0;
}

.u-media-player:hover .u-media-player__icon::before {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Extra Large Size */
.u-media-player__icon--xl {
  width: 6.25rem;
  height: 6.25rem;
  font-size: 1rem;
}

/* ------------------------------------ */
/* Collapse Menu  -------------------------------------*/
.collapse-menu {
  width: 50px;
  height: 50px;
  margin: -10px auto;
  position: relative;
}

.collapse-menu label {
  width: 100%;
  height: 100%;
  background-color: #151b26;
  position: absolute;
  border-radius: 10%;
  transition: all .3s linear;
}

#collapse-check {
  position: absolute;
  z-index: 1;
  display: none;
}

.collapse-span {
  width: 35px;
  height: 2px;
  top: 24px;
  left: 8px;
  position: absolute;
  background-color: #fff;
  transition: all .3s linear;
}

.collapse-span:before {
  content: '';
  width: 35px;
  height: 2px;
  top: -10px;
  position: absolute;
  background-color: #fff;
  transition: all .3s linear;
}

.collapse-span:after {
  content: '';
  width: 35px;
  height: 2px;
  bottom: -10px;
  position: absolute;
  background-color: #fff;
  transition: all .3s linear;
}

#collapse-check:checked ~ span {
  background-color: transparent;
}

#collapse-check:checked ~ span:before {
  transform: translate(0px, 10px) rotate(-45deg);
}

#collapse-check:checked ~ span:after {
  transform: translate(0px, -10px) rotate(45deg);
}

#collapse-check:checked ~ label {
  border-radius: 50%;
}

/* Colapse Menu End ------------------------------------*/
/* Patrons Footer Menu ------------------------------------*/
.active-icon:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 5%;
}

/* Novo Footer Menu */
#footer-navbar {
  background-color: rgba(21, 27, 38, 0.98);
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  display: block;
  transition: bottom 0.3s;
}

/* Patrons Footer Menu End ------------------------------------*/
/* MESSAGE BOXES
-----------------------------------------------*/
.fm-warning-msg {
  background-color: #FFFFFF;
  color: #212529;
  width: 100%;
  margin: auto;
  border-color: #1CA766;
  border-style: solid;
  border-radius: 5px;
  border-width: 2px;
  cursor: default;
}

/* ----------- Override do Modal ------------------------- */
/* ----------- Cantos mais redondos ------------------------- */
.modal-content {
  -webkit-border-radius: 15px !important;
  -moz-border-radius: 15px !important;
  border-radius: 15px !important;
}

/*------------------------------------
  Sidebar Navigation
------------------------------------*/
/* Disable content revealing on page load */
.u-sidebar[aria-labelledby] {
  opacity: 0;
}

.u-sidebar[aria-labelledby][role="tabpanel"] {
  opacity: 1;
}

.u-sidebar[aria-labelledby].u-unfold--css-animation, .u-sidebar[aria-labelledby].u-unfold--jquery-slide {
  opacity: 1;
}

.u-sidebar.u-unfold--css-animation.u-unfold--hidden {
  display: none;
  opacity: 0;
  visibility: hidden;
}

.u-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 102;
  width: 18.75rem;
  height: 100%;
  background-color: #fff;
  box-shadow: -0.5rem 0 1.125rem rgba(21, 27, 38, 0.07);
}

.u-sidebar__body, .u-sidebar__content {
  height: 100%;
}

.u-sidebar--left {
  right: auto;
  left: 0;
  box-shadow: 0.5rem 0 1.125rem rgba(21, 27, 38, 0.07);
}

.u-sidebar__close {
  color: #646f79;
}

.u-sidebar__close:hover {
  color: #151b26;
  opacity: 1;
}

.u-sidebar__scroller {
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
}

.u-sidebar__container {
  position: relative;
  height: 100%;
  min-height: 100%;
}

.u-sidebar__footer {
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}

/*------------------------------------
  Sidebar Panel
------------------------------------*/
/* Link */
.u-sidebar--panel__link {
  color: #646f79;
}

.u-sidebar--panel__link:hover {
  color: #21c87a;
}

/* Footer */
.u-sidebar--panel__footer-offset {
  height: 100%;
  box-sizing: border-box;
  padding-bottom: 9.5rem;
}

.u-sidebar__footer--panel {
  background: #fff;
  border-top: 1px solid #e3e6f0;
}

/* ----------- Sidebar Menu 2 ------------------------- */
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  background-color: rgba(21, 27, 38, 0.9);
  overflow-x: hidden;
  transition: all 0.5s ease-out 0s;
  -webkit-transition: all 0.5s ease-out 0s;
  -moz-transition: all 0.5s ease-out 0s;
  -ms-transition: all 0.5s ease-out 0s;
  -o-transition: all 0.5s ease-out 0s;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 18px;
  color: #9e9e9e;
  display: block;
  transition: all 0.3s ease-out 0s;
}

.sidenav a:hover {
  color: #f1f1f1;
  background: rgba(255, 255, 255, 0.1);
}

.sidenav .closebtn {
  position: absolute;
  top: 1px;
  right: 12px;
  padding: 8px 8px 8px 8px;
  font-size: 24px;
  border-radius: 5px;
}

.sidenav-topbox {
  position: relative;
  top: 6px;
  left: 52px;
  height: 60px;
  font-size: 20px;
}

/*------------------------------------
  Sidebar Panel
------------------------------------*/
/* Link */
.u-sidebar--panel__link {
  color: #646f79;
}

.u-sidebar--panel__link:hover {
  color: #66c8c9;
}

/* Footer */
.u-sidebar--panel__footer-offset {
  height: 100%;
  box-sizing: border-box;
  padding-bottom: 9.5rem;
}

.u-sidebar__footer--panel {
  background: #fff;
  border-top: 1px solid #e3e6f0;
}

/* SMILEYS RATING
---------------------------------------------- */
.fm-smile-rating {
  padding: 5px;
  /* we use padding to enlarge the image on mouse hover */
  cursor: pointer;
}

.fm-smile-rating:hover {
  padding: 0px;
  animation-name: smile-hover;
  animation-duration: 0.5s;
  transition: all ease 0.3s;
}

@keyframes smile-hover {
  20% {
    transform: rotate(10deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(10deg);
  }
  80% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

/* STAR RATING
---------------------------------------------- */
.rating {
  float: left;
}

/* :not(:checked) is a filter, so that browsers that don’t support :checked don’t
   follow these rules. Every browser that supports :checked also supports :not(), so
   it doesn’t make the test unnecessarily selective */
.rating:not(:checked) > input {
  display: none;
}

.rating:not(:checked) > label {
  float: right;
  width: 1em;
  padding: 0 .1em;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 200%;
  line-height: 1.2;
  color: #ddd;
}

.rating:not(:checked) > label:before {
  content: '★ ';
}

.rating > input:checked ~ label {
  color: #f70;
}

.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
  color: gold;
}

.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
  color: #ea0;
}

.rating > label:active {
  position: relative;
  top: 2px;
  left: 2px;
}

/*------------------------------------
    Timeline override
------------------------------------*/
.u-timeline__info, .u-timeline__spacer {
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 992px) {
  .u-timeline__info, .u-timeline__spacer {
    width: 33%;
  }
}

.u-timeline__info::before, .u-timeline__content::before {
  position: absolute;
  top: .5rem;
  bottom: 0;
  left: 1.875rem;
  height: 100%;
  border-left: 3px dashed #66c8c9;
  content: "";
}

@media (min-width: 992px) {
  .u-timeline__info::before, .u-timeline__content::before {
    left: .9375rem;
  }
}

.u-timeline__info {
  padding-bottom: 0;
}

@media (min-width: 992px) {
  .u-timeline__info {
    padding-bottom: 0;
  }
  .u-timeline__info::before {
    display: none;
  }
}

/* Tooltip colors */
.tooltip-inner {
  background-color: #171744;
}

.tooltip.bs-tooltip-right .arrow:before {
  border-right-color: #171744 !important;
}

.tooltip.bs-tooltip-left .arrow:before {
  border-left-color: #171744 !important;
}

.tooltip.bs-tooltip-bottom .arrow:before {
  border-bottom-color: #171744 !important;
}

.tooltip.bs-tooltip-top .arrow:before {
  border-top-color: #171744 !important;
}

/* TOPBAR ICONS
---------------------------------------------- */
.fm-topbar-icon {
  color: #66c8c9;
  cursor: pointer;
}

/* GRAYED SECTIONS
ATENÇÃO: Tem de estar declarado depois da secção "Bootstrap Overrides" e da secção de "Simple Cards"
-----------------------------------------------*/
/* should be versatile for all element types */
.fm-grayed {
  border-color: lightgray;
  color: gray;
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
  /* Disables mouse interaction */
}

.fm-grayed-text {
  color: gray;
  cursor: default;
}

.fm-grayed-btn {
  background-color: gray;
  color: lightgray;
  cursor: default;
}

.fm-grayed-card {
  border-color: gray;
  color: gray;
  cursor: default;
}

.fm-grayed-card:hover {
  border-color: gray;
  color: gray;
}

.fm-grayed-img {
  opacity: 0.5;
}

/*------------------------------------
  Background Colors
------------------------------------*/
.bg-gray-100 {
  background-color: #f5f8fb;
}

.bg-purple-opacity-0_07 {
  background-color: rgba(121, 110, 255, 0.07);
}

/* BOOTSTRAP - THEME OVERRIDES
---------------------------------------------- */
.u-hamburger:hover .u-hamburger__inner, .u-hamburger:hover .u-hamburger__inner::before, .u-hamburger:hover .u-hamburger__inner::after {
  background-color: #66c8c9;
}

.valid-feedback {
  color: #66c8c9;
}

.valid-tooltip {
  background-color: #66c8c9;
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #66c8c9;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #66c8c9;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #66c8c9;
}

.page-link:hover {
  color: #66c8c9;
}

.page-item.active .page-link {
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.progress-bar {
  background-color: #66c8c9;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  color: #66c8c9;
}

.list-group-item-action:active {
  color: #66c8c9;
}

.list-group-item.active {
  background-color: #66c8c9;
  border-color: #66c8c9;
}

.bg-primary {
  background-color: #66c8c9 !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #b4e1e1 !important;
}

/*  Código copiado do template mdb/css/mdb.css para os cards das lojas*/
.view {
  position: relative;
  overflow: hidden;
  cursor: default;
}

.view .mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
}

.view img, .view video {
  position: relative;
  display: block;
}

.view video.video-intro {
  z-index: -100;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transition: 1s opacity;
  -o-transition: 1s opacity;
  transition: 1s opacity;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

.overlay .mask {
  opacity: 0;
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.overlay .mask:hover {
  opacity: 1;
}

.rgba-dark-strong,
.rgba-dark-strong:after {
  background-color: rgba(49, 49, 49, 0.8);
}

.rgba-light-strong,
.rgba-light-strong:after {
  background-color: rgba(255, 255, 255, 0.8);
}

.rgba-primary,
.rgba-primary:after {
  background-color: #66c8c9;
}

.overlay .mask {
  opacity: 0;
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.overlay .mask:hover {
  opacity: 1;
}

.flex-center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

.flex-center p {
  margin: 0;
}

.flex-center ul {
  text-align: center;
}

.flex-center ul li {
  margin-bottom: 1rem;
}

.flex-center ul li:last-of-type {
  margin-bottom: 0;
}

/* Fim do template mdb */
