@keyframes moveLeftToRight {
  0% {
    transform: translateX(0%);
  }

  100% {
      transform: translateX(100%);
  }
}

@keyframes moveRightToLeft {
  0% {
    transform: translateX(100%);
  }

  100% {
      transform: translateX(0%);
  }
}

#so-container {
    margin: auto;
    text-align: center;
}

#so-container .contact-form {
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
	#so-container .contact-form {
		flex-direction: column;
	}
}

#so-container p {
    display: none;
}

.confirmation-msg {
  animation-duration: 2s;
  animation-name: moveLeftToRight;
  animation-iteration-count: 1;
  animation-delay: 10s;
  animation-fill-mode: forwards;
}

.confirmation-msg .msg {
  animation-duration: 2s;
  animation-name: moveRightToLeft;
  animation-iteration-count: 1;
  animation-delay: 0s;
  animation-fill-mode: forwards;
}

.confirmation-msg {
    position: fixed;
    right: 0;
    top: 30%;
    z-index: 99999;
}

.confirmation-msg p {
    display: none;
}

.confirmation-msg .msg .info-lg {
    width: 40px;
    display: block;
    height: 40px;
    font-size: 33px;
    line-height: 39px;
    margin-right: 10px;
    border: 2px solid chartreuse;
    border-radius: 50%;
}


.confirmation-msg .msg .info-lg:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='chartreuse' class='bi bi-info-lg' viewBox='0 0 16 16'><path d='m9.708 6.075-3.024.379-.108.502.595.108c.387.093.464.232.38.619l-.975 4.577c-.255 1.183.14 1.74 1.067 1.74.72 0 1.554-.332 1.933-.789l.116-.549c-.263.232-.65.325-.905.325-.363 0-.494-.255-.402-.704zm.091-2.755a1.32 1.32 0 1 1-2.64 0 1.32 1.32 0 0 1 2.64 0'/></svg>");
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    content: "";
    font-size: 34px;
    display: block;
    width: 100%;
    height: 100%;
}

.confirmation-msg .msg {
    position: relative;
  	background: #104488;
	color: #fff;
	text-align: center;
	opacity: 1;
	border: 1px solid #104488;
	font-size: 20px;
	padding: 10px;
	display: flex;
	align-items: center;
	transform: translateX(200%);
	font-family: 'Cooper Hewitt-Semibold',Helvetica,Arial,Lucida,sans-serif !important;
	letter-spacing: 0.4pt;
}


#so-container .header {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 30px;
}

#so-container h2 {
    padding: 10px;
	font-family: 'Cooper Hewitt-Semibold',Helvetica,Arial,Lucida,sans-serif;
	text-transform: uppercase;
	font-size: 40px;
	color: #3c3c3c !important;
	line-height: 50px;
	text-align: center;
}

#so-container h3 {
    color: #000000 !important;
    margin: 40px auto 10px auto;
    width: 415px;
    font-weight: 600;
    display: none;
}

#so-container .bi-exclamation-triangle {
    display: block;
    width: 70px;
    height: 70px;
}

#so-container .bi-exclamation-triangle:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='green' class='bi bi-exclamation-triangle' viewBox='0 0 16 16'><path d='M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017.2.2 0 0 1-.054-.06.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767z'/><path d='M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z'/></svg>");
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    content: "";
    font-size: 34px;
    display: block;
    width: 100%;
    height: 100%;
    background-size: 4rem 4rem;
}

#so-container .form-element {
	width: 640px;
	line-height: 10px;
	margin: auto;
	position: relative;
}

@media (max-width: 768px) {
	#so-container .form-element {
		width: calc(100% - 40px);
	}
}

@media (max-width: 350px) {
	#so-container .form-element {
		width: 100%;
		margin-left: 0;
	}
}

#so-container .hide {
    display: none;
}

#so-container .err-msg {
    color: red;
}

#so-container input[type="text"],
#so-container input[type="password"],
#so-container input[type="email"],
#so-container input[type="number"],
#so-container textarea,
#so-container select {
    margin-bottom: 30px;
    background: #F6F6F5;
    -webkit-appearance: none;
    width: 100%;
    border: 1px solid #F6F6F5;
    border-radius: 0;
    color: #999;
    font-size: 14px;
    padding: 14px;
}

#so-container input[type="text"]:focus,
#so-container input[type="password"]:focus,
#so-container input[type="email"]:focus,
#so-container input[type="number"]:focus,
#so-container select:focus {
    border-color: #2d3940;
    color: #3e3e3e;
}


#so-container .form-element label {
	width: 100%;
	display: block;
	text-align: left;
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: 700;
	line-height: 16px;
}

#so-container select {
    cursor: pointer;
}

#so-container .form-element[data-type="select"]:after {
    content: "";
    position: absolute;
    top: 35px;
    right: 10px;
    width: 32px;
    height: 21px;
    border: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-caret-down-fill' viewBox='0 0 16 16'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    background-position: center;
}

#so-container .form-element .captcha {
    display: flex;
    margin-top: 10px;
}

#so-container .form-element .captcha input{

}

#so-container .form-element .captcha .img {
    height: 50px;
	margin-left: 30px;
}

#so-container .form-element .captcha .img img {
    height: 100%;
}

#so-container .form-element .email-duplicate {
    color: red;
    position: absolute;
    bottom: 8px;
    font-size: 12px;
    right: 0;
    display: none;
}

#so-container .form-element .email-duplicate.inline-error {
    display: block;
}

#so-container .message {
    opacity: 0;
    font-size: 16px;
    line-height: 28px;
    padding: 10px;
    transition: opacity 3s ease;
}

#so-container .message div {
    display: none;
}

#so-container .message.active {
    opacity: 1 !important;
    transition: opacity 3s ease;
}

#so-container .message.active div {
    display: block;
}

#so-container .invalid {
    border: 1px solid red !important;
}

#so-container .btn {
  border: none;
  font-family: 'Cooper Hewitt-Semibold',Helvetica,Arial,Lucida,sans-serif !important;
  font-size: 1rem;
  color: inherit;
  background: none;
  cursor: pointer;
  padding: 25px 80px;
  display: inline-block;
  margin: 15px 0px;
  letter-spacing: 1px;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

#so-container .btn:after {
  content: '';
  position: absolute;
  z-index: -1;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

/* Pseudo elements for icons */
#so-container .btn:before {
  font-family: 'FontAwesome';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: relative;
  -webkit-font-smoothing: antialiased;
}


/* Icon separator */
#so-container .btn-sep {
  padding: 10px 10px 10px 10px;
}

#so-container .btn-sep:before {
  background: rgba(0,0,0,0.15);
}

#so-container .btn-1 {
  border: 2px solid #104488;;
  color: #104488;
}

#so-container .btn-1:hover {
  background: #104488;
  color: #fff;
}

#so-container .btn-1:active {
  background: #2980b9;
  top: 2px;
}

#so-container .icon-person-lock:before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-person-fill-lock' viewBox='0 0 16 16'><path d='M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0m-9 8c0 1 1 1 1 1h5v-1a2 2 0 0 1 .01-.2 4.49 4.49 0 0 1 1.534-3.693Q8.844 9.002 8 9c-5 0-6 3-6 4m7 0a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1'/></svg>");
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    content: "";
}

#so-container .icon-unlock:before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='yellow' class='bi bi-unlock-fill' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M12 0a4 4 0 0 1 4 4v2.5h-1V4a3 3 0 1 0-6 0v2h.5A2.5 2.5 0 0 1 12 8.5v5A2.5 2.5 0 0 1 9.5 16h-7A2.5 2.5 0 0 1 0 13.5v-5A2.5 2.5 0 0 1 2.5 6H8V4a4 4 0 0 1 4-4'/></svg>");
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    content: "";
}

#so-container .update-btn {
	border: 0;
	width: 36px;
	background: transparent;
	cursor: pointer;
	margin: 0 10px;
	display: flex;
}

#so-container .update-btn .bi-arrow-repeat {
    width: 40px;
    display: block;
    height: 40px;
    font-size: 33px;
    line-height: 39px;
    border: 0;
    border-radius: 50%;
    transform: rotate(0deg);
    transition: transform 1s ease;
}

#so-container .update-btn.active .bi-arrow-repeat {
    transform: rotate(180deg);
    transition: transform 1s ease;
}

#so-container .update-btn .bi-arrow-repeat:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='104488' class='bi bi-arrow-repeat' viewBox='0 0 16 16'><path d='M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9'/><path fill-rule='evenodd' d='M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z'/></svg>");
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    content: "";
    font-size: 34px;
    display: block;
    width: 100%;
    height: 100%;
}

#so-container .bi-check2-circle {
    width: 70px;
    display: block;
    height: 70px;
    font-size: 33px;
    line-height: 39px;
    border: 0;
    margin: auto;
}

#so-container .bi-check2-circle:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='green' class='bi bi-check2-circle' viewBox='0 0 16 16'><path d='M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0'/><path d='M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z'/></svg>");
    background-repeat: no-repeat;
    background-size: 3.5rem 3.5rem;
    background-position: center;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 980px) {
	#event-popup .et_pb_column {
		width: 100% !important;
	}
}

#so-container .product-samples {
  display: flex;
  flex-direction: row;
}

#so-container .product-samples .bottom {
	display: flex;
	flex-direction: row;
	padding: 15px 20px;
}

#so-container .product-samples  .products {
  display: flex;
  flex-direction: row;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (max-width: 860px) {
	#so-container .product-samples .products {
		justify-content: space-around;
		
	}
}

@media (max-width: 1270px) {
	#so-container .product-samples {
		max-width: 850px;
		margin: auto;
	}
}

@media (max-width: 860px) {
	#so-container .product-samples {
		max-width: 750px;
		margin: auto;
	}
}

#so-container .product-samples .products .product {
	width: 390px;
	height: 297px;
	position: relative;
	cursor: pointer;
	background: #F6F6F5;
	margin-bottom: 30px;
}

@media (max-width: 430px) {
	#so-container .product-samples .products .product {
  		width: 310px;
	}
}

#so-container .product-samples .products .product .headline {
	display: flex;
	flex-direction: column;
	padding-left: 20px;
	padding-top: 15px;
	max-width: 300px;
}

#so-container .product-samples .products .product .headline h3 {
	color: #000000 !important;
	margin: 0;
	font-weight: 709;
	font-size: 16px;
	padding-bottom: 15px;
	display: block;
	width: auto;
	text-align: left;
}

#so-container .product-samples .products .product .headline .subtitle {
	color: #000000 !important;
	font-size: 14px;
	font-weight: 400;
	text-align: left;
}

#so-container .product-samples input {
	display: none;
}


#so-container .product-samples label {
  cursor: pointer;
}


#so-container .product-samples .chk-icon {
	cursor: pointer;
	border: 3px solid #104488;
	width: 46px;
	height: 46px;
}


@media (max-width: 430px) {
	#so-container .product-samples .chk-icon {
		width: 44px;
		height: 35px;
	}
}


#so-container .product-samples input:checked ~ .chk-icon::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: #104488;
	margin: 10px auto;
}


@media (max-width: 430px) {
	#so-container .product-samples input:checked ~ .chk-icon::after {
		margin: 4px auto;
	}
}

#so-container .text {
	font-size: 14px;
	font-weight: 400;
	margin: 100px auto 50px auto;
	text-align: center;
	line-height: 25px;
}

#so-container .products-error.active {
	opacity: 1 !important;
}

#so-container .products-max-error.active {
	opacity: 1 !important;
}

#so-container .privacy-policy {
	display: flex;
	align-items: center;
}

#so-container .footer {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin-top: 50px;
}

@media (max-width: 465px) {
	#so-container .footer {
		flex-direction: column;
		justify-content: space-between;
	}
	
	#so-container .footer div {
		width: 100%;
		text-align: left;
	}
}

#so-container .privacy-policy input {
	width: 24px;
	height: 24px;
	margin: 0;
}

#so-container .privacy-policy .et_pb_text_inner {
	font-size: 14px;
  	font-weight: 400;
	color: #104488;
}


#so-container .privacy-policy .et_pb_text_inner span {
	font-size: 14px;
  	font-weight: 400;
	color: #000000;
}

#so-container .privacy-policy input.invalid ~.et_pb_module .et_pb_text_inner  {
	color: red;	
}

#so-container .privacy-policy input.invalid ~.et_pb_module .et_pb_text_inner span {
	color: red;	
}