/* Estils generals */

body {
    font-family: 'Work Sans', sans-serif;
    padding-top: 5rem;
    z-index    : 2;
    opacity    : 1;
}

body.path-frontpage:before,
body.page-node-type-proyecto:before {
    content            : ' ';
    display            : block;
    position           : absolute;
    left               : 0;
    top                : 0;
    width              : 100%;
    height             : 100%;
    z-index            : -1;
    /*opacity            : 0.3;
    filter             : blur(2px);
    background-position: 50% 0;
    background-size    : cover !important;
    background         : url(../img/home-2000.jpg) fixed no-repeat;*/
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Lora', Times, serif;
    font-weight: 700;
}

h1 {
    font-size: 35px;
}

h3 {
    font-size: 26px;
}

strong {
    font-weight: 500;
}

a {
    color          : #1d96bb;
    text-decoration: none;
    font-weight    : 500;
}

.btn,
.button {
    font-weight  : 500;
    padding      : 15px 100px;
    border-radius: 30px;
}

.btn-primary {
    background-color: #1d96bb;
    border-color    : #1d96bb;
}

.btn-primary:hover {
    background-color: #393E46;
    border-color    : #393E46;
}

.form-control {
    padding     : 0.594rem 0.75rem;
    border-color: #999796;
}

.form-item label {
    margin-bottom: 10px;
}

.view-header h1,
.view-header p {
    text-align: center;
}

.view-header h1 {
    margin-bottom: 20px;
}

/* Tipografia */

.text-serif {
    font-family: 'Lora', Times, serif;
}

.text-serif strong {
    font-weight: 700;
}

.text-sans {
    font-family: 'Work Sans', sans-serif;
}


/* Header i navegació */

header {
    box-shadow      : 0px 3px 6px #00000029;
    background-color: #fff;
    position        : fixed;
    top             : 0;
    right           : 0;
    left            : 0;
    z-index         : 1030;
}

header nav.navbar {
    height: 80px;
}

.navbar-expand-lg .navbar-nav .nav-link {
    /* color  : #fff; */
    color  : #000;
    padding: 15px 50px;
}

header .header-logo img {
    margin-top: -5px;
    width     : 190px;
}

.navbar-toggler {
    /*background-color: #393E46;*/
    background-color: #fff;
    padding         : 0.25rem;
    /*border-radius   : 50%;*/
    position        : relative;
    z-index         : 999;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-nav .dropdown-toggle::after {
    float         : left;
    margin-left   : 0;
    vertical-align: 0;
    border        : none;
    width         : 11px;
    height        : 6px;
    background    : url("data:image/svg+xml,%3csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.646447 0.646447C0.841709 0.451184 1.15829 0.451184 1.35355 0.646447L6 5.29289L10.6464 0.646447C10.8417 0.451184 11.1583 0.451184 11.3536 0.646447C11.5488 0.841709 11.5488 1.15829 11.3536 1.35355L6.35355 6.35355C6.25979 6.44732 6.13261 6.5 6 6.5C5.86739 6.5 5.74021 6.44732 5.64645 6.35355L0.646447 1.35355C0.451184 1.15829 0.451184 0.841709 0.646447 0.646447Z' fill='white'/%3e%3c/svg%3e") center no-repeat;
    background    : url("/sites/default/files/icons8-menu-67.png") center no-repeat;
    margin-top    : 10px;
    margin-right  : 8px;
    transform     : rotateZ(-90deg);
    transition    : all 200ms ease;
}

.navbar-nav .dropdown-toggle.show::after {
    transform: rotateZ(0deg);
}

.navbar-toggler-icon {
    padding   : 5px 0;
    text-align: center;
}

.navbar-toggler-icon:before {
    content   : ' ';
    display   : block;
    width     : 30px;
    height    : 20px;
    background: url("data:image/svg+xml,%3csvg width='21' height='20' viewBox='0 0 21 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e,%3cpath d='M2.36827 16.7175L17.2175 1.86827C17.405 1.68074 17.6594 1.57538 17.9246 1.57538C18.1898 1.57538 18.4442 1.68074 18.6317 1.86827C18.8193 2.05581 18.9246 2.31016 18.9246 2.57538C18.9246 2.8406 18.8193 3.09495 18.6317 3.28249L3.78248 18.1317C3.59495 18.3193 3.34059 18.4246 3.07538 18.4246C2.81016 18.4246 2.55581 18.3193 2.36827 18.1317C2.18073 17.9442 2.07538 17.6898 2.07538 17.4246C2.07538 17.1594 2.18073 16.9051 2.36827 16.7175V16.7175Z' fill='white'/%3e,%3cpath d='M3.78249 1.86827L18.6317 16.7175C18.8193 16.905 18.9246 17.1594 18.9246 17.4246C18.9246 17.6898 18.8193 17.9442 18.6317 18.1317C18.4442 18.3193 18.1898 18.4246 17.9246 18.4246C17.6594 18.4246 17.4051 18.3193 17.2175 18.1317L2.36827 3.28248C2.18074 3.09495 2.07538 2.84059 2.07538 2.57538C2.07538 2.31016 2.18074 2.05581 2.36827 1.86827C2.55581 1.68073 2.81016 1.57538 3.07538 1.57538C3.3406 1.57538 3.59495 1.68073 3.78249 1.86827V1.86827Z' fill='white'/%3e,%3c/svg%3e") center no-repeat;
    background    : url("/sites/default/files/icons8-menu-67.png") center no-repeat;
}

.navbar-toggler.collapsed .navbar-toggler-icon:before {
    background: url("data:image/svg+xml,%3csvg width='23' height='14' viewBox='0 0 23 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 0H22C22.2652 0 22.5196 0.105356 22.7071 0.292892C22.8946 0.480429 23 0.734784 23 1C23 1.26522 22.8946 1.51957 22.7071 1.70711C22.5196 1.89464 22.2652 2 22 2H1C0.734784 2 0.48043 1.89464 0.292893 1.70711C0.105357 1.51957 0 1.26522 0 1C0 0.734784 0.105357 0.480429 0.292893 0.292892C0.48043 0.105356 0.734784 0 1 0V0Z' fill='white'/%3e%3cpath d='M1 6H22C22.2652 6 22.5196 6.10536 22.7071 6.29289C22.8946 6.48043 23 6.73478 23 7C23 7.26522 22.8946 7.51957 22.7071 7.70711C22.5196 7.89464 22.2652 8 22 8H1C0.734784 8 0.48043 7.89464 0.292893 7.70711C0.105357 7.51957 0 7.26522 0 7C0 6.73478 0.105357 6.48043 0.292893 6.29289C0.48043 6.10536 0.734784 6 1 6V6Z' fill='white'/%3e%3cpath d='M1 12H22C22.2652 12 22.5196 12.1054 22.7071 12.2929C22.8946 12.4804 23 12.7348 23 13C23 13.2652 22.8946 13.5196 22.7071 13.7071C22.5196 13.8946 22.2652 14 22 14H1C0.734784 14 0.48043 13.8946 0.292893 13.7071C0.105357 13.5196 0 13.2652 0 13C0 12.7348 0.105357 12.4804 0.292893 12.2929C0.48043 12.1054 0.734784 12 1 12V12Z' fill='white'/%3e%3c/svg%3e") center no-repeat;
    background    : url("/sites/default/files/icons8-menu-67.png") center no-repeat;
}

.navbar-collapse {
    position        : fixed;
    top             : 0;
    left            : 100%;
    transition      : all 0.4s ease;
    display         : block;
    z-index         : 9;
    width           : 100vw;
    height          : 100vh;
    /* background-color: #393E46; */
    background-color: #fff;
}

.navbar-collapse.collapsing {
    height     : 100vh !important;
    margin-left: 50%;
    left       : 50%;
    transition : all 0.2s ease;
}

.navbar-collapse.show {
    left: 0;
}

.region-nav-main {
    margin-top: 80px;
    height    : calc(100% - 80px);
}

.menu--menu-principal,
.menu--menu-principal .navbar-nav {
    height  : 100%;
    position: relative;
}

.menu--menu-principal a {
    font-weight: unset;
}

.navbar-nav .dropdown-menu {
    /* background-color: #393E46; */
    background-color: #fff;
    border          : none;
    padding-left    : 40px;
}

.navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2),
.navbar-expand-lg .navbar-nav>.nav-item:last-child {
    /* position: absolute; */
    left    : 0;
    width   : 100%;
}

.navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) {
    /* background-color: #eee; */
    background-color: #fff;
    /* bottom          : 80px; */
    height          : 60px !important;
    padding-top     : 10px;
}

.navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) .nav-link {
    color: #393E46;
}

.navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(1) .nav-link {
  /*color: #393E46;*/
  padding: 10px !important;
  margin-top: 16px;
  color: #1d96bb !important;
  border: 1px #1d96bb solid;
}

.navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(1) .nav-link:hover {
  /*background-color: lime !important; */
  color: #fff !important;
}

.navbar-expand-lg .navbar-nav>.nav-item:last-child {
    /*background-color: #1d96bb;*/
    background-color: #fff;
    /* bottom          : 0; */
    height          : 160px;
    padding-top     : 10px;
}

/* Breadcrumbs */

.breadcrumb {
    font-size : 14px;
    margin-top: 10px;
    flex-wrap : nowrap;
}

.breadcrumb-item+.breadcrumb-item::before {
    color  : #1d96bb;
    content: var(--bs-breadcrumb-divider, ">");
    /* rtl : var(--bs-breadcrumb-divider, "/"); */
    /*float: none;*/
}

.breadcrumb li:last-child {
    /* width        : 250px; */
    width        : fit-content;
    white-space  : nowrap;
    overflow     : hidden;
    text-overflow: ellipsis;
}


/* Footer */

footer {
    /*background-color: #393E46;*/
    background-color: #06232b;
}

footer>*,
footer a {
    color: #fff;
}

footer a {
    text-decoration: none;
    font-size      : 14px;
}

footer a:hover {
    text-decoration: underline;
    color          : #fff;
}

.logo-footer {
    margin-right: 1rem;
    width       : 100%;
}

.logo-footer img {
    width: 193px;
}

.sublogo-footer img {
    width: 253px;
}

.fields-inline .field__item {
    float        : left;
    padding-right: 0.5em;
}

/* Responsive */


@media (min-width: 768px) {

    /* Logo */

    header .header-logo img {
        width: 100%;
    }

    /* menu */

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2),
    .navbar-expand-lg .navbar-nav>.nav-item:last-child {
        height: 80px;
    }
}

@media (min-width: 992px) {

    body:before {
        content            : ' ';
        display            : block;
        position           : fixed;
        left               : 0;
        top                : 0;
        width              : 100%;
        height             : 100%;
        z-index            : -1;
        opacity            : 0.3;
        /*filter             : blur(2px);
        background-position: 50% 0;
        background-size    : cover !important;
        background         : url(../img/home-2000.jpg) fixed no-repeat;*/
    }

    body.path-blog:before {
        content            : ' ';
        display            : block;
        position           : fixed;
        left               : 0;
        top                : 0;
        width              : 100%;
        height             : 100%;
        z-index            : -1;
        opacity            : 0.5;
        filter             : blur(2px);
        background-position: 50% 0;
        background-size    : cover !important;
        background         : url(../img/fondo-blog.png) fixed no-repeat;
    }

    h1 {
        font-size: 65px;
    }

    h3 {
        font-size: 35px;
    }

    header .header-logo img {
        /* width: 130px; */
    }

    .view-header h1 {
        margin-bottom: 30px;
    }

    .breadcrumb {
        margin-top   : 20px;
        font-size    : 16px;
        margin-bottom: 40px;
    }

    .breadcrumb-item+.breadcrumb-item::before {
        float: left;
    }

    /* Menu */

    .navbar-expand-lg .navbar-toggler {
        display: block;
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: column;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 15px 50px;
    }

    header nav.navbar .navbar-collapse:after {
        content         : ' ';
        position        : absolute;
        top             : 0;
        left            : 100%;
        width           : calc((100vw - 954px) / 2);
        height          : 80px;
        /*background-color: #1d96bb;*/
        background-color: #fff;
    }

    .navbar-nav .dropdown-menu {
        background-color: #393E46;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: static;
    }

    .dropdown:hover .dropdown-menu {
        /* display   : block; */
        margin-top: 0;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) .nav-link:hover {
        /*background-color: #393e46;*/
        background-color: #eee;
        color           : #1d96bb;

    }

    .navbar-expand-lg .navbar-nav>.nav-item:last-child .nav-link:hover {
        background-color: #1d96bb;
        color           : #393E46;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu .nav-link {
        padding: 15px 50px;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu .nav-item:hover .nav-link {
        font-weight: 500;
    }

    .navbar-collapse {
        position        : fixed;
        width           : 100%;
        height          : 100vh;
        left            : 100%;
        background-color: #393E46;
    }

    .navbar-expand-lg .navbar-collapse {
        display: block !important;
    }

    .region-nav-main {
        /* margin-top: 0; */
    }

    .logo-footer,
    .sublogo-footer {
        display: inline-block;
    }

    .logo-footer img,
    .sublogo-footer img {
        width: unset;
    }

    .logo-footer {
        width: unset;
    }
}

@media (min-width: 1200px) {

    /* Header */
    header .header-logo img {
        width: 100%;
    }

    header nav.navbar .navbar-collapse:after {
        width: calc((100vw - 1117px) / 2);
    }
}

@media (min-width: 1400px) {

    /* Menu */

    .region-nav-main {
        margin-top: 0;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        color  : #000;
        padding: 1.75rem 0.5rem;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) {
        height: 80px;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:last-child {
        height: 80px;
    }

    .navbar-expand-lg .navbar-toggler {
        display: none;
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-lg .navbar-collapse {
        display   : flex !important;
        flex-basis: auto;
    }

    .region-nav-main {
        margin-top: 0;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute;
    }

    .navbar-expand-lg .navbar-nav .nav-item .nav-link:hover {
        background-color: #eee;
        color           : #1d96bb;
    }

    .navbar-collapse {
        position        : relative;
        width           : unset;
        height          : unset;
        left            : unset;
        background-color: transparent;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        width           : 375px;
        padding         : 25px 0;
        box-shadow      : 0px 3px 6px #00000029;
        border-radius   : 10px;
        left            : calc((100% / 2) - (375px / 2));
        background-color: #fff;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1rem;
        padding-left : 1rem;
    }

    header nav.navbar .navbar-collapse:after {
        width: calc((100vw - 1314px) / 2);
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) {
        /*background-color: #393E46;*/
        background-color: #fff;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) .nav-link,
    .navbar-expand-lg .navbar-nav>.nav-item:last-child .nav-link {
        /*color: #fff;*/
        color: #000;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2) {
        padding: 0 2.5rem;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2),
    .navbar-expand-lg .navbar-nav>.nav-item:last-child {
        position: relative;
        top     : unset;
        bottom  : unset;
        width   : unset;
    }

    .navbar-expand-lg .navbar-nav>.nav-item:nth-last-child(2),
    .navbar-expand-lg .navbar-nav>.nav-item:last-child {
        padding-top: unset;
    }
}
