/*
 Theme Name:   BCSD Portugal
 Description:  A bootScore Child Theme
 Author:       Activemedia
 Author URI:   https://activemedia.pt/
 Template:     bootscore-main
 Version:      1.0
 Text Domain:  bootscore
*/

/************************************************\
» VARS
\************************************************/

:root {
    /* Color Palette */
    --color-primary: #000;
    --color-light: #666;
    --color-primary-lighter: #FFFFFF;
    --color-secondary: #CFEBD7;
    --color-secondary-light: #e5f4e9;
    --color-secondary-darker: #216470;
    --color-tertiary: #217024;
    --color-tertiary-light: #30a133;

    /* font families */
    --type-body: 'Open Sans', sans-serif;
    ;
    --type-title: 'Open Sans', sans-serif;
    ;
}

/************************************************\
» Type
\************************************************/
body {
    font-family: var(--type-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
blockquote {
    font-family: var(--type-title);
}

/* Size */
h3 {
    font-size: calc(1.2rem + 0.6vw);
}

.post-nav .entry-content,
#cc_formation_wrap .entry-content {
    font-size: 15px;
}

/************************************************\
» OBJECTS & CLASSES
\************************************************/

/* HTML *****************************************/

/* Form */
form {
    width: 100%;
}

/* Table */
table {
    border-top: solid 1px rgba(0, 0, 0, .2);
    border-left: solid 1px rgba(0, 0, 0, .2);
    font-size: .85em
}

tr {
    border-bottom: solid 1px rgba(0, 0, 0, .2);
}

td,
th {
    border-right: solid 1px rgba(0, 0, 0, .2);
    padding: .5rem;
    text-align: left !important;
}

td,
td span {
    font-family: var(--type-body) !important;
}

th,
th span {
    font-family: var(--type-title) !important;
    font-weight: 900;
}

/* Blockquote */
blockquote {
    font-size: 1.2em;
    font-style: italic;
    padding-top: 1rem;
    text-align: center;
    position: relative;
    padding: 1rem 0;
    color: var(--color-secondary-darker);
}

blockquote * {
    position: relative;
    z-index: 1;
}

blockquote::before {
    font-family: 'Times New Roman', Times, serif;
    content: ',,';
    transform: rotate(180deg);
    letter-spacing: -.1em;
    position: absolute;
    left: 0;
    top: -70px;
    font-size: 15rem;
    z-index: 0;
    color: #CFEBD7;
}

blockquote::after {
    font-family: 'Times New Roman', Times, serif;
    content: ',,';
    letter-spacing: -.1em;
    position: absolute;
    right: 0;
    bottom: -40%;
    font-size: 15rem;
    z-index: 0;
    color: #CFEBD7;
}

/* Links ****************************************/

a,
a:hover,
a.black-link:hover {
    cursor: pointer;
    color: var(--color-secondary-darker);
    text-decoration: none;
}

.entry-content a {
    color: var(--color-tertiary-light);
}

.entry-title a {
    color: var(--color-primary);
}

a.black-link {
    color: var(--primary)
}

a:hover,
.btn:hover {
    opacity: .6;
}

/* Buttons **************************************/
label,
.btn {
    cursor: pointer;
}

.btn:hover {
    color: var(--color-primary-lighter);
    background-color: var(--color-secondary-darker);

}

.btn,
.nav-links a,
.wp-block-button__link a,
a.wp-block-button__link {
    border-radius: 10rem;
    background-color: var(--color-secondary-darker);
    padding: .5rem 1rem;
    color: var(--color-primary-lighter);
}

.btn__not {
    border-color: transparent;
    background-color: transparent;
    color: var(--secondary);
    padding: 0;
}

.btn__readmore,
.btn__readmore:hover {
    font-size: 1.5em;
    border-color: transparent;
    background-color: transparent;
    color: var(--color-secondary-darker);
    padding: 0;
}

.btn__hamburger,
.btn__hamburger:hover {
    margin: .8rem;
    background-color: transparent;
    color: var(--color-secondary-darker);
    border: none;
}


/* Images */
.post-thumbnail__as-bg {
    border: solid .8rem var(--color-primary-lighter);
    min-height: 20rem;
    position: relative;
    image-rendering: high-quality;
}

.post-thumbnail__as-bg>div,
.post-thumbnail__as-bg>a {
    background-size: cover;
    background-position: center;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

/* Flex Layout */
.flex-vertical-space {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.flex-fill-space {
    flex-grow: 1
}

/* Other Classes ********************************/

.line-left {
    border-left: solid 1px var(--primary)
}

.line-right {
    border-right: solid 1px var(--primary)
}

.line-top {
    border-top: solid 1px var(--primary)
}

.line-bottom {
    border-bottom: solid 1px var(--primary)
}


/************************************************\
» TEMPLATE LAYOUT
\************************************************/

/* Template Global ******************************/
body {
    background-color: var(--color-secondary-light)
}

.entry-title {
    border-bottom: none;
    padding-bottom: 0;
}

.entry-meta {
    font-size: .9em;
    margin-bottom: 1em;
}

.posted-on {
    color: var(--color-secondary-darker);
}

/* Transitions */
a,
.container,
.btn,
.btn-secondary .box-hover-post-thumb,
img,
header#masthead form {
    transition: opacity 0.2s ease-in-out;
}

/* Header */
nav#nav-main {
    background-color: var(--color-secondary);
    padding: 0;
}

nav#nav-main .navbar-nav {
    list-style: none;
}

nav#nav-main .navbar-brand img {
    width: 100%;
    max-width: 8rem;
}

nav#nav-main .navbar-nav li {
    list-style: none;
}

nav#nav-main .navbar-nav li:hover>ul,
nav#nav-main .navbar-nav li:hover>ul li,
nav#nav-main .navbar-nav li:hover>ul li a,
nav#nav-main .navbar-nav li a:hover {
    display: block;
    visibility: visible;
    height: auto;
}

/* -> Shared */
#content.site-content {
    padding-top: 8rem;
}

/* -> Frontpage */
/* Front Page */
.home h1 {
    font-size: 1.6em;
}

/* Single */
.single section.headings .entry-meta>a {
    color: var(--color-secondary-darker);
    display: inline-block;
}

.single section.content {
    background-color: var(--color-primary-lighter);
}

/* Sticky Posts */
.sticky-post {
    color: var(--primary-light);
}

.sticky-post .col-lg-6:first-child {
    background-color: var(--bg-secondary);
}

.sticky-post :is(h1, h2, h3, h4, h5, h6, a, time),
.sticky-post .byline a.url,
.sticky-post .byline a.url:hover {
    color: var(--primary-light)
}

.sticky-post .this-cats {
    border-color: var(--primary-light);
    color: var(--primary-light);
}

.sticky-post .btn.no-btn {
    color: var(--primary-light);
}

.sticky-post .btn.no-btn:hover {
    color: var(--secondary)
}

/* First Big Post */
.first-big-post>div:first-child {
    border-bottom: solid 1px var(--color-secondary-darker);
    padding-top: .8rem;
}

/* Post items */
.post-item.col-lg-3 {
    border-right: solid 1px var(--color-secondary-darker);
}

.post-item.col-lg-3:nth-child(4n) {
    border: none;
}

.post-item .end-block {
    position: relative;
}

.post-item .readmore {
    display: inline-block;
}

.post-item .cats {
    display: inline-block;
    left: 0;
    top: 0;
    text-align: left;
    width: calc(100% - 25px);
}

.post-item .btn__readmore {
    font-size: 1em;
}

.post-item .entry-title {
    font-size: 1.2em;
}

.post-item article.hentry {
    margin-bottom: 1rem
}

.post-item .post-thumbnail__as-bg {
    position: relative;
    margin-bottom: 1rem;
    min-height: 12rem;
}

.post-item .post-thumbnail__as-bg>div {
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

/* -> Post Nav */
/* Título */
.post-nav .section-title {
    margin-bottom: 2rem;
}

.post-nav .section-title h2 {
    border-top: solid 1px var(--gray-lighter);
    line-height: 0;
    width: 100%;
}

.post-nav .section-title h2 span {
    background-color: var(--primary-light);
    padding: 0 1rem 0
}

/* Filtros */
.post-nav .filterface {
    margin-bottom: 2rem
}

.post-nav .filterface label,
.post-nav .filterface input {
    display: inline-block;
}

.post-nav .filterface input[type="radio"] {
    display: none
}

.post-nav .filterface input[type="radio"]:checked+label {
    background-color: var(--primary-light);
    color: var(--secondary)
}

.post-nav .filterface label {
    border: solid 1px var(--secondary);
    margin: 0 .5em 1em 0
}

/* -> Search */
.search h1>.text-secondary {
    font-weight: 600;
    color: var(--color-secondary-darker) !important;
}

#content .search-form {
    margin-top: 1rem;
}

.search-form .btn {
    margin-bottom: 0;
    padding: .2rem 1rem;
    font-size: .95em;
}

.search-form .row {
    margin: 0 auto
}

.search-form input[type="search"] {
    background-color: transparent;
    border: none;
    border-bottom: solid 1px var(--color-secondary-darker);
    color: var(--color-secondary-darker);
    width: calc(100% - 110px);
    padding: .2rem 0;
    -webkit-border-radius: 0 !important;
    -webkit-appearance: none !important;
    border-radius: 0 !important;
}

.search-form input[type="search"]::placeholder {
    color: var(--color-secondary-darker);
}

/* -> 404 */
.error-404 h1 {
    color: var(--color-secondary-darker);
    font-weight: 600;
}

.error-404 h2 {
    font-size: calc(1.375rem + 1.5vw);
}

.error-404 .narrow {
    max-width: 30rem;
}


/* Footer ***************************************/
footer {
    background: url(assets/imgs/footer-bg.svg) center no-repeat;
    background-size: cover;
    color: var(--color-primary-lighter);
    font-size: .8em;
}

footer a,
footer a:hover {
    color: var(--color-primary-lighter);
}

footer .btn {
    background-color: var(--color-secondary);
    color: #216470;
    font-size: 1em;
    border: solid 1px transparent;
}

footer .btn:hover {
    opacity: 1;
    border-color: var(--color-secondary);
}

footer .title {
    text-transform: uppercase;
    color: var(--color-secondary);
    font-size: .8em;
    font-weight: 600;
}

footer .footer-brand span {
    display: block;
    font-size: .9em;
}

footer .footer-brand span a {
    text-decoration: none;
    font-weight: 600;
}

footer .footer-brand--logo img {
    margin-bottom: 2rem;
}

footer .footer-brand--sig img {
    max-width: 9em;
    margin-left: 5px;
}

footer .social {
    display: inline-block;
    text-align: right;
}

footer .social li {
    display: inline-block;
}

footer .social a {
    font-size: 1rem;
    margin: 0 .2rem;
    padding: .5rem .6rem;
    border-radius: .2rem;
}

footer .social__linkedin {
    background-color: #007bb6;
}

footer .social__facebook {
    background-color: #3b5998;
}

footer .social__twitter {
    background-color: #00aced;
}

footer .social__youtube {
    background-color: #a82400;
}

footer .social__instagram {
    background-color: #ea2c59;
}

footer .legal {
    font-size: .86em;
}

footer .webmaster {
    font-size: .8em;
}

/* Plugins & Funcs *****************************/
/* Pagination */
.pagination .page-link {
    border: none;
    background-color: var(--color-secondary);
    color: var(--color-secondary-darker);
}

.pagination .page-item.active .page-link {
    background-color: var(--color-secondary);
    color: var(--color-secondary-darker);
    opacity: .5
}

.pagination .page-item:first-child .page-link {
    border: none;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
}

.pagination .page-item:last-child .page-link {
    border: none;
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
}

/* Taxonomia */
.this-cats {
    color: var(--color-secondary-darker);
    display: inline-block;
    margin: 0 .8em 0 0;
    font-size: .8em;
    font-weight: bold;
    text-transform: lowercase;
}

/* Youtube responsive */
.youtube-responsive-container,
.is-provider-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.is-provider-youtube .wp-block-embed__wrapper iframe,
.is-provider-youtube .wp-block-embed__wrapper object,
.is-provider-youtube .wp-block-embed__wrapper embed,
.youtube-responsive-container iframe,
.youtube-responsive-container object,
.youtube-responsive-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/************************************************\
» RESPONSIVE LAYOUT
\************************************************/

@media (min-width: 576px) {}

@media (min-width: 768px) {}

@media (min-width: 992px) {

    /* Header ***************************************/
    nav#nav-main .navbar-nav {
        list-style: none;
        margin: 0;
        padding: 0;
        position: relative;
    }

    nav#nav-main .navbar-nav li {
        display: inline-block;
        position: relative;
        padding: 1.6rem 0;
    }

    nav#nav-main .navbar-nav li a {
        color: #000;
        display: block;
        margin: 0 .5rem;
        text-transform: uppercase;
        text-decoration: none;
        font-size: .8em;
    }

    nav#nav-main .navbar-nav ul {
        background-color: var(--color-secondary);
        border-top: solid 1px var(--color-light);
        display: none;
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 100%;
    }

    nav#nav-main .navbar-nav li:hover>ul {
        display: inherit;
    }

    nav#nav-main .navbar-nav ul ul {
        border-top: none;
        border-left: solid 1px var(--color-light);
        left: 100%;
        top: -.5rem;
    }

    nav#nav-main .navbar-nav ul li {
        display: block;
        position: relative;
        float: none;
        margin: .5rem 0;
        padding: 0 .3rem;
        width: 12rem;
    }

    nav#nav-main .navbar-nav ul ul li {
        position: relative;
    }

    nav#nav-main .navbar-nav li.menu-item-has-children a {
        margin-right: 1.2rem;
    }

    nav#nav-main .navbar-nav li.menu-item-has-children::before {
        font: var(--fa-font-solid);
        content: "\f107";
        position: absolute;
        right: 0.3rem;
        margin-top: .1rem;
        font-size: .8rem;
        top: 2.2em
    }

    nav#nav-main .navbar-nav ul li.menu-item-has-children::before {
        font: var(--fa-font-solid);
        content: "\f105";
        position: absolute;
        top: 0;
    }
}

@media (min-width: 1200px) {}

@media (min-width: 1199.98px) and (max-width: 1280px) {}

@media (min-width: 1400px) {
    .container {
        max-width: 1080px
    }
}


@media (max-width: 1199.98px) {}

@media (max-width: 991.98px) {

    /* Header */
    nav#nav-main ul {
        margin: 0;
        padding: 0;
    }

    nav#nav-main .navbar-nav li {
        border-top: solid 1px var(--color-secondary-darker);
        padding: .4rem 0;
        font-weight: 600;
    }

    nav#nav-main .navbar-nav li li {
        border-top: solid 1px var(--color-secondary);
        padding-left: 1.5rem;
        font-weight: 400;
    }

    /* Content - Post Item */
    .post-item.col-lg-3:nth-child(2n) {
        border-right: none;
    }
}

/* Mobile Layout */
@media (max-width: 767.98px) {

    /* Footer */
    footer .brand-social div:first-child {
        margin-bottom: 1.5rem;
    }

    footer .brand-social div:last-child {
        margin-bottom: 1rem;
        text-align: center;
    }

    footer .other-info {
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .post-item.col-lg-3 {
        border-right: none;
    }

    .readmore.text-end {
        /* text-align: center !important; */
        font-size: 1.5rem;
    }

    /* Search */
    .search-posts {
        padding: 0 1rem;
    }
}