:root {

  /** Colors **/
    --gee-color-primary: #004984;
    --gee-color-secondary: #3f711e;
    --gee-color-tertiary: #f0f2f3;
    --gee-color-highlight: #FACC15;

    --gee-color-black: #000;
    --gee-color-white: #fff;
    --gee-color-gray-800: #343A40;
    --gee-color-gray-500: #adb5bd;
    --gee-color-success: #3f711e;
    --gee-color-error: #dc3545;
    --gee-color-warning: #ffc107;
  

    /** Typography **/
    --gee-font-family-titles: "Open Sans", Helvetica, Arial;
    --gee-font-family-text: "Open Sans", Helvetica, Arial;

    /* Base text */
    --gee-text-font-size: 18px; /* base */
    --gee-text-line-height: 1.5;
    --gee-text-font-weight: 400;

    --gee-text-small-font-size: 14px;
    --gee-text-line-height: 1.5;
    --gee-text-font-weight: 400;

    --gee-h1-font-size: 35.84px;
    --gee-h1-line-height: 1.25;
    --gee-h1-font-weight: 700;

    --gee-h2-font-size: 29.86px;
    --gee-h2-line-height: 1.25;
    --gee-h2-font-weight: 700;

    --gee-h3-font-size: 24.89px;
    --gee-h3-line-height: 1.25;
    --gee-h3-font-weight: 700;

    --gee-h4-font-size: 20.74px;
    --gee-h4-line-height: 1.35;
    --gee-h4-font-weight: 700;

    --gee-h5-font-size: 17.28px;
    --gee-h5-line-height: 1.35;
    --gee-h5-font-weight: 700;

    --gee-h6-font-size: 14.4px;
    --gee-h6-line-height: 1.5;
    --gee-h6-font-weight: 700;

}

body {
  color: var(--gee-color-black);
  font-family: var(--gee-font-family-text);
  font-size: var(--gee-text-font-size);
  line-height: var(--gee-text-line-height);
  font-weight: var(--gee-text-font-weight);
}

@import url('./header.css');
@import url('./footer.css');
@import url('./blocks.css');
@import url('./sidebar.css');


a:not([class]) {
    color: var(--gee-color-primary);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
}

a:not([class]):hover {
    text-decoration-thickness: 4px;
}

/** Tipografia: Elements **/
h1, .h1 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h1-font-size);
    font-weight: var(--gee-h1-font-weight);
    line-height: var(--gee-h1-line-height);
}
  
h2, .h2 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h2-font-size);
    font-weight: var(--gee-h2-font-weight);
    line-height: var(--gee-h2-line-height);
}

h3, .h3 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h3-font-size);
    font-weight: var(--gee-h3-font-weight);
    line-height: var(--gee-h3-line-height);
}

h4, .h4 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h4-font-size);
    font-weight: var(--gee-h4-font-weight);
    line-height: var(--gee-h4-line-height);
}

h5, .h5 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h5-font-size);
    font-weight: var(--gee-h5-font-weight);
    line-height: var(--gee-h5-line-height);
}

h6, .h6 {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-titles);
    font-size: var(--gee-h6-font-size);
    font-weight: var(--gee-h6-font-weight);
    line-height: var(--gee-h6-line-height);
}

/* Paragraphs */
p {
    color: var(--gee-color-black);
    font-family: var(--gee-font-family-text);
    font-size: var(--gee-text-font-size);
    line-height: var(--gee-text-line-height);
    font-weight: var(--gee-text-font-weight);
}

small {
    font-size: 14.4px; /* 18 * 0.8 */
    line-height: 1.5;
}

/** Tipografia: Helpers **/
.text-body { font-family: var(--gee-font-family-text) !important; font-size: var(--gee-text-font-size) !important; line-height: var(--gee-text-line-height) !important; font-weight: var(--gee-text-font-weight) !important; }
.small { font-size: 14.4px !important; line-height: 1.5 !important; }
.lead { font-size: 21.6px !important; line-height: 1.75 !important; font-weight: 400 !important; }
.entry-title {
  margin-bottom: 1.5rem;
}

/* Font weight helpers */
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }

/* Line-height helpers */
.lh-1 { line-height: 1 !important; }
.lh-1-25 { line-height: 1.25 !important; }
.lh-1-5 { line-height: 1.5 !important; }
.lh-1-75 { line-height: 1.75 !important; }


/** Cores : Text | Background | Border **/
.color-primary {
    color: var(--gee-color-primary) !important;
}

.color-secondary {
    color: var(--gee-color-secondary) !important;
}

.color-tertiary {
    color: var(--gee-color-tertiary) !important;
}

.color-white {
    color: var(--gee-color-white) !important;
}

.color-black {
    color: var(--gee-color-black) !important;
}

.bg-primary {
    background-color: var(--gee-color-primary) !important;
}

.bg-secondary {
    background-color: var(--gee-color-secondary) !important;
}

.bg-tertiary {
    background-color: var(--gee-color-tertiary) !important;
}

.bg-white {
    background-color: var(--gee-color-white) !important;
}

.bg-black {
    background-color: var(--gee-color-black) !important;
}

.border-primary {
    border-color: var(--gee-color-primary) !important;
}

.border-secondary {
    border-color: var(--gee-color-secondary) !important;
}

.border-tertiary {
    border-color: var(--gee-color-tertiary) !important;
}

/** SIDEBAR **/

.sidebar-wrapper {
    position: relative;
    width: 100%;
}

.sidebar {
    width: 100%;
    padding: 2rem;
    background-color: var(--gee-color-tertiary);
    position: sticky;
    top: 32px;
}

/** POSTS **/
.post-thumbnail {
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
}

/** BOTÕES **/
.gee-button,
.wp-block-button__link.wp-element-button {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 21px;
  color: var(--gee-color-black);
  font-size: var(--gee-text-font-size);
  font-family: var(--gee-font-family-text);
  line-height: var(--gee-text-line-height);
  font-weight: var(--gee-text-font-weight);
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: 24px;
  background-image: unset;
  background-color: transparent;
}

.gee-button.small,
.wp-block-button__link.wp-element-button.small {
  padding: 8px 12px;
  font-size: 14px;
}

.gee-button.large,
.wp-block-button__link.wp-element-button.large {
  padding: 8px 24px;
  font-size: 18px;
}

.gee-button .elementor-icon {
  font-size: 18px;
  color: inherit;
  margin: 0;
}

.gee-button .elementor-icon svg {
  width: 18px;
  height: 18px;
}

.gee-button i {
  font-size: 18px;
  color: inherit;
}

/** Botão Primário **/
.gee-button.primary {
  color: var(--gee-color-white);
  background-color: var(--gee-color-primary);
  border-color: var(--gee-color-primary);
}

.gee-button.primary .elementor-icon svg {
  fill: var(--gee-color-white);
}

.gee-button.primary i {
  color: var(--gee-color-white);
}

.gee-button.primary:hover {
  color: var(--gee-color-primary);
  background-color: transparent;
  border-color: var(--gee-color-primary);
}

.gee-button.primary:focus {
  box-shadow: 0 0 0 2px var(--gee-color-highlight);
}

.gee-button.primary:hover .elementor-icon svg {
  fill: var(--gee-color-primary);
}

.gee-button.primary:hover i {
  color: var(--gee-color-primary);
}

/** Botão Secundário **/
.gee-button.secondary,
.wp-block-button__link.wp-element-button {
  background-color: transparent;
  color: var(--gee-color-primary);
  border-color: var(--gee-color-primary);
}

.gee-button.secondary .elementor-icon svg,
.wp-block-button__link.wp-element-button .elementor-icon svg {
  fill: var(--gee-color-primary);
}

.gee-button.secondary i,
.wp-block-button__link.wp-element-button i {
  color: var(--gee-color-primary);
}

.gee-button.secondary:hover,
.wp-block-button__link.wp-element-button:hover {
  background-image: unset;
  box-shadow: unset;
  background-color: var(--gee-color-primary);
  color: var(--gee-color-white);
  border-color: var(--gee-color-primary);
}

.gee-button.secondary:focus,
.wp-block-button__link.wp-element-button:focus {
  background-image: unset;
  background-color: transparent;
  box-shadow: 0 0 0 2px var(--gee-color-highlight);
}

.gee-button.secondary:hover .elementor-icon svg,
.wp-block-button__link.wp-element-button:hover .elementor-icon svg {
  fill: var(--gee-color-white);
}

.gee-button.secondary:hover i,
.wp-block-button__link.wp-element-button:hover i {
  color: var(--gee-color-white);
}

/** Botão Terciário **/
.gee-button.tertiary,
.wp-block-button__link.wp-element-button.terciario {
  position: relative;
  background-color: transparent;
  color: var(--gee-color-primary);
  border-color: transparent;
  padding: 4px 0;
  border-radius: 6px;
}

.gee-button.tertiary::after,
.wp-block-button__link.wp-element-button.terciario::after {
  content: "";
  background-color: var(--gee-color-primary);
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  top: 100%;
}

.small.gee-button::after,
.wp-block-button__link.wp-element-button.terciario.small::after {
  width: 100%;
  left: 0;
}

.large.gee-button::after,
.wp-block-button__link.wp-element-button.terciario.large::after {
  width: 100%;
  left: 0;
}

.gee-button.tertiary .elementor-icon svg,
.wp-block-button__link.wp-element-button.terciario .elementor-icon svg {
  fill: var(--gee-color-primary);
}

.gee-button.tertiary .elementor-icon svg path,
.wp-block-button__link.wp-element-button.terciario .elementor-icon svg path {
  fill: var(--gee-color-primary);
}

.gee-button.tertiary i,
.wp-block-button__link.wp-element-button.terciario i {
  color: var(--gee-color-primary);
}

.gee-button.tertiary:hover,
.wp-block-button__link.wp-element-button.terciario:hover {
  color: var(--gee-color-primary);
}

.gee-button.tertiary:hover::after,
.wp-block-button__link.wp-element-button.terciario:hover::after {
  height: 4px;
}

.gee-button.tertiary:focus,
.wp-block-button__link.wp-element-button.terciario:focus {
  box-shadow: 0 0 0 2px var(--gee-color-highlight);
}

.gee-button.tertiary:hover .elementor-icon svg,
.wp-block-button__link.wp-element-button.terciario:hover .elementor-icon svg {
  fill: var(--gee-color-primary);
}

.gee-button.tertiary:hover .elementor-icon svg path,
.wp-block-button__link.wp-element-button.terciario:hover .elementor-icon svg path {
  fill: var(--gee-color-primary);
}

.gee-button.tertiary:hover i,
.wp-block-button__link.wp-element-button.terciario:hover i {
  color: var(--gee-color-primary);
}


/** FORMULÁRIOS **/

.frm_form_field.form-field label.frm_primary_label,
label {
  font-family: var(--gee-font-family-text);
  font-size: 18px;
  font-weight: bold;
  margin-bottom: .35rem;
  color: var(--gee-color-black);
}

.frm_form_field.form-field input[type=text],
.frm_form_field.form-field input[type=email],
.frm_form_field.form-field input[type=url],
.frm_form_field.form-field select,
.frm_form_field.form-field textarea,
input.form-control,
select.form-select {
  appearance:none;
  border: 2px solid var(--gee-color-gray-500);
  padding: .5rem;
  border-radius: 4px;
  color: var(--gee-color-black);
  font-family: var(--gee-font-family-text);
  font-size: var(--gee-text-font-size);
  height: 44px;
}

.frm_form_field.form-field input[type=text]::placeholder,
.frm_form_field.form-field input[type=email]::placeholder,
.frm_form_field.form-field input[type=url]::placeholder,
.frm_form_field.form-field select::placeholder,
.frm_form_field.form-field textarea::placeholder,
input.form-control::placeholder,
select.form-select::placeholder {
  color: var(--gee-color-black);
  font-family: var(--gee-font-family-text);
  font-size: var(--gee-text-font-size);
  font-weight: var(--gee-text-font-weight);
}

.frm_style_formidable-style.with_frm_style .form-field input[type="text"]:focus,
input.form-control:focus {
  color: var(--gee-color-black);
}

.frm_form_field.form-field input[type=text]:focus,
.frm_form_field.form-field input[type=url]:focus,
.frm_form_field.form-field input[type=email]:focus,
.frm_form_field.form-field input[type=tel]:focus,
.frm_form_field.form-field textarea:focus,
.frm_form_field.form-field .frm_checkbox input[type=checkbox]:focus,
.frm_form_field.form-field .frm_radio input[type=radio]:focus,
.frm_form_field.form-field .frm_checkbox input[type=checkbox]:focus-visible,
.frm_form_field.form-field .frm_radio input[type=radio]:focus-visible,
input.form-control:focus,
select.form-select:focus {
  border-color: var(--gee-color-primary) !important;
  box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
  -webkit-box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
  -moz-box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
  color: var(--gee-color-black);
}

.frm_opt_container > * {
  margin-bottom: .5rem;
}

.frm_form_field.form-field .frm_checkbox input[type=checkbox],
.frm_form_field.form-field .frm_radio input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
  min-width: 25px!important;
  min-height: 25px!important;
  accent-color: var(--gee-color-primary);
  flex-shrink: 0;
}

.frm_form_field.form-field .frm_checkbox input[type=checkbox],
.frm_form_field.form-field .frm_radio input[type=radio] {
  box-shadow: unset;
}

.frm_form_field.form-field select:focus {
  border: 2px solid var(--gee-color-primary);
  box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
  -webkit-box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
  -moz-box-shadow: 0 0 0 3px var(--gee-color-highlight) !important;
}

.frm_form_field.form-field select option.frm-select-placeholder {
  color: var(--gee-color-black);
}

.frm_form_field.form-field .frm_checkbox label,
.frm_form_field.form-field .frm_radio label,
.frm_form_field.form-field .frm_primary_label {
  color: var(--gee-color-black);
  font-family: var(--gee-font-family-text);
  font-size: var(--gee-text-font-size);
  font-weight: var(--gee-text-font-weight);
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding-left: 0;
}

.frm_form_field.form-field .frm_checkbox label:hover,
.frm_form_field.form-field .frm_radio label:hover {
  cursor: pointer;
}

.frm_form_field.form-field .frm_error {
  line-height: 1.5;
  margin: .5rem 0;
  color: var(--gee-color-primary);
  font-size: inherit;
  font-weight: inherit;
}

.frm_forms .frm-show-form .frm_error_style {
  background-color: #fafafa;
  color: inherit;
  border-radius: 0;
  padding: 1.5rem;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  border: unset;
  border-left: 4px solid var(--gee-color-primary);
}

.frm_forms .frm-show-form .frm_message {
  background-color: #fafafa;
  color: inherit;
  border-radius: 0;
  padding: 1.5rem;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  border: unset;
  border-left: 4px solid var(--gee-color-primary);
}

.frm_forms .with_frm_style.frm_required {
  color: var(--gee-color-black);
}

.with_frm_style .frm_required {
  color: var(--gee-color-black);
}

.frm_error_style[role="alert"] a:hover {
  cursor: pointer;
}

.frm_form_field.frm_html_container > p {
  font-family: var(--gee-font-family-text);
  font-size: var(--gee-text-font-size);
  color: var(--gee-color-black);
}

.frm_submit button.frm_button_submit[type=submit] {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  border-radius: 30px;
  background-color: var(--gee-color-primary);
  color: var(--gee-color-white);
  font-weight: bold;
  padding: 0 30px;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  border: 2px solid var(--gee-color-primary);
  width: fit-content;
}

.frm_submit button.frm_button_submit[type="submit"]:hover {
  background-color: var(--gee-color-white);
  border-color: var(--gee-color-primary);
  color: var(--gee-color-primary);
}

.frm_submit button.frm_button_submit[type="submit"]:focus,
.frm_submit button.frm_button_submit[type="submit"]:active {
  background: var(--gee-color-white);
  box-shadow: 0 0 0 3px var(--gee-color-highlight);
  border-color: var(--gee-color-primary);
  color: var(--gee-color-primary);
}

.frm_opt_container > * {
  margin-bottom: 1rem;
}


/** PAGINAÇÃO **/

.bg-light {
  background-color: #e9ecef!important;
}

.page-numbers {
  width: 44px;
  height: 44px;
  padding: 5px;
  margin: 0 3px;
  text-decoration: none;
  color: var(--gee-color-black);
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-numbers:hover {
  color: var(--gee-color-primary);
}

.page-numbers:focus {
  color: var(--gee-color-primary);
  box-shadow: 0 0 0 3px var(--gee-color-highlight);
  -webkit-box-shadow: 0 0 0 3px var(--gee-color-highlight);
  -moz-box-shadow: 0 0 0 3px var(--gee-color-highlight);
}

.page-numbers.current {
  color: var(--gee-color-primary);
  font-weight: 700;
  border-bottom: 2px solid var(--gee-color-primary);
}

.page-numbers.prev,
.page-numbers.next {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--gee-color-white);
  background-color: var(--gee-color-primary);
  border-radius: 50%;
}

.btn-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--gee-color-black);
  background: var(--gee-color-white);
  width: 44px;
  height: 44px;
  transition: opacity 0.15s ease-in-out;
  border: 2px solid var(--gee-color-black);
}

.btn-icon:hover {
  color: var(--gee-color-white);
  background: var(--gee-color-black);
  opacity: 1;
}

article a {
  color: var(--gee-color-primary);
}

article .permalink {
  border-color: var(--gee-color-primary)!important;
}

article:hover {
  border-color: var(--color-primary)!important;
}