@charset "UTF-8";


*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*******************************
CSS RESET
*******************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
    cursor:pointer !important;
}

a:hover {
	outline: none;
    cursor:pointer !important;
    -webkit-tap-highlight-color: transparent;
    transition: all 200ms
}

button:hover {
    transition: all 200ms
}




/******************************
COLOURS
******************************/

:root {
    
    --color-white: #FFF;
    --color-black: #000;
    --color-light-grey: #EFEFEF;
    --color-purple: #C557B1;
    --color-green: #CCDD60;
    --color-blue: #4D6EB4;
    --color-red:#E15A26;
    --color-orange: #F1BA46;

}

.color-white { color: var(--color-white); }
.color-black { color: var(--color-black); }
.color-light-grey { color: var(--color-light-grey); }
.color-purple { color: var(--color-purple); }
.color-green { color: var(--color-green); }
.color-blue { color: var(--color-blue); }
.color-red { color: var(--color-red); }
.color-orange { color: var(--color-orange); }

.bgcolor-white { background-color: var(--color-white); }
.bgcolor-black { background-color: var(--color-black); }
.bgcolor-light-grey { background-color: var(--color-light-grey); }
.bgcolor-purple { background-color: var(--color-purple); }
.bgcolor-green { background-color: var(--color-green); }
.bgcolor-blue { background-color: var(--color-blue); }
.bgcolor-red { background-color: var(--color-red); }
.bgcolor-orange { background-color: var(--color-orange); }


/******************************
CORE DIMENSIONS
******************************/

:root {
    --site-width:1500px;
    --site-padding:50px;
}






/******************************
GENERAL
******************************/

html {
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6,
p, a,
ul li, ol li,
table th,
table tr,
table td {
    font-optical-sizing: auto;
}

sup {
    vertical-align: super;
    font-size: 60%;
    line-height: 1;
}

sub {
    vertical-align: sub;
    font-size: 60%;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}


body {
    font-family: "bebas-neue-pro", sans-serif;
}


/* ------------------------------------------------------------ Custom CSS ------------------------------------------------------------ */


.logo-reveal video {
  display: block !important;
  width: calc(100% + 4px) !important;
  max-width: none !important;
  margin: -2px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.logo-reveal video{
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* ==============================
   Header / Menu
   ============================== */

.main-menu.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] > .e-n-menu-wrapper {
  width: max-content;
  top:-24px;
  left:auto;
  right: 80px;
  position:absolute;
}

.main-menu.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] > .e-n-menu-wrapper {
  position: absolute;
  overflow: visible;
  animation: none;
  transition: none;
  overflow: visible;
}

.main-menu.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] > .e-n-menu-wrapper::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 18px solid #F2F6F8;
}

.main-menu .e-n-menu-item:not(:last-child) {
  border-right: 1px solid #12aee5;
}

.main-menu.main-menu.main-menu.main-menu ul {
    display: flex;
    gap: 0px !important;
    width:auto !important;
}

.main-menu.main-menu.main-menu.main-menu ul li div{
   padding-left:36px;
	padding-right:36px;
}

.footer-contact-form input,
.footer-contact-form textarea {
  background: transparent;
  border: none;
  border-bottom: 3px solid #ffffff;
  border-radius: 0;
  color: #ffffff;
}

/* Nav hover underline */
.main-menu .e-n-menu-title-text {
  position: relative;
  display: inline-block;
}

.main-menu .e-n-menu-title-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 2px;
  background: #12aee5;
  border-radius: 999px;
  transition: width 0.25s ease;
}

.main-menu .e-n-menu-title:hover .e-n-menu-title-text::after,
.main-menu .e-n-menu-title[aria-current="page"] .e-n-menu-title-text::after,
.main-menu .e-n-menu-title.e-current .e-n-menu-title-text::after {
  width: 100%;
}

.main-menu .e-n-menu-title.e-current .e-n-menu-title-text,
.main-menu .e-n-menu-title[aria-current="page"] .e-n-menu-title-text,
.main-menu .e-n-menu-title.e-active .e-n-menu-title-text {
  color: #061f3f;
}

.hero-logo-video {
  display: block;
  width: 100%;
  max-width: 550px !important;
  height: auto;
}

.section-diamond {
  left: 50% !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

/* ==============================
   Footer Contact Form
   ============================== */

.footer-contact-form .gform_wrapper input::placeholder,
.footer-contact-form .gform_wrapper textarea::placeholder {
  color: #ffffff;
  opacity: 1;
}

.footer-contact-form .gform_wrapper textarea {
  height: 80px;
  resize: none;
}

.footer-contact-form .gform_wrapper .gform_button {
  background: transparent;
  color: #ffffff;
  border: 3px solid #ffffff;
  border-radius: 999px;
  padding: 12px 46px;
  font-family: inherit;
  font-weight: 400;
  font-size: 20px;
  box-shadow: none;
}

.footer-contact-form #gform_1 input[type="text"],
.footer-contact-form #gform_1 input[type="email"],
.footer-contact-form #gform_1 textarea {
  transition: border-bottom 0.2s ease;
}

.footer-contact-form #gform_1 input[type="text"]:hover,
.footer-contact-form #gform_1 input[type="email"]:hover,
.footer-contact-form #gform_1 textarea:hover,
.footer-contact-form #gform_1 input[type="text"]:focus,
.footer-contact-form #gform_1 input[type="email"]:focus,
.footer-contact-form #gform_1 textarea:focus {
  border-bottom: 3px solid #01B6E8;
  outline: none;
}

.e-n-menu-toggle-icon.e-close svg {
  width: 24px !important;
  height: 24px !important;
}

.footer-contact-form .gfield_validation_message,
.footer-contact-form .validation_message,
.footer-contact-form .gform_submission_error {
  color: #ffffff !important;
}

.footer-contact-form .gform_validation_errors {
  display: none !important;
}

/* ==============================
   Footer Contact Form Typography
   ============================== */

.footer-contact-form #gform_1 input[type="text"],
.footer-contact-form #gform_1 input[type="email"],
.footer-contact-form #gform_1 textarea {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  color: #ffffff;
  background: transparent;
  border: none;
  border-bottom: 3px solid #ffffff;
  border-radius: 0;
  padding: 20px 0;
  box-shadow: none;
}

.footer-contact-form #gform_1 input::placeholder,
.footer-contact-form #gform_1 textarea::placeholder {
  color: #ffffff;
  opacity: 1;
}

.footer-contact-form #gform_1 textarea {
  height: 120px;
  min-height: 120px;
  max-height: 120px;
  overflow-y: auto;
  resize: none;
  padding: 8px 0;
}

.footer-contact-form #gform_submit_button_1 {
  font-family: "Lora", serif;
  font-size: 20px;
  font-weight: 400;
  color: #ffffff;
  background: transparent;
  border: 3px solid #12aee5;
  border-radius: 999px;
  margin-top:20px;
  padding: 12px 52px;
  box-shadow: none;
}

.footer-contact-form #gform_submit_button_1:hover {
  color: #092241;
  background: #ffffff;
  border: 3px solid #ffffff;
}

.footer-contact-form #gform_1 textarea {
  height: 120px;
  min-height: 90px;
  max-height: 90px;
  overflow-y: auto;
  resize: none;
  padding: 8px 0;
}

.footer-contact-form #gform_1 .gform_fields {
  column-gap: 36px;
}

.footer-contact-form #gform_1 .gform_footer {
  margin-top: 16px;
  padding-top: 0;
}

.footer-contact-form #field_1_9 {
  
}

#gform_confirmation_message_1 {
  color: #ffffff !important;
}


/* ==============================
   Primary Button and Links
   ============================== */

.link-parent a {
  box-shadow: none;
  text-decoration: underline !important;
  color: #000000;
}

.btn-primary .elementor-button {
  font-family: "Lora", serif;
  font-size: 20px;
  font-weight: 400;
  color: #ffffff;
  background: transparent;
  border: 3px solid #12aee5;
  border-radius: 999px;
  margin-top:20px;
  padding: 12px 22px;
  min-width:210px;
  box-shadow: none;
}

.btn-primary .elementor-button:hover {
  color: #092241;
  background: #ffffff;
  border: 3px solid #ffffff;
}

/* ==============================
   Social Icons
   ============================== */
.social-links-container, .social-links-container .e-con-inner{
  width: fit-content !important;
	
}

.social-icon {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
}

.social-icon img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s ease;
}

.social-icon-hover {
  opacity: 0;
}

.social-icon:hover .social-icon-normal {
  opacity: 0;
}

.social-icon:hover .social-icon-hover {
  opacity: 1;
}

/* Force Google reCAPTCHA badge to show */
.grecaptcha-badge,
body .grecaptcha-badge,
html body .grecaptcha-badge {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  z-index: 2147483647 !important;
  right: 20px !important;
  bottom: 20px !important;
  left: auto !important;
  top: auto !important;
  width: 256px !important;
  height: 60px !important;
  min-width: 256px !important;
  min-height: 60px !important;
  max-width: 256px !important;
  max-height: 60px !important;
  transform: none !important;
  translate: none !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  background: transparent !important;
  box-shadow: gray 0 0 5px !important;
}

/* Force the actual Google iframe/logo inside the badge to show */
.grecaptcha-badge iframe,
.grecaptcha-badge .grecaptcha-logo,
.grecaptcha-badge > div {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 256px !important;
  height: 60px !important;
  min-width: 256px !important;
  min-height: 60px !important;
  overflow: visible !important;
}

/* Prevent parent containers from clipping it */
html,
body {
  overflow-x: visible !important;
}

/* Undo common hidden CAPTCHA rules */
.ginput_recaptcha,
.ginput_container.ginput_recaptcha,
.gform_wrapper .ginput_recaptcha {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 60px !important;
}


