/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.09
Author: Elevated Third
Description: Hello Elementor Child theme.
*/

/* @TODO: add css variables here to use them everywhere */
:root {
  --content-width: 1400px;
  --content-padding-inline: 20px;
  --content-font: Poppins, Helvetica, sans-serif;
  --main-color: #2D3C4B;
}

* {
  box-sizing: border-box;
}
b, strong {
  font-weight: 600;
}
a.btn,
button,
.elementor-button {
  text-decoration: none !important;
}

html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
}
html:has(#wpadminbar) {
  height: calc(100% - 32px);
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 320px;
  font-family: var(--content-font);
}
body > main,
body > .elementor {
  flex-grow: 1;
}
.site-header + div.elementor {
  min-height: 100%;
  height: auto;
}
.container-default,
.page-header .entry-title,
.site-footer .footer-inner,
.site-footer:not(.dynamic-footer),
.site-header .header-inner,
.site-header:not(.dynamic-header),
body:not([class*=elementor-page-]) .site-main {
  max-width: var(--content-width) !important;
  width: 100% !important;
  padding-inline: var(--content-padding-inline) !important;
}
.container-default {
  margin-inline: auto;
}
.page-header .entry-title {
  margin-top: 4%;
  margin-bottom: 2%;
}
@media (max-width: 991px) {
  .page-header .entry-title {
    margin-top: 8%;
    margin-bottom: 4%;
  }
}
body:not([class*=elementor-page-]) .site-main {
  font-weight: 300;
}
body:not([class*=elementor-page-]) .site-main .page-header .entry-title {
  padding-inline: 0 !important;
}
/* Footer */
.site-footer {
  margin-top: 8%;
  padding-block: 2rem !important;
}
.site-footer .site-navigation {
  margin-left: auto;
}
.site-footer a {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 6px;
}
.site-footer a:hover,
.site-footer a:focus {
  color: #fff !important;
  text-decoration: none !important;
}
@media (max-width: 991px) {
  .site-footer {
    margin-top: 8%;
  }
}
@media (max-width: 576px) {
  .site-footer .site-branding.show-logo {
    margin-bottom: 24px;
  }
  .site-footer .site-branding.show-logo img {
    margin-inline: auto;
  }
}
/* Header */
.site-header {
  width: 100% !important;
  padding-inline: 0 !important;
}
.site-branding .site-logo img {
  height: auto;
  filter: invert(1);
}
.site-navigation-toggle-holder.show {
  margin-right: -15px;
}
#menu-primary-menu a {
  text-decoration: none;
}
#menu-primary-menu a:hover,
#menu-primary-menu a:focus {
  text-decoration: underline;
  text-underline-offset: 6px;
}
#menu-primary-menu .current_page_item > a {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.site-navigation-dropdown ul.menu li a {
  text-decoration: none;
  color: black;
}
nav.site-navigation-dropdown ul.menu li.current-menu-item > a {
  background-color: #546c84;
}

.elementor-element p:first-child {
  margin-top: 0;
}
.elementor-element p:last-child {
  margin-bottom: 0;
}

/* @todo: move to separate scss */
[id*=wp-widget-recent-posts-widget-with-thumbnails] h2 {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: 48px !important;
  text-align: left;
}
@media (max-width: 991px) {
  [id*=wp-widget-recent-posts-widget-with-thumbnails] h2 {
    font-size: 28px !important;
  }
}
[id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
}
[id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li {
  position: relative;
  width: 100%;
  display: block;
  padding-left: 34%;
  overflow: hidden;
}
@media (max-width: 576px) {
  [id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li {
    padding-left: 0;
  }
}
[id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li:not(:last-child) {
  margin-bottom: 4rem;
}
[id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li .wp-post-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 30%;
  height: auto;
  float: none;
  display: block;
  margin: 0;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
@media (max-width: 576px) {
  [id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li .wp-post-image {
    position: unset;
    width: 100%;
  }
}
[id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li:not(:has(.wp-post-image))::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 30%;
  aspect-ratio: 3 / 2;
  background: #d9e6f2;
}
@media (max-width: 576px) {
  [id*=wp-widget-recent-posts-widget-with-thumbnails] nav ul li:not(:has(.wp-post-image))::before {
    position: unset;
    width: 100%;
    display: block;
  }
}
.rpwwt-post-title {
  display: block;
  margin: 2px 2px 12px 0;
  font-size: 2rem;
  color: var(--main-color);
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 576px) {
  .rpwwt-post-title {
    margin: 16px 0;
    font-size: 1.5rem;
  }
}
.rpwwt-post-date {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
}
.rpwwt-post-excerpt {
  font-size: 16px;
}
.rpwwt-external-link {
  margin-top: 1.5rem;
  float: right;
  display: block;
  width: 100%;
}

/* Form elements */
[type="text"],
[type="password"],
[type="tel"],
[type="date"],
[type="email"],
select,
textarea {
  padding: 14px 16px;
  border: 1px solid #222;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: var(--content-font);
  min-width: 100%;
  max-width: 100%;
}
select {
  padding-right: 32px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22800px%22%20height%3D%22800px%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.29289%208.79289C6.68342%208.40237%207.31658%208.40237%207.70711%208.79289L12%2013.0858L16.2929%208.79289C16.6834%208.40237%2017.3166%208.40237%2017.7071%208.79289C18.0976%209.18342%2018.0976%209.81658%2017.7071%2010.2071L12.7071%2015.2071C12.3166%2015.5976%2011.6834%2015.5976%2011.2929%2015.2071L6.29289%2010.2071C5.90237%209.81658%205.90237%209.18342%206.29289%208.79289Z%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right 10px center;
}

button,
[type="submit"] {
  cursor: pointer;
}

.grid-2-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.grid-2-col > * {
  margin-top: 0;
  margin-bottom: 0;
}

form label input,
form label textarea {
  margin-top: 8px;
}

.wpcf7 form [type="text"],
.wpcf7 form [type="tel"],
.wpcf7 form [type="date"],
.wpcf7 form [type="email"],
.wpcf7 form .wpcf7-select,
.wpcf7 form textarea {
  width: 100%;
}
.wpcf7 form .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 14px;
}
.wpcf7 form  .wpcf7-response-output {
  margin-inline: 0;
  border-radius: 4px;
}

/* News post */
.post-featured-image {
  margin-bottom: 2rem;
}
