@font-face {
  font-family: Jost;
  font-weight: 400;
  src: url("./fonts/Jost-400-Book.otf");
}

@font-face {
  font-family: Jost;
  font-weight: 500;
  src: url("./fonts/Jost-500-Medium.otf");
}

@font-face {
  font-family: Jost;
  font-weight: 700;
  src: url("./fonts/Jost-700-Bold.otf");
}

* {
  --clr-section-bg: #F3F3F3;
  --clr-accent: lightseagreen;
  --shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

:focus {
  outline: 2px solid darkgray;
}

html {
  line-height: 1.5;
  scroll-behavior: smooth;
}

body {
  color: black;
  font-size: 18px;
  font-family: Jost, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

h2, h3 {
  font-weight: 500;
}

main, section, footer 
{
  padding: 2em 1em;
}

section:nth-of-type(even) {
  background-color: var(--clr-section-bg);
}

form {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 1.2em;
  border-radius: 1em;
  box-shadow: var(--shadow);
  height: fit-content;
}

label {
  display: block;
}

input, textarea
{
  width: 100%;
  font-size: inherit;
  font-family: inherit;
  padding: 0.4em;
  background-color: var(--clr-section-bg);
  border: none;
  border-radius: 0.4em;
}

textarea {
  height: 200px;
  resize: none;
}

select, option
{
  border: none;
  border-radius: 0.4em;
  background-color: var(--clr-section-bg);
  font-size: 0.9em;
  width: 100%;
  padding: 0.5em;
}

.list-icon {
  display: block;
  max-width: 42px;
  max-height: 42px;
}

.title-fade {
  color: gray;
  font-weight: 500;
}

.goto__invite {
  display: none;
}

.goto__arrow {
  display: block;
  width: 4em;
  margin: auto;
  padding: 1em 0;
  display: flex;
  align-items: center;
  animation-duration: 0.5s;
  animation-name: hover-y;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.goto__arrow > svg {
  transform: rotate(90deg);
}

.goto-form {
  display: block;
  width: fit-content;
  text-transform: uppercase;
  font-weight: 700;
  color: white;
  background-color: var(--clr-accent);
  cursor: pointer;
  transition: all 200ms;
  padding: 1em;
  margin: auto;
  text-decoration: none;
  border-color: transparent;
  border-radius: 0.2em;
}
.goto-form:hover {
  border-color: var(--clr-accent);
  background-color: var(--clr-section-bg);
  color: var(--clr-accent);
}

ul {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  margin-top: 1em;
  margin-bottom: 3em;
}

li {
  display: flex;
  align-items: center;
  gap: 0.7em;
}

/* HEADER --------------------------------------------------------------------*/
header {
  position: relative;
  box-shadow: var(--shadow);
}

.logo {
  margin: 1em 0;
  margin-left: 1em;
  height: 80px;
}

/* MAIN --------------------------------------------------------------------*/

main {
  display: flex;
  flex-direction: column;
  gap: 2em;
  background-color: var(--clr-section-bg);
}

.main__title {
  font-weight: 700;
  font-size: 2.6rem;
  margin-top: 0;
}

.card-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin: 2em 0;
}

.card {
  font-size: 0.4em;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1em;
  border-radius: 1em;
  box-shadow: var(--shadow);
  background-color: white;
  max-width: 33ch;
}

.card__icon {
  padding: 2em;
}

.card__title {
  text-align: center;
  font-size: 1.8em;
  text-transform: uppercase;
}

.form__note {
  margin: 1em 0;
}

.form__header {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 1.2em;
}

.form__grid {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.form__grid > * {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.form__flag {
  display: flex;
  padding: 0.3em;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
}

.form__flag > input {
  flex: 0 1 0;
  margin-bottom: 0.2em;
}

.paper-form.hidden {
  display: none;
}

.form__contact {
  grid-column-start: 1;
  grid-column-end: 3;
}

.firmsector {
  grid-column-start: 1;
  grid-column-end: 3;
}

.form__privacy, .form__recall
{
  font-size: 0.8em;
}

.form__submit {
  align-self: center;
  width: 50%;
  font-weight: 700;
  color: white;
  background-color: var(--clr-accent);
  cursor: pointer;
  transition: all 200ms;
  margin-top: 1em;
  border: solid 2px transparent;
}

.form__submit:hover {
  border: solid 2px var(--clr-accent);
  background-color: var(--clr-section-bg);
  color: var(--clr-accent);
}

.thankyou-msg {
  display: none;
}
.thankyou-msg.show {
  position: relative;
  display: block;
  min-width: 50%;
  background-color: white;
  padding: 1.2em;
  border-radius: 1em;
  box-shadow: var(--shadow);
  height: fit-content;
}

/* INFO ----------------------------------------------------------------------*/
#info-section > h2 {
  max-width: 36ch;
}

.info__content-container {
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.info__preview {
  align-self: center;
  width: 80%;
}


/* BANDI ---------------------------------------------------------------------*/
.bandi-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
}

.bandi__header {
  text-align: center;
  margin-top: 0;
  text-transform: uppercase;
}

.bando {
  display: flex;
  flex-direction: column;
  border-radius: 1em;
  background-color: var(--clr-section-bg);
  max-width: 33ch;
}
.bando__title {
  font-size: 1.1em;
  margin-top: 0;
  color: white;
  background-color: var(--clr-accent);
  padding: 1em;
  border-radius: 1em 1em 0 0;
  margin-bottom: 1em;
  min-height: 200px;
  max-height: 200px;
}
.bando__desc {
  flex: 1 0;
  padding: 0 1em;
}
.bando__end-date {
  font-size: 1em;
  padding: 1em;
  padding-top: 0;
}
.bando__separator {
  margin: 1em 1em;
}

/* EXP -----------------------------------------------------------------------*/

/* ABOUT US ------------------------------------------------------------------*/

#about-us {
  color: white;
  background-color: var(--clr-accent);
}

#about-us > h2 {
  font-weight: 700;
  font-size: 2.5em;
  text-align: center;
  margin-bottom: 0.5em;
}

#about-us > h3 {
  font-weight: 700;
  font-size: 2em;
  margin-top: 2em;
  margin-bottom: 1em;
}

.about-us__info {
  font-size: 1.2em;
}
.about-us__info .bigger-text {
  text-transform: uppercase;
}
.about-us__info .contrast {
  background-color: white;
  color: black;
}

.about-us__link {
  font-size: 1.8em;
  color: white;
  display: block;
  color: inherit;
  text-decoration: underline;
  padding: 0.2em 0;
  text-align: center;
}

.references-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2em;
  max-width: 100%;
}
.references-container > * {
  max-width: 100%;
}
.references-container img {
  max-width: 90%;
  max-height: 100px;
}

#bottom-form-section {
  background-color: var(--clr-accent);
  min-height: 80dvh;
}

/* FOOTER --------------------------------------------------------------------*/
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2em 0;
}

.footer__logo {
  max-width: 500px;
}

.footer__info {
  max-width: 60ch;
}

.footer__info h3 {
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 3em;
  margin-bottom: 0;
}

.footer__info ul {
  display: flex;
  gap: 0.8em;
  flex-direction: row;
  list-style: none;
  padding: 0;
}

.footer__info li {
  max-width: fit-content;
}

/* CHECKBOX ------------------------------------------------------------------*/
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  .checkbox-wrapper-13 input[type=checkbox] {
    --active: var(--clr-accent);
    --active-inner: #fff;
    --border: #BBC1E1;
    --border-hover: var(--clr-accent);
    --background: var(--clr-section-bg);
    --disabled: #F6F8FF;
    --disabled-inner: #E1E6F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-height: 21px;
    min-width: 21px !important;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
    transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
  }
  .checkbox-wrapper-13 input[type=checkbox]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
  }
  .checkbox-wrapper-13 input[type=checkbox]:checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: .3s;
    --d-t: .6s;
    --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
  }
  .checkbox-wrapper-13 input[type=checkbox]:disabled {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
  }
  .checkbox-wrapper-13 input[type=checkbox]:disabled:checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
  }
  .checkbox-wrapper-13 input[type=checkbox]:disabled + label {
    cursor: not-allowed;
  }
  .checkbox-wrapper-13 input[type=checkbox]:hover:not(:checked):not(:disabled) {
    --bc: var(--border-hover);
  }
  .checkbox-wrapper-13 input[type=checkbox]:not(.switch) {
    width: 21px;
  }
  .checkbox-wrapper-13 input[type=checkbox]:not(.switch):after {
    opacity: var(--o, 0);
  }
  .checkbox-wrapper-13 input[type=checkbox]:not(.switch):checked {
    --o: 1;
  }
  .checkbox-wrapper-13 input[type=checkbox] + label {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    margin-left: 4px;
  }

  .checkbox-wrapper-13 input[type=checkbox]:not(.switch) {
    border-radius: 7px;
  }
  .checkbox-wrapper-13 input[type=checkbox]:not(.switch):after {
    width: 5px;
    height: 9px;
    border: 2px solid var(--active-inner);
    border-top: 0;
    border-left: 0;
    left: 7px;
    top: 4px;
    transform: rotate(var(--r, 20deg));
  }
  .checkbox-wrapper-13 input[type=checkbox]:not(.switch):checked {
    --r: 43deg;
  }
}

.checkbox-wrapper-13 * {
  box-sizing: inherit;
}
.checkbox-wrapper-13 *:before,
.checkbox-wrapper-13 *:after {
  box-sizing: inherit;
}

/* SLIDESHOW -----------------------------------------------------------------*/
#slideshow-section {
  color: white;
  background: var(--clr-accent);
}

#slideshow-section > h3 {
  font-weight: 700;
  font-size: 2em;
  margin-top: 0;
  margin-bottom: 0;
}

.slideshow-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.slide {
  width: 100%;
  height: 100%;
  display: none;
}
.slide img {
  border-radius: 0.5em;
}

.move-slide-btn {
  padding: 0;
  color: var(--clr-section-bg);
  font-weight: bold;
  font-size: 4em;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
  transition: all 200ms;
  transform: rotate(90deg);
}
.move-slide-btn:hover {
  color: white;
}
.move-slide-btn:focus {
  outline: none;
}


/* WIDESCREEN --------------------------------------------------------------- */
@media only screen and (min-width: 820px) {
  .logo {
    margin-left: 83.2px;
  }

  .goto-form-container {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 1em;
  }

  .goto__invite {
    display: flex;
    align-items: center;
    font-weight: 500;
    padding: 1em;
    padding: 1em;
    border-radius: 0.4em;
    box-shadow: var(--shadow);
    background-color: white;
    text-transform: uppercase;
    text-align: center;
  }

  .goto__arrow {
    display: block;
    width: 5em;
    padding: 0 1em;
    display: flex;
    align-items: center;
    animation-duration: 0.5s;
    animation-name: hover-x;
    animation-iteration-count: infinite;
    animation-direction: alternate;
  }
  .goto__arrow > svg {
    transform: rotate(0deg);
  }

  .goto-form {
    margin: 0;
  }

  main, section, footer
  {
    font-size: 1.3rem;
    padding: 4em;
    flex-direction: row;
  }

  .paper-form {
    margin: 0 auto;
  }
  main .paper-form {
    max-width: 500px;
    min-width: 500px;
  }
  #bottom-form-section .paper-form {
    max-width: 700px;
    min-width: 700px;
  }

  .form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .info__content-container {
    flex-direction: row;
  }
  .info__content-container > ol {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }

  .info__preview {
    max-width: 20%;
  }

  .bandi-container {
    flex-direction: row;
    align-items: stretch;
  }

  .bandi__header {
    margin-bottom: 1em;
  }

  .bando__title {
    font-size: 1.3em;
  }
  .bando__end-date {
    font-size: 1.2em;
  }

  #about-us {
    padding-right: 15%;
    padding-left: 15%;
  }

  #slideshow-section > h3 {
    padding-right: 15%;
    padding-left: 15%;
    margin-bottom: 1em;
  }

  .slideshow-container {
    flex-direction: row;
  }

  .move-slide-btn {
    padding: 1em;
    transform: rotate(0);
  }

  footer {
    justify-content: space-around;
    gap: 4em;
  }

  .card-container {
    justify-content: left;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  .card__title {
    font-size: 2.5em;
  }

  .card {
    max-width: 240px;
  }
}

/* ANIMATIONS ----------------------------------------------------------------*/
@keyframes hover-x {
  from {
    transform: translateX(20px);
  }

  to {
    transform: translateX(-10px);
  }
}

@keyframes hover-y {
  from {
    transform: translateY(10px);
  }

  to {
    transform: translateY(-20px);
  }
}
