/*
Theme Name: Total Child Theme
Theme URI: https://your-site.com
Description: Your site description. Go to Appearance > Editor to modify this file.
Author: Your Name
Author URI: https://your-site.com
Template: Total
Version: 1.0
*/

/* -- Reset -- */

.wpex-has-primary-bottom-spacing #primary {
    padding-block-end: 0px;
}

.vc_column-inner {
  margin-bottom: 0px !important;
}

/* -- Selecció -- */

::-moz-selection {
  background: var(--color-fons);
  color: var(--color-text);
}

::selection {
  background: var(--color-fons);
  color: var(--color-text);
}

/* -- Top Bar -- */

#top-bar-wrap {
  background: var(--color-blanc);
}

#top-bar {
	padding: 8px 0;
}

/* -- Header -- */

#site-logo-link > img {
	width: 80px;
	height: auto;
}

#site-header-sticky-wrapper.is-sticky #site-header {
  background-color: var(--color-blanc);
}

.main-navigation-ul>.menu-item>a {
  font-size: var(--text);
  font-weight: var(--medium);
  letter-spacing: 0.5px;
  transition: color 0.3s ease-in-out;
}

/* Element menu header transparent */

.not-sticky .main-navigation-ul > .menu-item > a {
  opacity: 0.6;
  color: var(--color-blanc);
  transition: color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.not-sticky .main-navigation-ul > .menu-item > a:hover,
.not-sticky .main-navigation-ul > .current-menu-item > a {
  opacity: 1; 
  color: var(--color-blanc);
}

/* Element menu header amb fons */

.is-sticky .main-navigation-ul > .menu-item > a {
  opacity: 1;
  color: var(--color-clar);
  transition: color 0.3s ease-in-out;
}

.is-sticky .main-navigation-ul > .menu-item > a:hover,
.is-sticky .main-navigation-ul > .current-menu-item > a {
  opacity: 1; 
  color: var(--color);
}

/* Icones xarxes */

#top-bar-social a.wpex-social-btn-no-style {
  color: var(--color-clar);
  transition: color 0.3s ease-in-out
}

#top-bar-social a.wpex-social-btn-no-style:hover {
  color: var(--color);
}

/* WPML */

@media (max-width: 768px) {
  #menu-menu-superior-castella.top-bar-menu.wpex-inline-block.wpex-m-0.wpex-list-none.wpex-last-mr-0.wpex-mr-20 {
  margin-inline-end: 0px; }
}

@media (max-width: 768px) {
  .top-bar-item.wpex-sm-inline-block.wpex-ml-20 {
  margin-inline-start: 0px; }
}

.wpml-ls-statics-shortcode_actions {
  border: 0;
  background: transparent;
}

#top-bar .lang_sel_list_horizontal a,
#top-bar .lang_sel_list_horizontal a:visited {
  font-family: var(--font);
  font-size: var(--text-petit);
  font-weight: var(--bold);
  text-decoration: none;
  font-style: italic;
  text-transform: uppercase;
  color: var(--color-clar);
  cursor: pointer;
  -webkit-transition: 0.3s all ease-in-out;
  -moz-transition: 0.3s all ease-in-out;
  -ms-transition: 0.3s all ease-in-out;
  -o-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}

#top-bar .lang_sel_list_horizontal a:hover,
#top-bar .lang_sel_list_horizontal li.wpml-ls-current-language a {
  font-family: var(--font);
  font-size: var(--text-petit);
  font-weight: var(--bold);
  text-decoration: none;
  font-style: italic;
  text-transform: uppercase;
  color: var(--color) !important;
  cursor: pointer;
}

/* Menu mobil */

body .wpex-mobile-menu a,
body .main-navigation a {
  font-family: var(--font), sans-serif;  /* Utilitza la variable definida per a la font del menú */
}

body > div.full-screen-overlay-nav > div {
  background: var(--color-blanc);
}

body > div.wpex-mobile-menu > div > div > nav > ul > li.menu-item > a {
  font-family: var(--font);
  font-size: var(--text);
}

body > div.wpex-mobile-menu > div > div > nav > ul > li.wpml-ls-item.wpml-ls-menu-item > a {
  font-size: var(--text-menu);
}

body > div.wpex-mobile-menu > div > div > nav > ul > li.wpml-ls-item.wpml-ls-menu-item > a:before {
  content: '/';
  margin-right: 5px;
}

body > div.wpex-mobile-menu > div > div > nav > ul > li.wpml-ls-item.wpml-ls-menu-item > a:after {
  content: '/';
  margin-left: 5px;
}

/* -- Root -- */

:root {
	--font: 'Mulish', sans-serif;
	--text-menu: 15px;
	--text-petit: 12px;
	--text: 16px;
	--text-gran: 18px;
	--text-titol: 30px;
	--text-subtitol: 20px;
	--normal: 300;
	--medium: 400;
	--link: 500;
	--bold: 600;
	--extra-bold: 800;
	--color: #3e2e2a;
	--color-clar: #8b827f;
	--color-fons: #d8d5d4;
  --color-obscur: #302725;
	--color-text: #202020;
	--color-blanc: #ffffff;
	--color-gris-clar: #909090;
	--color-gris: #606060;
	--color-gris-obscur: #303030;
}

/* -- Text -- */

body {
  font-family: 'Mulish', sans-serif;
}

h1 {
	font-size: var(--text-titol);
	font-weight: var(--medium);
	color: var(--color);
	text-transform: uppercase;
	margin: 0;
}

h2 {
	font-size: var(--text-titol);
	font-weight: var(--medium);
	color: var(--color);
	text-transform: uppercase;
	margin: 0;
}

h3 {
	font-size: var(--text-subtitol);
	font-weight: var(--medium);
	color: var(--color);
	text-transform: uppercase;
	margin: 0;
}

p {
	font-size: var(--text);
	font-weight: var(--normal);
	color: var(--color-text);
}

.text-petit > div > p {
  font-size: var(--text-petit);
  font-weight: var(--link);
  color: var(--color);
}

b, strong {
	font-weight: var(--bold);
}

/* -- Enllaços -- */

a {
	color: var(--color);
	font-weight: var(--link);
	text-decoration: none;
	transition: color 0.3s ease-in-out;
}

a:hover {
	color: var(--color-clar);
	text-decoration: none;
}

/* -- Contingut -- */

div.requadre {
  padding: 75px 50px;
  margin: 100px 0;
  background: rgba(255,255,255,0.9);
}

@media only screen and (max-width: 767px) {
  div.requadre {
  padding: 25px 10px;
  margin: 100px 0;
  background: rgba(255,255,255,0.9); }
}

figure.logo-web > div > img {
	width: 140px;
	height: auto;
}

.imatge-servei img {
  width: 60px;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

/* Separador */

div.separador-blanc {
  border-style: dashed;
  border: 1px;
  width: 20px;
  margin-bottom: 25px;
}

/* -- Formulari -- */

.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form .wpex-select-wrap {
  margin-top: 5px !important;
}

form > p {
	font-family: var(--font);
  font-size: 10px;
  font-weight: var(--normal);
  color: var(--color-text);
  text-transform: uppercase;
  text-align: center;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
  display: inline-block;
  color: var(--color-text);
  padding: 10px 10px;
  margin-bottom: 5px;
  font-family: var(--font);
  font-weight: var(--normal);
  font-size: var(--text);
  line-height: 1;
  text-align: center;
  width: 100%;
  border: 1px solid var(--color-fons);
  background: transparent;
  opacity: 1;
  cursor: ;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: 0.3s all ease-in-out;
  -moz-transition: 0.3s all ease-in-out;
  -ms-transition: 0.3s all ease-in-out;
  -o-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}

input[type="date"]:hover,
input[type="time"]:hover,
input[type="datetime-local"]:hover,
input[type="week"]:hover,
input[type="month"]:hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="url"]:hover,
input[type="password"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="number"]:hover,
textarea:hover,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
  background: var(--color-fons);
  opacity: 1;
}

textarea {
  display: inline-block;
  color: var(--color-text);
  padding: 10px 10px;
  margin-bottom: 5px;
  font-family: var(--font);
  font-weight: var(--normal);
  font-size: var(--text);
  line-height: 1;
  text-align: left;
  width: 100%;
  border: 1px solid var(--color-fons);
  background: transparent;
  opacity: 1;
  cursor: ;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: 0.3s all ease-in-out;
  -moz-transition: 0.3s all ease-in-out;
  -ms-transition: 0.3s all ease-in-out;
  -o-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}

.wpcf7-not-valid-tip {
  color: var(--wpex-red-error) !important;
  font-family: var(--font);
  font-size: var(--text-petit);
  font-weight: var(--normal) !important;
  text-align: center;
}

div.wpcf7-response-output {
  font-family: var(--font);
  color: var(--color-text);
}

span.wpcf7-list-item {
  display: inline-block;
  margin-right: 2px !important;
}
.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 0;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  left: 0px;
  top: 1px;
  width: 13px !important;
  height: 13px !important;
  border: 2px solid var(--color-clar);
  background: var(--color-blanc);
  color: var(--color-text);
  cursor: pointer;
  -webkit-transition: 0.3s all ease-in-out;
  -moz-transition: 0.3s all ease-in-out;
  -ms-transition: 0.3s all ease-in-out;
  -o-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}

input[type="checkbox"]:hover,
input[type="radio"]:hover {
  border: 2px solid var(--color-clar);
  background: var(--color-clar);
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
  border: 2px solid var(--color);
  background: var(--color) !important;
  outline: none;
}

div.acceptacio > p {
  font-family: var(--font);
  font-size: var(--text);
  font-weight: var(--normal);
  color: var(--color-text);
  text-align: left;
}

input[type="submit"] {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font) !important;
  text-transform: uppercase;
  letter-spacing: 0px;
  line-height: 1;
  font-weight: var(--normal);
  margin: 50px auto 0 auto !important;
  padding: 15px 25px;
  font-size: var(--text-menu);
  letter-spacing: 0.3px;
  background-color: var(--color-fons);
  color: var(--color-text);
  border-radius: 3px;
  border-width: 0px;
  -webkit-transition: 0.3s all ease-in-out;
  -moz-transition: 0.3s all ease-in-out;
  -ms-transition: 0.3s all ease-in-out;
  -o-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}

input[type="submit"]:hover {
  background-color: var(--color-clar);
  color: var(--color-blanc);
}

/* -- Peu -- */

#peu {
  background: var(--color-obscur);
  padding: 50px 0 0 0;
}

figure.logo-peu > div > img {
  width: 80px;
  height: auto;
}

#peu > div > div > div > div.text-logo > div > p {
  font-family: var(--font);
  color: var(--color-blanc);
  font-size: var(--text-gran);
  font-weight: var(--normal);
  letter-spacing: 0.3px;
}

#peu > div > div > div > div.text-descripcio > div > p {
  font-family: var(--font);
  color: var(--color-fons);
  font-size: var(--text);
  font-weight: var(--normal);
  letter-spacing: 0.3px;
}

#peu > div > div > div > div > div > p {
  font-family: var(--font);
  font-size: var(--text-menu);
  color: var(--color-clar);
  font-weight: var(--normal);
}

#peu > div > div > div > div > div > p > a {
  font-family: var(--font);
  font-size: var(--text-menu);
  color: var(--color-clar);
  font-weight: var(--normal);
  letter-spacing: 0.3px;
  /* opacity: 0.7; */
  text-decoration: none;
  -webkit-transition: 0.3s all ease;
  -moz-transition: 0.3s all ease;
  -ms-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

#peu > div > div > div > div > div > p > a:hover {
  color: var(--color-fons);
  font-weight: var(--normal);
  /* opacity: 0.3; */
}

#peu > div > div > div > div.separador {
  width: 20px;
  border-style: dashed;
  border-bottom-width: 1px;
  border-color: var(--color-clar) !important;
  margin: 20px auto;
}

#peu > div > div > div > div.wpex-social-btns.vcex-social-btns > a {
  font-size: 16px;
  color: var(--color-clar);
  -webkit-transition: 0.3s all ease;
  -moz-transition: 0.3s all ease;
  -ms-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

#peu > div > div > div > div.wpex-social-btns.vcex-social-btns > a:hover {
  font-size: 16px;
  color: var(--color-fons);
  text-decoration: none;
}

#peu > div > div > div > figure.vcex-image.vcex-module.wpex-text-center.kit-digital > div > img {
  width: 400px;
  height: auto;
  opacity: 0.4;
}

.ideograma {
  background: var(--color-gris-obscur);
  padding: 8px 0;
}

#peu > div > div > div > div.ideograma > div > div > div > div > div > p {
  font-family: var(--font);
  color: var(--color-gris);
  font-size: var(--text-petit);
  font-weight: var(--normal);
}

#peu > div > div > div > div.ideograma > div > div > div > div > div > p > a {
  font-family: var(--font);
  color: var(--color-gris-clar);
  font-weight: var(--bold);
  text-decoration: none;
  -webkit-transition: 0.3s all ease;
  -moz-transition: 0.3s all ease;
  -ms-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

#peu > div > div > div > div.ideograma > div > div > div > div > div > p > a:hover {
  color: var(--color-gris);
}

/* -- Scroll to top -- */

#site-scroll-top {
  font-size: 30px;
  height: 50px;
  width: 50px;
  background-color: transparent;
  color: var(--color-clar);
  opacity: 1;
  -webkit-transition: 0.3s all ease;
  -moz-transition: 0.3s all ease;
  -ms-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

#site-scroll-top:hover {
  background-color: transparent;
  color: var(--color-fons) !important;
  opacity: 1;
}

/* -- Cookies -- */

.cky-modal {
  font-family: var(--font);
  font-size: var(--text);
  font-weight: var(--normal);
  border-radius: 5px !important;
  color: var(--color-text);
  background: var(--color-blanc) !important;
  -webkit-transition: all .3s ease-in-out !important;
  -moz-transition: all .3s ease-in-out !important;
  -ms-transition: all .3s ease-in-out !important;
  -o-transition: all .3s ease-in-out !important;
  transition: all .3s ease-in-out !important;
}

.cky-consent-container .cky-consent-bar {
  font-family: var(--font) !important;
  background: var(--color-blanc) !important;
  border: 0 !important;
  padding: 25px 25px;
  box-shadow: 0 -1px 10px 0 #acabab4d;
}

.cky-consent-bar .cky-banner-btn-close {
  position: absolute;
  right: 10px !important;
  top: 10px !important;
}

.cky-consent-bar .cky-banner-btn-close img {
  height: 10px !important;
  width: 10px !important;
}

p.cky-title {
  font-family: var(--font);
  font-weight: var(--bold) !important;
  color: var(--color) !important;
  letter-spacing: 0px;
  text-transform: uppercase;
}

div.cky-notice-des > p {
  font-family: var(--font);
  font-size: var(--text);
  font-weight: var(--normal);
  color: var(--color-text) !important;
  text-transform: none;
}

div.cky-notice-des > p > a {
  font-family: var(--font);
  font-size: var(--text) !important;
  font-weight: var(--normal);
  color: var(--color-text) !important;
  text-decoration: none !important;
  opacity: 1;
  -webkit-transition: all .3s ease-in-out !important;
  -moz-transition: all .3s ease-in-out !important;
  -ms-transition: all .3s ease-in-out !important;
  -o-transition: all .3s ease-in-out !important;
  transition: all .3s ease-in-out !important;
}

div.cky-notice-des > p > a:hover {
  opacity: 1;
  color: var(--color-blanc) !important;
}

.cky-btn,
.cky-btn:hover {
  opacity: 1 !important;
}

.cky-btn.cky-btn-customize,
.cky-btn.cky-btn-reject,
.cky-btn.cky-btn-preferences,
.cky-btn-accept,
.cky-btn.cky-btn-accept {
  font-family: var(--font);
  font-size: var(--text);
  font-weight: var(--bold);
  text-transform: none;
  color: var(--color-text) !important;
  background: var(--color-clar) !important;
  border: 0;
  -webkit-transition: all .3s ease-in-out !important;
  -moz-transition: all .3s ease-in-out !important;
  -ms-transition: all .3s ease-in-out !important;
  -o-transition: all .3s ease-in-out !important;
  transition: all .3s ease-in-out !important;
}

.cky-btn-customize:hover,
.cky-btn.cky-btn-reject:hover,
.cky-btn.cky-btn-preferences:hover,
.cky-btn-accept:hover,
.cky-btn.cky-btn-accept:hover {
  font-family: var(--font-text);
  color: var(--color-blanc) !important;
  background: var(--color) !important;
  border: 0;
}

.cky-preference-center {
  background: var(--color-blanc) !important;
  border: 0 !important;
  border-radius: 5px !important;
}

.cky-accordion-header .cky-accordion-btn {
  font-size: var(--text) !important;
  font-family: var(--font) !important;
  color: var(--color-text) !important;
  font-weight: var(--normal) !important;
}

.cky-preference-content-wrapper > p {
  font-size: var(--text);
  font-weight: var(--normal);
}

div.cky-accordion-header-des > p {
  font-size: var(--text);
  font-weight: var(--normal);
}

.cky-preference-content-wrapper .cky-show-desc-btn {
  font-family: var(--font) !important;
  font-size: var(--text) !important;
  font-weight: var(--bold) !important;
  color: var(--color-text) !important;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out !important;
  -moz-transition: all .3s ease-in-out !important;
  -ms-transition: all .3s ease-in-out !important;
  -o-transition: all .3s ease-in-out !important;
  transition: all .3s ease-in-out !important;
}

.cky-preference-content-wrapper .cky-show-desc-btn:hover {
  font-size: var(--text) !important;
  color: var(--color-clar) !important;
}

.cky-switch input[type="checkbox"]:checked {
  background: var(--color);
}

.cky-footer-shadow {
  background: transparent !important;
}

div.cky-footer-wrapper > div {
  border-radius: 0 !important;
}

div.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
  background: var(--color) !important;
}

/* -- Recaptcha -- */

.grecaptcha-badge {
  display: none;
}