@font-face {
  font-family: 'Gabarito';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/Gabarito/static/Gabarito-Regular.ttf) format('truetype');
}

body { font-family: 'Inter', sans-serif; }

h1, h2, h3, h4, h5, h6, .btn { font-family: var(--font-family-primary); }

.container { word-break: break-word; }

a { text-decoration: none; color: var(--color-primary); }
.shadow-sm { box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); }
.lang-select { display: flex; }
.lang-select a { color: #6c757d; padding: 0.2em !important; margin: 0 !important; line-height: 1em !important; font-size: 12pt !important; font-weight: normal !important; }

.text--primary { color: var(--color-primary); }


.main-title { font-family: var(--font-family-primary); width: 500px; margin: auto }
.main-title h2 {
  font-family: var(--font-family-primary);
  font-size: 44px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  text-align:center;
  margin:auto;
  padding-bottom:13px;
}
.main-title h2:before {
    background-color: var(--color-primary);
    content: '';
    display: block;
    height: 3px;
    width: 75px;
    margin-bottom: 5px;
}
.main-title h2:after {
    background-color: #c50000;
    content: '';
    display: block;
  position:absolute; right:0; bottom:0;
    height: 3px;
    width: 75px;
    margin-bottom: 0.25em;
}

.form-control {
  height: 60px;
  background-color: #f5f6f8;
  border: 1px solid transparent;
  color: #353f4f;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 400;
  margin-bottom: 25px;
  padding: 5px 20px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.form-control:focus {
  outline: 0px none;
  box-shadow: none;
  background-color: #fcfdfd;
  border-color: var(--color-primary);
}

.form-box {
  max-width: 500px; margin-left: auto; margin-right: auto; background: white;
  border-radius: 4px;
}

.post-tag { color: var(--color-primary); }
.blog-content { width: 50%; margin: auto; }
.blog-content .blog-image-wrapper { text-align: center; margin: 2em 0; cursor: pointer; }
.blog-content .blog-image-wrapper.fullscreen { position: fixed; z-index: 10000; left: 0; top: 0px; width: 100vw; height: 100vh; background: #FFFFFFF0; }
.blog-content .blog-image-wrapper .blog-image { max-height: 30em; margin: auto; max-width: 50%; box-shadow:  0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); }
.blog-content .blog-image-wrapper.fullscreen .blog-image { max-height: calc(100vh - 280px); margin-top: 100px; max-width: 50%; border: 1px solid var(--color-primary); }
.blog-content blockquote {
  padding: 2em; margin: 2em 1em; border-radius: 4px; max-width: 50%;
  display: block;
  background: #fff;
  -webkit-box-shadow: 0 0 15px 0 rgba(40,61,88,.07);
  -moz-box-shadow: 0 0 15px 0 rgba(40,61,88,.07);
  box-shadow: 0 0 15px 0 rgba(40,61,88,.07);
  border-left: 4px solid var(--color-primary);
  font-style: normal;
  font-style: italic;
}
.blog-content blockquote p { padding: 0; margin: 0; font-size: 1.32em; }
.blog-content ul { margin: 1em 0; }
.blog-content ul li { list-style: circle; margin-left: 2em; padding-left: 1em; }

.blog-content table { margin: 2em auto; border: 1px solid #EEEEEE; }
.blog-content table thead { background: var(--color-primary)80; color: white; }
.blog-content table th { padding: 1em; }
.blog-content table td { padding: 1em; }
.blog-content table tbody tr:nth-child(odd) { background: #FAFAFA; }



.pkg-selector {
  flex: 1;
  padding-top:1em;
  cursor: pointer;
  border-top: 2em solid transparent;
  padding: 1em;
}
.pkg-selector:hover { background: #4780bf10; }
.pkg-selector.active { background: var(--color-primary); color: white; }
.pkg-selector.active * { color: white; }

.language-switch {
  position: fixed; bottom: 0px; left: 0px; width: 100%;
  background: #41c50d; color: white;
  padding: 0.85em; z-index: 100; border-top: 1px solid #EEEEEE;
  display: flex; gap: 1em; align-items: center;
}

.language-switch a {
  background: white;
  border-radius: 3px;
  padding: 5px 10px;
  color: #41c50d;
}

.form-group-contact {
  display: flex;
  gap: 1em;
  align-items: center;
}

.form-group-contact span.left {
  min-width: 1em;
  text-align: right;
  text-wrap: nowrap;
}
.form-group-contact .form-control {
  height: auto;
  padding: 1em;
  margin: 0.2em 0 !important;
}

.packages-list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}