/** General Page Styles 
 ** =================================================**/
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');
:root {
  --page-width:       1660px;
  --primary-color:    #2A9D8F;
  --secondary-color:  #177B6E;
  --tertiary-color:   #E76F51; }

body {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 1.125em;
  line-height: 1.4em;
  color: #1b1b1b;
  background-color: #ffffff;
  height: 100%; }

h1 {
  font-family: 'Outfit', sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  color: var(--tertiary-color);
  font-size: 2.5em;
  margin: 0;
  line-height: 48px; }

h2 {
  font-family: 'Outfit', sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  color: #264653;
  font-size: 2.5em;
  line-height: 48px;
  margin: 20px 0 0 0; }

h3 {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  text-transform: capitalize;
  color: #264653;
  font-size: 2em;
  margin: 20px 0 0 0;
  line-height: 38px; }

h4 {
  font-family: 'Outfit', sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  color: #264653;
  font-size: 1.75em;
  margin: 20px 0 0 0;
  line-height: 34px; }

h5 {
  font-family: 'Outfit', sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  color: #264653;
  font-size: 1.375em;
  margin: 20px 0 0 0;
  line-height: 28px; }

@media screen and (max-width: 768px) {
  h1 {
    font-size: 2.1em; }
  h2 {
    font-size: 2.1em; } }

hr {
  border: 0;
  height: 1px;
  margin: 1em 0px 1em 0px;
  background: #959595; }

a {
  text-decoration: none;
  color: var(--tertiary-color); }

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

p {
  line-height: 1.5em; }

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

.rounded {
  border-radius: 20px; }

.nonrounded {
  border-radius: unset !important; }

.img-fl {
  float: left; }

.clear-fl {
  visibility: hidden;
  clear: both;
  font-size: 0.00000001em;
  height: 1px;
  width: 1px; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.txt-green {
  color: #177B6E; }

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

ul.list-col2 {
  columns: 2 200px; }

ul.list-col3 {
  columns: 3 200px; }

ul.list-col4 {
  columns: 4 200px; }

@media screen and (max-width: 1024px) {
  ul.list-col3 {
    columns: 2 200px; }
  ul.list-col4 {
    columns: 2 200px; } }

@media screen and (max-width: 768px) {
  ul.list-col2 {
    columns: 1 200px; }
  ul.list-col3 {
    columns: 1 200px; }
  ul.list-col4 {
    columns: 1 200px; } }

/** Column Styles
 ** =================================================**/
.sec-column {
  display: flex;
  gap: 2%; }

.flex-columns {
  flex-direction: column; }

.align-top {
  align-items: flex-start; }

.waiting-children-column {
  justify-content: center !important;
  gap: unset !important; }

.justify-end {
  justify-content: flex-end; }

.justify-sb {
  justify-content: space-between; }

.wide-gap {
  gap: 20px; }

.column-1 {
  flex: 1;
  padding: 0 20px;
  box-sizing: border-box; }

.column-2 {
  flex: 2;
  padding: 0 20px;
  box-sizing: border-box; }

.column-3 {
  flex: 3;
  padding: 0 20px;
  box-sizing: border-box; }

.column-25 {
  flex-basis: 23%;
  margin-bottom: 2em; }

.column-30 {
  flex-basis: 31.3333%;
  margin-bottom: 2em; }

.column-newsletter {
  flex-basis: 23.3333%;
  text-align: center;
  margin-bottom: 2em; }

.column-50 {
  flex-basis: 48%;
  margin-bottom: 2em; }

.column-1-old {
  flex: 1;
  padding: unset !important;
  box-sizing: unset !important; }

.column-3-old {
  flex: 3;
  padding: unset !important;
  box-sizing: unset !important; }

.column-wrap {
  flex-wrap: wrap; }

.add-top {
  margin-top: 1em; }

.big-top {
  margin-top: 2em; }

.small-top {
  padding-top: 1em !important; }

.small-bottom {
  padding-bottom: 1em !important; }

.medium-top {
  padding-top: 3em !important; }

.medium-bottom {
  padding-bottom: 3em !important; }

@media screen and (max-width: 1024px) {
  .column-25, .column-30 {
    flex-basis: 46%; } }

@media screen and (max-width: 768px) {
  .sec-column {
    flex-wrap: wrap;
    padding: 0 20px; }
  .column-1, .column-2, .column-3, .column-25, .column-30, .column-50 {
    flex-basis: 100%; } }

/** Custom Form Styles
 ** =================================================**/
select {
  appearance: none;
  outline: 0;
  box-shadow: none;
  border: 1px solid #959595;
  background: #ffffff;
  background-image: none;
  flex: 1;
  padding: 10px 20px;
  color: #000;
  cursor: pointer;
  font-size: 1.125em; }

select option {
  padding: 10px; }

select::-ms-expand {
  display: none; }

.required {
  color: var(--tertiary-color); }

.registration-form label, .registration-form p {
  font-family: 'Lato', sans-serif;
  font-size: 1.125em;
  color: #000; }

.registration-form input {
  width: 95%;
  margin: 5px 0 15px 0;
  padding: 15px 20px;
  border-radius: 5px;
  border: 1px solid #BEBEBE; }

.input-w1 {
  width: 92% !important; }

.input-w2 {
  width: 97% !important; }

.input-w3 {
  width: 94% !important; }

.controlField {
  display: none; }

.registration-form textarea {
  width: 97%;
  height: 75px;
  margin: 5px 0 15px 0;
  padding: 15px 20px;
  border-radius: 5px;
  border: 1px solid #BEBEBE; }

.registration-form select {
  width: 100%;
  margin: 4px 0 15px 0;
  padding: 12px 20px;
  border-radius: 5px;
  border: 1px solid #BEBEBE; }

.registration-form label.radio {
  margin-right: 20px; }

.registration-form input[type="radio"] {
  width: auto;
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin: 0 5px 0 0;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer; }

.category {
  position: relative;
  display: flex;
  width: auto;
  height: 3em;
  line-height: 3;
  background: var(--tertiary-color);
  overflow: hidden; }

.category::after {
  font-family: 'Font Awesome 6 Pro', sans-serif;
  content: '\f0d7';
  font-weight: 700;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 1em;
  background: var(--tertiary-color);
  cursor: pointer;
  color: #fff;
  pointer-events: none;
  transition: 0.25s all ease; }

.category:hover::after {
  color: #000; }

.required > label::after {
  content: ' *';
  color: var(--tertiary-color); }

.sub-title {
  font-size: 24px;
  color: #e76f51;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-family: 'Outfit', sans-serif !important; }

div.message.error {
  background-color: #C3232D;
  color: #FFF; }

div.message {
  text-align: center;
  cursor: pointer;
  display: block;
  font-weight: normal;
  padding: 0 1.5rem 0 1.5rem;
  transition: height 300ms ease-out 0s;
  background-color: #a0d3e8;
  color: #626262;
  top: 15px;
  right: 15px;
  z-index: 999;
  overflow: hidden;
  height: 50px;
  line-height: 2.5em;
  margin: 0px 20px 20px 20px; }

div.message.error::before {
  padding: 11px 16px 14px 7px;
  color: #C3232D;
  content: "x"; }

div.message::before {
  line-height: 0px;
  font-size: 20px;
  height: 12px;
  width: 12px;
  border-radius: 15px;
  text-align: center;
  vertical-align: middle;
  display: inline-block;
  position: relative;
  left: -11px;
  background-color: #FFF;
  padding: 12px 14px 12px 10px;
  content: "i";
  color: #a0d3e8;
  box-sizing: border-box; }

div.message.hidden {
  height: 0; }

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media (min-width: 768px) {
  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; } }

.popup-form label, .popup-form p {
  font-family: 'Lato', sans-serif;
  font-size: 1em;
  color: #000; }

.popup-form input {
  width: 95%;
  margin: 5px 0 7px 0;
  padding: 5px 8px;
  border-radius: 5px;
  border: 1px solid #BEBEBE; }

.popup-form textarea {
  width: 98%;
  height: 75px;
  margin: 5px 0 7px 0;
  padding: 5px 8px;
  border-radius: 5px;
  border: 1px solid #BEBEBE; }

.popup-form select {
  width: 100%;
  margin: 5px 0 7px 0;
  padding: 5px 8px;
  border-radius: 5px;
  border: 1px solid #BEBEBE;
  font-size: 1em; }

.popup-form label.radio {
  margin-right: 20px; }

.popup-form input[type="radio"] {
  width: auto;
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin: 0 5px 0 0;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer; }
