@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

body {
	background: #f2f2f2;
	font: 16px "Open Sans", sans-serif;
  color: #333;
  margin: 0;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
	box-sizing: border-box;
}

a {
	color: #267795;
}

.container {
  margin: auto;
  max-width: 700px;
  padding: 24px 24px 100px;
}

.header a img {
	width: 200px;
	height: auto;
}

.header h1 {
	color: #267795;
	line-height: 120%;
  font-size: 28px;
  margin-bottom: 30px;
}

.header h1 span {
  color: #333;
  font-size: 20px;
  font-weight: normal;
  display: block;
	line-height: 110%;
  margin-bottom: 4px;
}

.details {
  padding: 25px;
  background: rgba(38, 119, 149, 0.15);
  border-radius: 12px;
  margin-bottom: 30px;
  text-align: left;
}

.details h2 {
  color: #267795;
  margin-top: 0;
  text-align: center;
}

.details ul {
  margin-bottom: 0;
  padding-left: 25px;
}

.details ul li {
  margin-top: 8px;
}

.contact {
	padding: 25px;
  background: #fff;
  border-radius: 12px;
  margin-bottom: 30px;
  text-align: left;
}

.required {
	color: #f00;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 10px;
	text-align: center;
	width: 100%;
}

.contact-form {
	display: flex;
	flex-flow: row wrap;
	gap: 20px;
}

.contact-form h2 {
	margin: 0;
	font-size: 16px;
}

.form-col {
	width: calc(100% / 2 - 10px);
}

.form-input label {
	font-size: 14px;
	color: #666;
	display: block;
	margin-bottom: 4px;
}

.form-input label:after {
	content: ' *';
	color: #f00;	
	font-size: 10px;
}

.form-input [type="text"] {
	background: #fafafa;
	border: 1px solid #ccc;
	border-radius: 4px;
	color: #333;
	font: 16px 'Open Sans', sans-serif;
	padding: 12px 15px;
	width: 100%;
}

.form-input [type="text"]:hover {
	border-color: #aaa;	
}

.form-input [type="text"]:focus {
	outline: none;
	border-color: #267795;
}

.form-checkbox {
	color: #666;
	display: flex;
	justify-content: center;
	width: 100%;
}

.form-checkbox input {
  position: absolute;
  opacity: 0;
}

.form-checkbox input + label {
  align-items: center;
  display: flex !important;
  flex-flow: row;
  font-size: 14px;
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0;
  line-height: 120%;
}

.form-checkbox input + label:before {
  content: '';
  margin-right: 12px;
  border: 1px solid #ccc;
  border-radius: 2px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  background: white;
}

.form-checkbox input:hover + label:before {
  border-color: #aaa;
}

.form-checkbox input:checked + label:before {
  background: #267795;
  border-color: #267795;
}

.form-checkbox input:checked + label:after {
  content: '';
  position: absolute;
  left: 5px;
  top: calc(50% - 1px);
  background: white;
  width: 2px;
  height: 2px;
  box-shadow: 
    2px 0 0 white,
    4px 0 0 white,
    4px -2px 0 white,
    4px -4px 0 white,
    4px -6px 0 white,
    4px -8px 0 white;
  transform: rotate(45deg);
}

.form-submit {
	display: flex;
	justify-content: center;
	width: 100%;
}

.form-submit .btn {
  display: block;
  background: #267795;
  color: #fff;
  cursor: pointer;
  border: 0 !important;
  border-radius: 50px;
  font: 16px 'Open Sans', sans-serif;
  padding: 12px 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 14px;
  display: inline-block;	
}

.form-submit .btn:hover {
	opacity: .6;	
}

.form-submit .btn[disabled] {
	opacity: .4;
	pointer-events: none;	
}

.messages .--error,
.messages .--success {
	background: #e7f0e6;
	margin-bottom: 20px;
  border: 1px solid #5b9a51;
  border-radius: 4px;
  color: #236818;
  font-size: 14px;
  font-weight: 600;
  padding: 15px;
}

.messages .--error {
	background: #ffe9e5;
	border-color: #e2142c;
	color: #b41322;
}

.footer {
  background: #267795;
  color: #fff;
  font-size: 14px;
  padding: 16px 24px;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

.footer a {
	color: #fff;
	text-decoration: underline;	
}

.grecaptcha-badge {
	display: none;
}

@media screen and (max-width: 767px) {
	.form-col {
		width: 100%;
	}	
}