/* Tech week page */
body {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background-color: #6be6fb;
}
html {
  background-color: #6be6fb;
  max-width: 1920px;
  margin: 0 auto;
}
.figtree-bold {
  font-family: "Figtree", sans-serif;
  font-weight: 700;
}
.figtree-semibold {
  font-family: "Figtree", sans-serif;
  font-weight: 600;
}
.figtree-regular {
  font-family: "Figtree", sans-serif;
  font-weight: 400;
}
.figtree-medium {
  font-family: "Figtree", sans-serif;
  font-weight: 500;
}
#tech-header {
  padding: 40px 30px;
  background-color: #fff;
}
@media (min-width: 700px) {
  #tech-header {
    padding: 30px 30px 20px;
  }
}
#tech-header .tech-header-wrapper {
  max-width: 1494px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 700px) {
  #tech-header .tech-header-wrapper {
    gap: 5px;
    flex-direction: row;
  }
}
#tech-header .tech-header-wrapper .text-wrapper {
  width: 100%;
  text-align: center;
  height: fit-content;
  flex: 1;
}
#tech-header .tech-header-wrapper .text-wrapper p {
  margin: 0;
  text-align: right;
  font-size: clamp(
    14px,
    calc(14px + (23 - 14) * ((100vw - 480px) / (1220 - 480))),
    23px
  );
}
@media (min-width: 700px) {
  #tech-header .tech-header-wrapper .text-wrapper p {
    text-align: center;
  }
}
#tech-header .tech-header-wrapper .logo-wrapper {
  max-width: 410px;
  flex: 1;
}
#tech-header .tech-header-wrapper .logo-wrapper img {
  width: 100%;
  object-fit: contain;
}
.colorful-spacer {
  display: flex;
}
.colorful-spacer div {
  height: 18px;
  width: 100%;
}
.colorful-spacer .red {
  background-color: #f86363;
}
.colorful-spacer .blue {
  background-color: #6be6fb;
}
.colorful-spacer .yellow {
  background-color: #e4e369;
}
.colorful-spacer .purple {
  background-color: #999dc4;
}
.colorful-spacer .green {
  background-color: #83c778;
}
.colorful-spacer .orange {
  background-color: #eba662;
}
#main-content {
  flex: 1;
}
#main-content #tech-logos-slider {
  padding-top: 45px;
  overflow: hidden;
  position: relative;
  padding-bottom: clamp(
    94px,
    calc(94px + (160 - 94) * ((100vw - 480px) / (1220 - 480))),
    160px
  );
}
@media (min-width: 700px) {
  #main-content #tech-logos-slider {
    padding-top: 25px;
  }
}
#main-content #tech-logos-slider .logos-wrapper.tech-marquee {
  max-width: 1920px;
  overflow: hidden;
  white-space: nowrap;
}
#main-content #tech-logos-slider .logos-wrapper.tech-marquee .marquee-inner {
  display: inline-block;
  width: max-content;
  position: relative;
  animation: marqueeScroll 30s linear infinite;
}
#main-content
  #tech-logos-slider
  .logos-wrapper.tech-marquee.right-direction
  .marquee-inner {
  animation: marqueeScrollRight 30s linear infinite;
}
#main-content #tech-logos-slider .logos-wrapper img {
  width: clamp(
    454px,
    calc(454px + (908 - 454) * ((100vw - 480px) / (1220 - 480))),
    908px
  );
  height: auto;
  max-width: 100%;
  margin: 0 7.5px;
  position: relative;
}
#main-content #tech-content {
  display: flex;
  flex-direction: column;
  padding: 0 30px 200px;
  justify-content: center;
  margin: 0 auto;
  gap: clamp(
    30px,
    calc(30px + (50 - 30) * ((100vw - 480px) / (1220 - 480))),
    50px
  );
}
@media (min-width: 600px) {
  #main-content #tech-content {
    flex-direction: row;
  }
}
#main-content #tech-content .tech-divider {
  height: 2px;
  background-color: #ffffff;
  width: 100%;
}
@media (min-width: 600px) {
  #main-content #tech-content .tech-divider {
    width: 2px;
    height: auto;
  }
}
#main-content #tech-content .cta-wrapper .cta-title {
  letter-spacing: normal;
  margin: 0 0 22px;
  line-height: normal;
  text-transform: none;
  font-size: clamp(
    30px,
    calc(30px + (59 - 30) * ((100vw - 480px) / (1220 - 480))),
    59px
  );
  max-width: clamp(
    301px,
    calc(301px + (830 - 301) * ((100vw - 480px) / (1220 - 480))),
    830px
  );
}
@media (min-width: 600px) {
  #main-content #tech-content .cta-wrapper .cta-title,
  #main-content #tech-content .cta-wrapper .body-content {
    text-align: right;
  }
}
#main-content #tech-content .cta-wrapper .body-content {
  margin-top: 20px;
}
#main-content #tech-content .cta-wrapper .body-content a {
  text-decoration: underline;
  color: inherit;
}
#main-content #tech-content .cta-wrapper .cta-subtitle {
  margin: 0;
  text-transform: none;
  font-size: clamp(
    24px,
    calc(24px + (48 - 24) * ((100vw - 480px) / (1220 - 480))),
    48px
  );
  line-height: clamp(
    32px,
    calc(32px + (52 - 32) * ((100vw - 480px) / (1220 - 480))),
    52px
  );
  max-width: clamp(
    301px,
    calc(301px + (830 - 301) * ((100vw - 480px) / (1220 - 480))),
    830px
  );
}
@media (min-width: 600px) {
  #main-content #tech-content .cta-wrapper .cta-subtitle {
    text-align: right;
  }
}
#main-content #tech-content .sign-up-wrapper {
  max-width: 483px;
  width: 100%;
}
#main-content #tech-content .sign-up-wrapper .sign-up-text {
  font-size: clamp(
    21px,
    calc(21px + (26 - 21) * ((100vw - 480px) / (1220 - 480))),
    26px
  );
  line-height: clamp(
    26px,
    calc(26px + (34 - 26) * ((100vw - 480px) / (1220 - 480))),
    34px
  );
  margin-bottom: 40px;
  max-width: 408px;
}
@media (min-width: 600px) {
  #main-content #tech-content .sign-up-wrapper .sign-up-text {
    margin-bottom: 25px;
  }
}
#main-content #tech-content .sign-up-wrapper .eventaztechweek {
  padding: 0;
}
#main-content #tech-content .sign-up-wrapper .eventaztechweek form {
  max-width: unset;
}
#main-content #tech-content .sign-up-wrapper .eventaztechweek legend {
  display: none;
}
#main-content #tech-content .sign-up-wrapper .eventaztechweek * {
  font-family: "Figtree", sans-serif;
  font-weight: 400;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-page {
  display: block;
}

/* Form container styling to match comp */
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-page
  .row-fluid {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

@media (min-width: 768px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    .umbraco-forms-page
    .row-fluid {
    gap: 20px;
  }
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek.open
  .umbraco-forms-page {
  gap: 10px 20px;
}
/* Force fieldset to be hidden initially on larger screens only - override base CSS */
@media (min-width: 600px) {
  #main-content #tech-content .sign-up-wrapper .eventaztechweek fieldset.umbraco-forms-fieldset {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
}

/* On mobile, fieldset is always visible */
@media (max-width: 599.98px) {
  #main-content #tech-content .sign-up-wrapper .eventaztechweek fieldset.umbraco-forms-fieldset {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container {
  padding: 0;
}

/* Individual field styling to match comp */
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field {
  margin-bottom: 10px;
  grid-column: 1 / -1; /* All fields span full width by default */
}

/* Name fields side-by-side using grid positioning */
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .firstname {
  grid-column: 1;
}

#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .lastname {
  grid-column: 2;
}

/* Grid layout for form fields - applies to all screen sizes */
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: 400px;
  align-self: center;
}

/* Responsive gap adjustment */
@media (min-width: 768px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container {
    gap: 10px;
  }
  
  /* First name and last name in same row */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .firstname {
    grid-column: 1;
    grid-row: 2;
  }
  
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .lastname {
    grid-column: 2;
    grid-row: 2;
  }
  
  /* Email field full width at top */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .email {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  
  /* Company name full width */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .companyname {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  
  /* Title field full width */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .title {
    grid-column: 1 / -1;
    grid-row: 4;
  }
  
  /* Industry dropdown field full width */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .dropdown {
    grid-column: 1 / -1;
    grid-row: 5;
  }
  
  /* Set up two columns for name fields */
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container {
    grid-template-columns: 1fr 1fr;
    max-width: 400px;
  }
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field-wrapper
  input,
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field-wrapper
  select {
  padding: 20px;
  margin: 0;
  height: 60px;
  text-align: left;
  font-size: 18px;
  font-weight: 400;
  font-family: "Figtree", sans-serif;
  border: none;
  border-radius: 0;
  background-color: #fff;
  color: #000;
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-transform: uppercase;
  line-height: 1;
}

@media (min-width: 600px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .umbraco-forms-field-wrapper
    input,
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    fieldset
    .umbraco-forms-container
    .umbraco-forms-field-wrapper
    select {
    font-size: 22px;
  }
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field-wrapper
  input::placeholder {
  color: #000000;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field-wrapper
  .field-validation-error::after,
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container
  .umbraco-forms-field-wrapper
  .field-validation-valid::after {
  content: "";
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation {
  width: 100%;
  text-align: center;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation
  .col-md-12 {
  padding: 0;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation
  .col-md-12
  .btn.primary {
  background-color: #f86363;
  border: 1px solid #f86363;
  height: 70px;
  font-family: "Figtree", sans-serif;
  font-weight: 700;
  font-size: 21px;
  padding: 15px 20px;
  /* transform: translateY(-80px); */
  color: #fff;
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation
  .col-md-12
  .btn.primary:hover {
  color: #fff;
  filter: brightness(90%);
}
#main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation
  .col-md-12
  .btn.primary:active {
  filter: brightness(80%);
}

#main-content #tech-content .sign-up-wrapper .eventaztechweek .email {
  border-bottom: 1px solid #3AB4C9;
  padding-bottom: 20px;
}

#main-content #tech-content .sign-up-wrapper .eventaztechweek fieldset.umbraco-forms-fieldset {
  margin-bottom: 20px !important;
}

@media (min-width: 992px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek
    .umbraco-forms-navigation
    .col-md-12
    .btn.primary {
    font-size: 26px;
    /* transform: translateY(0px); */
  }
}
@media (max-width: 991.98px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek.open
    .umbraco-forms-navigation {
    animation: slideDown 0.6s linear forwards;
  }
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek.open
    .email
    input {
    animation: slideDownUp 0.4s linear forwards;
  }
}
/* Form reveal animation for larger screens only - override base CSS */
@media (min-width: 600px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek.open
    fieldset.umbraco-forms-fieldset {
    display: block !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    animation: slideDownReveal 0.6s ease-in-out forwards;
  }

  #main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  .umbraco-forms-navigation {
    width: 100%;
    text-align: left;
  }

  #main-content
  #tech-content
  .sign-up-wrapper
  .eventaztechweek
  fieldset
  .umbraco-forms-container {
    align-self: start;
  }
}

@media (min-width: 992px) {
  #main-content
    #tech-content
    .sign-up-wrapper
    .eventaztechweek.open
    .umbraco-forms-navigation {
    animation: slideDown 0.6s linear forwards;
  }
}
.infinite-scroll-controls {
  position: absolute;
  top: 75%;
  transform: translateY(-50%);
  right: 24px;
}
.infinite-scroll-controls .animation-toggle {
  border: 1px solid rgba(120, 120, 120, 0);
  background: #fff;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  color: white;
  box-shadow: 0 4px 16px -8px rgba(0, 0, 0, 0.08);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.infinite-scroll-controls .animation-toggle::after {
  content: "\f04b";
  font-family: "FontAwesome";
  color: #787878;
  padding-left: 4px;
  line-height: 17px;
}
.infinite-scroll-controls .animation-toggle:focus {
  border: 1px solid #787878;
}
.infinite-scroll-controls .animation-toggle.pause::after {
  content: "\f04c";
  padding-left: 0;
}

#main-content #tech-content .sign-up-wrapper .eventaztechweek .field-validation-error {
  position: absolute;
  font-size: 14px;
  bottom: -12px;
  left: 2px;
}


@keyframes slideDownReveal {
  0% {
    max-height: 0;
    opacity: 0;
    transform: translateY(0px);
  }
  100% {
    max-height: 400px;
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(20px);
  }
}
@keyframes slideDownUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(40px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes marqueeScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes marqueeScrollRight {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
