/*
 Theme Name:   Aus3
 Theme URI:    triathlon.org.au
 Description:  Aus3 Theme
 Author:       The Other Dimension
 Author URI:   https://theotherdimension.com
 Template:     Divi
 Version:      1.2
*/


/*** General Styling ***/

:root {
	--blue: #007DFF;
	--red: #ff0000;
	--purple: #803E80;
	--orange: #F2B443;
	--grey: #3e4545;
	--lightgrey: #f5f5f5;
	--blueShadow: 0px 10px 30px 0px rgb(0 125 255 / 25%);
	--g1: 8%;
	--g2: 70%;
	--g3: 100%;
	--deg: 35deg;
	--deg2: 35deg;
	--grad: linear-gradient(var(--deg), var(--blue) var(--g1), var(--red) var(--g2), var(--orange) var(--g3));
	--grad2: linear-gradient(var(--deg2), var(--blue) var(--g1), var(--red) var(--g2), var(--orange) var(--g3));
	--border: 15px;
}

body {
	overflow-x: hidden;
    background: var(--grad2);
}


body.page-parent.platform .et_pb_section, body.parent-platform .et_pb_section {background: transparent !important;}

::selection {
	background-color: rgb(0 125 255, 25%);
}

.placeholder {
	-webkit-filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(268deg) saturate(590%) contrast(1);
	filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(268deg) saturate(590%) contrast(1);
}

.at-header-title-gradient {
	padding-top: 10% !important;
	background-position: left 5% bottom -80% !important;
}



/*** Navigation Styling ***/

#main-header { display: none;}
#page-container {padding-top: 0 !important;}

@media (max-width: 980px) {
    .et_pb_menu .et_pb_menu__menu {
        display: block;
		width: 100%;
	}
	.et_mobile_nav_menu {
		display: none !important;
	}
}

.et_pb_menu .et-menu-nav {
	width: 100%;
}

.et_pb_menu .et-menu {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	justify-content: space-between !important;
}

footer .et_pb_menu .et_pb_menu__menu>nav>ul>li {
	justify-content: center;
    align-items: center;
	width: 16.666%;
	min-width: 45px;
    height: 45px;
    padding: 0;
    text-align: center;
    line-height: 45px;
}

body.parent-platform:not(.no-footer) #main-content .et_pb_section:last-child { padding-bottom: 15vh !important; }

body.no-footer footer {display: none;}

#menu-platform-menu li a {
	margin-top: 0;
	width: 45px;
    height: 45px;
	background: rgb(62 69 69 / 40%);
	border-radius: 50%;
}

#menu-platform-menu li {
	margin-top: 0;
}

#menu-platform-menu li a {
	padding-bottom: 0;
}

#menu-platform-menu li.current-menu-item a,
#menu-platform-menu li:hover a {
	background: #ffffff;
}

#menu-platform-menu li.current-menu-item a,
#menu-platform-menu li:hover a {
	color: var(--blue) !important;
}



/*** Typography Styling ***/

body {
	font-weight: 500;
}

h1 {
	font-size: clamp(2rem, 10.7vw - 3.2rem, 3.5rem) !important;
}

h2 {
	font-size: clamp(1.5rem, 6.7vw - 1.4rem, 2.75rem) !important;
}

h3 {
	font-size: clamp(1.25rem, 6.7vw - 1.9rem, 2.25rem) !important;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.25em;
}

h2, h3, h4, h5, h6 {
	text-transform: none;
}

sup {
	bottom: 0.6em;
    font-size: .8em;
}

.et_pb_module:not(.et_pb_bg_layout_dark) h1 {
	background: var(--blue);
    background: var(--grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	width: fit-content;
	display: inline-block;
}

.et_pb_fullwidth_header_container h1 {
	display: block;
}

#left-area ol, .entry-content ol, .et-l--body ol, .et-l--footer ol, .et-l--header ol {
    list-style-position: outside;
    padding: 0px 0px 23px 40px;
}

blockquote {
	margin-left: -30px;
}

.et_pb_text_inner ul {
	list-style-position: outside;
	padding-top: 1em;
}

.et_pb_text_inner ol.list-space li,
.et_pb_text_inner ul.list-space li {
	margin-bottom: 1em;
}

.et_pb_text_inner ol.list-space li:last-child,
.et_pb_text_inner ul.list-space li:last-child {
	margin-bottom: 0;
}

ol > li::marker {
	font-weight: bold;
	color: var(--blue);
}


/*** Module Styling ***/

.at-border {
	-webit-border: var(--border);
	-moz-border: var(-border);
	border: var(--border);
}

.at-shadow {
	box-shadow: var(--blueShadow);
}

.at-middle-row {
	align-items: center;
	-webkit-align-items: center;
	display: flex;
}

body .et_pb_button {
	min-width: 140px;
}

.et_pb_button:hover {
	cursor: pointer;
}

body .et_pb_button.et_pb_bg_layout_light:hover {
	background-position: right center !important;
	background-size: 150% auto;   
	color: #ffffff;
}

body .et_pb_button.et_pb_bg_layout_dark {
	color: var(--grey) !important;
	border: solid 3px transparent;
	box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
	background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #ffffff inset;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
	transition: 0.3s;  
}

body .et_pb_button.et_pb_bg_layout_dark:hover {
	background-position: right center;
	box-shadow: none;
	color: #ffffff !important;
}

body #main-content .et_pb_button, body #main-content .et_pb_button:hover { padding: 0.5em 1.5em!important; font-weight: bold;}

body .et_pb_search input.et_pb_searchsubmit {
	background-position: right center !important;
	background-size: 150% auto;   
	padding: 0.5em 1.5em!important;
	color: #ffffff;
	font-weight: bold;
	border: none;
	border-top-right-radius: 20px!important;
    border-bottom-right-radius: 20px!important;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
	background-position: right center !important;
	transition: 0.3s; 
}

.et_pb_search { border: none; }

.et_pb_search input.et_pb_s, .et_pb_search input.et_pb_searchsubmit {
	border: 1px solid #666;
	border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.username-feedback {
    font-size: 12px;
    margin-top: 10px;
    padding: 5px 8px;
    border-radius: 3px;
}

.username-feedback.available {
    color: #28a745;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
}

.username-feedback.taken {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}

.username-feedback.checking {
    color: #856404;
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
}

/* Onboarding */

.onboarding-module {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--purple);
	background-image: var(--grad);
}

.onboard {
	position: relative;
	width: 90%;
	max-width: 400px;
	height: 650px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.slick-prev,
.slick-next {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	background: #ffffff !important; /* Force background */
	border-radius: 50%;
	box-shadow: var(--blueShadow);
	z-index: 10;
	cursor: pointer;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	font-size: 0;
	line-height: 0;
	padding: 0;
	opacity: 1 !important; /* Force opacity */
}

/* Position arrows */
.slick-prev {
	left: 0;
	transform: translate(-50%, -50%);
}

.slick-next {
	right: 0;
	transform: translate(50%, -50%);
}

/* Hover state */
.slick-prev:hover,
.slick-next:hover {
	background: #f8f8f8 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Disabled state */
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
	background: #ffffff !important;
	opacity: 0.75 !important;
	cursor: default;
}

/* Arrow Icons */
.slick-prev:before,
.slick-next:before {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 1 !important;
}

.slick-prev:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");
}

.slick-next:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
}

.onboarding-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.item {
	width: 350px;
	height: 650px;
	text-align: center;
	color: #333;
	outline: none;
	padding: 40px;
	position: relative;
}

.item .ico {
	margin: 0 auto;
	height: 350px;
	text-align: center;
	position: relative;
}

.item .ico svg {
	width: 130px;
	height: 130px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.item .title {
	font-size: 25px;
	color: var(--blue);
	margin-bottom: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.item .text {
	font-size: 16px;
	line-height: 1.5;
	color: var(--grey);
}

.item ul {
	padding: 0;
	text-align: left;
}

.from-right .ico,
.from-right .title,
.from-right .text,
.from-right .cta {
	opacity: 0;
	transform: translate(200px);
}

.from-right .ico {
	transform: translate(200px) rotate(45deg);
}

.from-left .ico,
.from-left .title,
.from-left .text,
.from-left .cta {
	opacity: 0;
	transform: translate(-200px);
}

.from-left .ico {
	transform: translate(-200px) rotate(-45deg);
}

.ready .ico,
.ready .title,
.ready .text,
.ready .cta {
	transform: translate(0) rotate(0);
	opacity: 1;
	transition: all 0.25s cubic-bezier(0.93, 0.01, 0.15, 0.97) 0.25s;
}

.ready .title {
	transition-delay: 0.6s;
}

.ready .text {
	transition-delay: 0.7s;
}

.ready .cta {
	transition: all 0.5s cubic-bezier(0.93, 0.01, 0.15, 0.97) 0.8s, box-shadow 0.3s ease 0s;
	font-weight: 700 !important;
    color: #ffffff !important;
    background-color: var(--blue);
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
	background-position: right center !important;
    margin-top: 2em;
    padding: .3em 1em !important;
    border-width: 0px !important;
    border-radius: 100px;
    letter-spacing: 1px;
    line-height: 1.6em !important;
    font-size: 18px;
	position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    display: inline-block;
    max-width: 80%;
    margin: 0 auto;
}

.slick-dots {
	bottom: -40px;
	padding: 0 !important;
	line-height: 0 !important;
	display: flex !important;
	justify-content: center;
	gap: 8px;
}

.slick-dots li {
	position: relative;
	display: block;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}

.slick-dots a {
	position: relative;
	display: block;
	width: 16px;
	height: 16px;
}

.slick-dots span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
}

.slick-dots svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 16px;
	height: 16px;
}

.slick-dots circle {
	fill: none;
	stroke: #fff;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-dasharray: 39 39;
	stroke-dashoffset: 39;
	transition: stroke-dashoffset 0.5s cubic-bezier(0.93, 0.01, 0.15, 0.97);
}

.slick-dots .slick-active circle {
	stroke-dashoffset: 0;
}


/*** Form Styling ***/

body .gform_required_legend {
	display: none;
}

.gfield {
	box-shadow: inset 0px 0px 4px 4px rgba(0, 0, 0, 0.05);
    padding: 1.5em !important;
    border-radius: 14px;
}

.gfield.gfield--type-password, .gfield.gfield--type-name {
	padding: 3em 1.5em 1.5em !important;
	position: relative;
}


.gfield.gfield--type-password legend,
.gfield.gfield--type-name legend {
	position: relative;
	top: 30px;
	margin-bottom: 0 !important;
}

#gform_2 .gform_footer {
	justify-content: center;
	padding: 16px 0 0;
}

input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea {
	font-size: 16px;
	font-weight: bold;
	background-color: var(--lightgrey);
    border: none;
    padding: 1.15em 1em !important;
    color: var(--blue);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	text-align: center;
}

select {
	-webkit-appearance: none;
	appearance: none;
	background: var(--lightgrey) url(https://www.triathlon.org.au/wp-content/uploads/2023/08/select-arrow.svg) no-repeat center right 10px;
}

input.text:focus, input.title:focus, input[type=email]:focus, input[type=password]:focus, input[type=tel]:focus, input[type=text]:focus, select:focus, textarea:focus {
	-webkit-box-shadow: 0 0 0 2px var(--blue);
    -moz-box-shadow: 0 0 0 2px var(--blue) inset;
    box-shadow: 0 0 0 2px var(--blue) inset;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: var(--red);
}

body input[type=checkbox] {
	height: 25px;
    min-width: 25px !important;
    background-color: var(--lightgrey);
    border: none;
    box-shadow: none;
    padding: 2px !important;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: 0;
	margin-right: 6px;
}

body input[type=checkbox]:checked {
	background: var(--grad);
}

body input[type=checkbox]:checked:before {
	font-family: 'ETModules' !important;
	color: #ffffff;
	content: '\4e';
    font-weight: bold;
    font-size: 18px;
}

body input[type=radio] {
	height: 25px;
    min-width: 25px !important;
    background-color: var(--lightgrey);
    border: none;
    box-shadow: none;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
    padding: 2px !important;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: 0;
}

body input[type=radio]:checked {
	background: var(--grad);
}

body input[type=radio]:checked:before {
	font-family: 'ETModules' !important;
	content: '\4e';
    font-weight: bold;
    font-size: 18px;
	color: #ffffff;
}

.gform_wrapper.gravity-theme .gform_footer input {
	font-size: 18px;
	font-weight: bold;
    font-style: normal;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 50px;
	color: #3e4545 !important;
	border: solid 3px transparent;
	line-height: 1.7em!important;
	padding: 0.3em 1em!important;
    background-color: transparent;
	box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
	background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fff inset;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
	transition: 0.3s;
	min-width: 140px;
}

.gform_wrapper.gravity-theme .gform_footer input#gform_submit_button_2 {
    background-color: var(--blue);
    color: #ffffff !important;
    background-clip: unset;
    background-image: none;
    box-shadow: none;
}

.gform_wrapper.gravity-theme .gform-page-footer input {
	font-size: 18px;
	font-weight: bold;
    font-style: normal;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 50px;
	color: #ffffff !important;
	border: solid 3px transparent;
	line-height: 1.7em!important;
	padding: 0.3em 1em!important;
    background-color: transparent;
	box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
	background-origin: border-box;
    background-clip: content-box, border-box;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
	transition: 0.3s;
	min-width: 140px;
}

.gform_wrapper.gravity-theme .gform-page-footer input:hover {
	cursor: pointer;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where(:has(input:checked))::after {
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),var(--grad);
}

.gform_wrapper.gravity-theme .gform_footer input:hover {
	background-position: right center;
	box-shadow: none;
	color: #ffffff !important;
	cursor: pointer;
}

#gf_progressbar_wrapper_1, .gfield_description.validation_message:before { display: none !important; }

body .gform_wrapper.gravity-theme .gform_validation_errors {
	background: var(--red);
	border: none;
	box-shadow: none;
}

.tooltip-field {
    position: relative;
    display: inline-block;
}
.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield_radio { justify-content: center;}

.ginput_container.ginput_container_consent {
	display: flex;
    gap: 10px;
    justify-content: center;
}

body .gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	font-size: 1rem !important;
	color: #ffffff;
}

.gform-icon--circle-error:before {
	color: #ffffff;
}

.gform_wrapper.gravity-theme .tooltip-field legend,
.gform_wrapper.gravity-theme .field-adjust legend {display: contents;}

.tooltip-field .tooltip-text {
	position: absolute;
    clip: rect(0 0 0 0); /* Completely clip the element */
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    z-index: 1000;
    background-color: var(--blue);
    color: #fff;
    border-radius: 6px;
    transition: clip 0.3s, visibility 0.3s;
}

.tooltip-field .gfield_description:hover .tooltip-text {
    clip: auto;
    clip-path: none;
    height: auto;
    width: auto;
    margin: 0;
    overflow: visible;
    padding: 8px 12px;
    white-space: normal;
    position: absolute;
    left: 0;
    bottom: 100%;
}

.tooltip-field .gfield_description::before {
    content: "?";
    background: var(--orange);
    color: #ffffff;
    font-size: 16px;
    border-radius: 50%;
    position: relative;
    margin-right: 5px;
    width: 20px;
    height: 20px;
    display: inline-block;
    font-weight: bold;
    line-height: 20px;
}

.tooltip-field .tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--blue) transparent transparent transparent;
}

.gform_wrapper.gravity-theme .ginput_container_address span {
	flex: none !important;
	width: 100%;
}

.gform_wrapper.gravity-theme .gfield_password_strength.strong {
    background-color: limegreen;
    border-bottom: 3px solid limegreen;
    border-color: limegreen;
}

.gform_wrapper .has_country { display: block;}

.tooltip-field .gfield_description {
	padding-top: 0 !important;
	color: #777;
	font-size: 14px !important;
	font-style: italic;
}

.aus3-reg .gfield_html {
	background: var(--blue);
    color: white;
    font-weight: bold;
}


/*** Responsive Styling ***/

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {

 
}

/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {


}

/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
	.swap_row,
	.at-middle-row.swap_row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex !important;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	} 
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
		margin-bottom: 30px !important;
	} 
	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	} 
	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	} 
	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	.swap_row:last-child .et_pb_column:not(.et-last-child) {
		margin-bottom: 0;
	}
	.at-middle-row {
		display: block;
	}
	.parent-platform .et_pb_row {
		width: 90%;
	}
	.page-parent.platform .et_pb_row,
	.parent-platform.map .et_pb_row {
		width: 100%;
	}
	.parent-platform h1 {
		padding-bottom: 0;
	}
}

/*** Responsive Styles Tablet and ABOVE ***/
@media all and (min-width: 981px) {
	.et_pb_menu .et_pb_menu__menu {
		display: block;
		width: 100%;
		max-width: 400px;
	}
	body.parent-platform:not(.no-footer) #main-content .et_pb_section:last-child {
		padding-bottom: 20vh !important;
	}
}

/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
	
}

/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {

}

/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {

	
}

@media all and (device-width: 1024px) and (device-height: 768px) and (orientation:landscape) {

}