/*!
Theme Name: CAD CGTP
Theme URI: http://underscores.me/
Author: Magicode
Author URI: https://magicode.pt
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cad-cgtp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

CAD CGTP is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

:root {
	--primary-color: #ED1D34;
	--color-white: #ffffff;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Merriweather Sans', sans-serif;
	color: var(--primary-color);
	margin-bottom: 2rem;
}

h1 {
	font-size: 4.2rem;
	font-weight: 800;
}

h2 {
	font-size: 3.6rem;
	font-weight: 700;
}
h3 { font-size: 2.4rem; }
h4 { font-size: 1.8rem; }

img {
	max-width: 100%;
	height: auto;
}

.main-menu {
    flex: 1;
    justify-content: flex-end;
    align-items: center;
}

.main-menu #primary-menu {
    display: flex;
    gap: 4rem;
    margin-bottom: -1rem;
}

.main-menu #primary-menu .menu-item-has-children {
    background: url(images/menu-arrow-down.svg) no-repeat center right;
    background-size: 1rem;
}

.main-menu #primary-menu .menu-item-has-children a {
    padding-right: 2rem;
}

.main-menu #primary-menu li {
    position: relative;
}

.main-menu #primary-menu a {
    display: block;
    color: inherit;
    text-decoration: none;
    font-size: 1.3rem;
    text-transform: uppercase;
    padding: 1rem 0;
}

.main-menu #primary-menu li.current-menu-parent > a,
.main-menu #primary-menu li.current-menu-item > a {
    font-weight: bold;
}

.main-menu #primary-menu li:hover {
    cursor: pointer;
}

.main-menu #primary-menu ul {
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    position: absolute;
    z-index: 99999999;
    background: #ffffff;
    min-width: 100%;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    padding: 0;
    transition: 0.1s;
}

.main-menu #primary-menu ul li a {
    padding: 1.6rem 2.5rem 1.6rem 1.5rem;
    transition: 0.1s;
    display: block;
    text-transform: none;
    font-size: 1.5rem;
}

.main-menu #primary-menu ul li a:hover {
    background: var(--primary-color);
	color: var(--color-white);
}

.main-menu #primary-menu ul.sub-menu-right {
    right: 0;
    margin-left: 0;
}

.main-menu #primary-menu ul a {
    padding: 0;
    white-space: nowrap;
}

.main-menu #primary-menu li:hover ul {
    opacity: 1;
    transition: 0.1s;
    pointer-events: all;
}

.main-content h1 {
    font-size: 3.6rem;
    margin-bottom: 3rem;
}

.main-content h2 {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;    
}

.main-content h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;    
}

.main-content h4 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;    
}

.main-content p {
    line-height: 1.5;
    margin-bottom: 2.5rem;
}

.main-content a {
    color: #2980b9;
    text-decoration: underline;
}

.main-content ul {
    margin-bottom: 2rem;
    padding-left: 2rem;
    list-style: disc;
}

.main-content ul ul {
    list-style: circle;
    margin-top: 1rem;
}

.main-content ol {
    margin-bottom: 2rem;
    padding-left: 2rem;
    list-style: lower-alpha;
}

.main-content li {
    margin-bottom: 1.5rem;
}

.main-content figure {
    margin-bottom: 3rem;
}

.main-content figure figcaption {
    font-size: 1.5rem;
    font-style: italic;
}
/* Auxiliary Classes */

.m-b-5 { margin-bottom: 0.5rem; }
.m-b-10 { margin-bottom: 1rem; }
.m-b-20 { margin-bottom: 2rem; }
.m-b-30 { margin-bottom: 3rem; }
.m-b-35 { margin-bottom: 3.5rem; }
.m-b-50 { margin-bottom: 5rem; }
.m-b-80 { margin-bottom: 8rem; }

.p-10 { padding: 1rem; }
.p-20 { padding: 2rem; }
.p-30 { padding: 3rem; }
.p-40 { padding: 4rem; }
.p-t-0 { padding-top: 0; }
.p-t-30 { padding-top: 3rem; }
.p-t-70 { padding-top: 7rem; }
.p-t-90 { padding-top: 9rem; }
.p-b-0 { padding-bottom: 0; }
.p-b-200 { padding-bottom: 20rem; }
.p-inline-40 { padding-inline: 4rem; }
.p-block-10 { padding-block: 1rem; }
.p-block-20 { padding-block: 2rem; }
.p-block-30 { padding-block: 3rem; }
.p-block-40 { padding-block: 4rem; }
.p-block-50 { padding-block: 5rem; }
.p-block-80 { padding-block: 8rem; }
.p-block-100 { padding-block: 10rem; }

.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.flex-col { flex-direction: column; }

.flex-1 { flex: 1; }
.flex-2 { flex: 2; }
.flex-3 { flex: 3; }
.flex-4 { flex: 4; }
.flex-5 { flex: 5; }
.flex-6 { flex: 6; }

.flex-space-between { justify-content: space-between; }
.flex-align-center { align-items: center; }
.flex-align-bottom { align-items: flex-end; }

.gap-2 { gap: 0.2rem; }
.gap-5 { gap: 0.5rem; }
.gap-10 { gap: 1rem; }
.gap-20 { gap: 2rem; }
.gap-25 { gap: 2.5rem; }
.gap-30 { gap: 3rem; }
.gap-40 { gap: 4rem; }
.gap-50 { gap: 5rem; }
.gap-100 { gap: 10rem; }

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

.section {
    background: #ffffff;
    border-radius: 1rem;
}

.grid { display: grid; }

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-6 { grid-template-columns: repeat(6, 1fr); }

.main-container { padding-inline: 3rem; }
.tiny { max-width: 768px; }
.small { max-width: 820px; }
.wide { max-width: 1140px; }
.full { width: 100%; }
.centered { margin-left: auto; margin-right: auto; }
.relative { position: relative; }

.bg-light-grey { background: #f2f2f2; }
.bg-medium-grey { background: #ececec; }

.main-container p {
	margin-bottom: 2rem;
}

.main-container p:last-child {
	margin-bottom: 0;
}

.main-container .wp-block-separator {
    width: 80px;
    border: none;
    border-bottom: 4px solid var(--primary-color);
    margin: 3rem 0;
}

.main-container .wp-block-buttons {
    margin-bottom: 3rem;
}

.home-slider-container {
    position: relative;
}

.home-slider-container .bottom-divider {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    width: 0;
    height: 0;
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
	width: 100%;
	height: 120px;
    background: #f2f2f2;
}

.home-slider {
    display: block;
    height: 60rem;
}

.home-slider .slide {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.home-slider-content-container {
    background: #A42616cc;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.home-slider-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.home-slider-content h1 {
    color: var(--color-white);
    text-align: center;
    text-shadow: 2px 2px 8px #000000dd;
}


.search-form {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem;
}

.search-form #search_term_container {
	flex-grow: 8;
	flex-shrink: 1;
	flex-basis: 100%;
	width: 50%;
}

.search-form #search_cat_container {
	flex-grow: 4;
	flex-shrink: 0;
}

.search-form #search_button_placeholder{
    flex-grow: 1;
}

.search-form label {
    display: block;
    color: var(--color-white);
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

.search-form input {
    width: 100%;
    padding: 1.5rem;
    border: none;
    border-radius: 3px;
}

.search-form select {
    padding: 1.5rem;
    border: none;
    border-radius: 3px;
}

.search-form .button.disabled,
.search-form a.button {
    display: block;
    padding: 1.3rem 1.8rem;
    border-radius: 3px;
    background: white;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
    color: var(--primary-color);
}

.search-form .button.disabled {
    opacity: 0.3;
}

.cta-plataformas h2 {
    font-size: 2.2rem;
    margin: 0;
}

.cta-plataformas h2:after {
    content: '';
    display: block;
    width: 70px;
    height: 4px;
    background: var(--primary-color);
    margin: 3rem auto;
}

.cta-plataformas p {
    margin-bottom: 3rem;
}

.cta-plataformas .wp-block-buttons .wp-block-button {
    margin: 0 auto;
}

.cta-plataformas .wp-block-column {
    text-align: center;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cta-plataformas .wp-block-column:nth-child(2) {
    border-left: 1px solid #efefef;
    border-right: 1px solid #efefef;
}

.cta-plataformas .wp-block-separator {
    width: 64px;
    border: 0;
    border-bottom: 4px solid var(--primary-color);
    margin: 3rem auto;
}

.cta-plataformas p {
    font-size: 1.4rem;
}

.list-items-container h2 {
    font-size: 2.4rem;
    margin-bottom: 3rem;
}

.list-item {
    border-bottom: 1px solid #dddddd;
    margin-bottom: 4rem;
    padding-bottom: 4rem;
}

.list-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.list-item .thumbnail {
    min-width: 180px;
}

.list-item .item-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	align-items: flex-start;
}

.list-item .date {
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.list-item h3 {
    font-size: 2rem;
    font-weight: 600;
}

.list-item h3 a {
    color: var(--primary-color);
    text-decoration: none;
}

.list-item .excerpt {
    font-size: 1.4rem;
    line-height: 2.2rem;
    margin-bottom: 3rem;
}

.list-item .readmore,
.wp-block-button__link {
    text-decoration: none;
    color: var(--primary-color);
    font-size: 1.4rem;
    transition: 0.2s;
    display: inline-block;
    padding: 1rem 1.5rem;
    border: 1px solid var(--primary-color);
}

.list-item .readmore:hover,
.wp-block-button__link:hover {
    background: var(--primary-color) !important;
    color: var(--color-white) !important;
}

.newsletter h2 {
    font-size: 1.8rem;
}

.center-input {
    text-align: center;
}

button.wsf-button.wsf-button-primary {
    font-size: 1.8rem;
    font-weight: 600;
    background: none !important;
    border-radius: 0;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    padding: 1.5rem 3.5rem;
    transition: 0.2s;
}

button.wsf-button.wsf-button-primary:hover {
    background: var(--primary-color) !important;
    color: var(--color-white) !important;
}

.site-footer {
	background: #222222;
	color: var(--color-white);
}

.site-footer .logo-description {
    font-size: 1.5rem;
    padding-block: 3rem;
    color: #aaaaaa;
}

.site-footer .address {
    font-size: 1.5rem;
    color: #aaaaaa;
}

.site-footer .address p {
    margin-bottom: 0.5rem;
}

.site-footer .address a {
    color: inherit;
}

.site-footer .address a:hover {
    color: #dfdfdf ;
}

.external-links h2 {
    font-size: 1.6rem;
    color: #efefef;
    font-weight: 700;
}

.external-links h3 {
    font-size: 1.5rem;
    font-weight: 500;
    color: #efefef;
    margin-bottom: 1.5rem;
}

.external-links a {
    font-size: 1.4rem;
    display: block;
    text-decoration: none;
    color: #999999;
    margin-bottom: 0.8rem;
    padding-left: 1.8rem;
    background: url(images/external-link.svg) no-repeat left top 4px;
}

.external-links a:hover {
    color: #dfdfdf;
}

.external-links a:hover svg {
    fill: #dfdfdf;
}

.site-bottom {
    background: #000000;
    color: #999999;
    font-size: 1.3rem;
}

.site-bottom .footer-menu {
    flex: 1;
}

.site-bottom .footer-menu .menu {
    display: flex;
    gap: 2rem;
    justify-content: flex-end;
}

.site-bottom .footer-menu .menu a {
    color: inherit;
    text-decoration: none;
}

.site-bottom .footer-menu .menu a:hover {
    color: #efefef;
    text-decoration: underline;
}

.wp-block-pb-accordion-item h2.c-accordion__title {
    font-size: 1.8rem;
    margin: 0;
    padding: 1rem 0;
}

.wp-block-pb-accordion-item .c-accordion__content {
    padding: 2rem;
    background: #f5f5f5;
}

.page-header h1 {
	margin-bottom: 0;
}

.breadcrumbs {
    margin-bottom: 2rem;
    font-size: 1.4rem;
}

.breadcrumbs a {
    color: var(--primary-color);
    text-decoration: none;
}

.page-intro {
    max-width: 50%;
}

.page-intro h3 {
    font-size: 1.8rem;
    color: #444444;
}

.publicacoes_item h2 {
    font-size: 1.8rem;
    margin-bottom: 0.6rem;
}

.publicacoes_item .data {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

.publicacoes_item .download-file {
    font-size: 1.5rem;
    border: 1px solid var(--primary-color);
    padding: 0.6rem 1.5rem;
    text-decoration: none;
    color: var(--primary-color);
    display: inline-block;
	margin-bottom: 1rem;
}

.publicacoes_item .download-file:hover {
    background: var(--primary-color);
    color: var(--color-white);
}

.wp-pagenavi {
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    border: none;
    font-size: 1.4rem;
    text-decoration: none;
    color: #444444;
}

.wp-pagenavi span.current {
    background: var(--primary-color);
    color: var(--color-white);
    font-weight: 400;
}

.noticias-items .noticias-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 360px;
}

.noticias-items .noticias-item h3 {
    font-size: 1.8rem;
}

.noticias-items .noticias-item h3 a {
    color: var(--primary-color);
    text-decoration: none;
}

.noticias-items .noticias-item .data {
    font-size: 1.4rem;
}

.noticias-items .noticias-item .excerpt {
    font-size: 1.4rem;
    line-height: 2.2rem;
    margin-bottom: 2rem;
}

.noticias-items .noticias-item .readmore {
    font-size: 1.4rem;
    display: inline-block;
    padding: 1rem 1.5rem;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    text-decoration: none;
    transition: 0.2s;
}

.noticias-items .noticias-item .readmore:hover {
    background: var(--primary-color);
    color: var(--color-white);
}

.wp-block-quote {
    border-left: 4px solid var(--primary-color);
    padding-left: 1.5rem;
    margin-bottom: 3rem;
}

.wp-block-quote p {
    margin-bottom: 1rem;
}

.other-news-content {
    position: sticky;
    top: 2rem;
}

.other-news h2 {
    font-size: 1.8rem;
}

.other-news .other-news-item {
    margin-bottom: 2rem;
}

.other-news .other-news-item a {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 1.4rem;
}