@import url('/assets/fonts/font.css');
@import url('/reset.css');
@import url('/normalize.css');
@import url('/skeleton.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css');


* {
    --leadtrack-blue: #00205B;
    --leadtrack-orange: #FFA300;
    --accent-blue: #00579C; 
    --text: #FFF;
    --almost-black: #212121;
    --gray: #D9D9D9;
    --text-black: #424242;

    scroll-behavior: smooth;
    scroll-padding-top: 15vh;

    font-family: 'Inter', 'Verdana', sans-serif;
    font-weight: 400;
    font-size: 1.35rem;

    z-index: 100;
}

main {
    margin: 4em 0;
}

.flex {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 4rem;
}

img {
    max-height: 100%;
    max-width: 100%;
}

form label {
    display: inline-block;
}


form input, select {
    transition: border-color 1s;
    width: 100%;
}



form input:valid {
    border-color: green;
}

form input:invalid {
    border-color: red;
}

form input:placeholder-shown {
    border-color: gray;
}

form .required::after {
    content: "*";
    color: red;
    margin-left: 4px;
}

.form-container {
    padding: 1em;
    border-radius: .7em;
    border: .1em rgba(0,0,0,.1) solid ;
    box-shadow: 0 .4vw .2vw -.2vw var(--gray);
}

#menu li, label {
    list-style: none;
    margin-bottom: 0;
}

#overtop {
    display: none; 
}

#navbar {
    position: fixed;
    z-index: 1000;
    background-color: white;
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: 0;
    box-shadow: 0 .4vw .2vw -.2vw var(--gray);
}

#navbar a {
    display: flex;
    align-items: center;
}

section:first-of-type {
    margin-top: 2em;
}

#menu {
    position: fixed;
    width: 250px;
    height: 100vh;
    top: 70px;
    left: 100%;
    font-weight: bold;
    color: var(--text);
    background-color: var(--accent-blue);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5em;
    padding: 2em 0;
    transition: all 0.5s;
}

#menu a {
    font-size: 1.5em;
}

#menu a:hover {
    font-weight: bolder;
    color: var(--leadtrack-orange);
}

#menu_toggle {
    float: right;
    display:none;
}


#menu_toggle ~ label {
    color: var(--accent-blue);
}

#menu_toggle:checked ~ ul {
    left: 35%;
}

#menu_toggle:checked ~ label {
    color: var(--leadtrack-orange);
}

.scale {
    transform: scale(1);
}

.scale:hover {
    transform: scale(1.1);
}

.scale-soft {
    transform: scale(1);
}

.scale-soft:hover {
    transform: scale(1.02);
}

body {
    overflow-x: hidden;
}

a {
    display: inline-block;
    color: inherit;
    vertical-align: middle;
    text-decoration: inherit;
}

a:hover {
    transition: linear 100ms;
    color: var(--leadtrack-orange);
}

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

.showcase {
    max-width: 100%;
    height: auto;
    align-self: center;
}

.hero-logo {
    min-width: 90%;
}

.no-lineheight {
    line-height: 0;
}

.h-margin-m {
    margin-top: 4em;
    margin-bottom: 2em;
}

.button-group {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.button-primary {
    font-weight: bold;
    color: var(--text);
    background-color: var(--leadtrack-orange);
    text-align: center;
    padding: .7em;
    font-size: 1.8em;
    border-radius: .5em;
    transition: 100ms;
}

form .button-primary {
    vertical-align: middle;
    text-transform: none;
    height: auto;
    font-size: 1.3em;
    padding: .3em;
}

.button-secondary {
    font-weight: bold;
    color: var(--text);
    background-color: var(--almost-black);
    text-align: center;
    padding: .5em;
    font-size: 1.2em;
    border-radius: .5em;
    transition: 100ms;
}

.button-primary:hover, .button-secondary:hover {
    color: var(--text);
}

.section-text {
    font-size: large;  
    margin-top: 30px;
    margin-bottom: 30px;

}

.text-block p {
    margin: 0;
    margin-bottom: .5em;
    padding: 0;
}

.inline-logo {
    display: inline-block;
    vertical-align: middle;
    margin: 0 .30ch;
}

/* .full-width {
    width: 98%;
} */

.align-middle {
    vertical-align: middle;
}

.h-padding-xs {
    padding: 1.5vw 0; 
}

.h-padding-s {
    padding: 3vw 0;
}

.padding-s {
    padding: 3vw;
}



.pt-s {
    padding-top: 1vw;
}

.blue-bar, .accent-blue-bar {
    background-color: var(--leadtrack-blue);
    color: var(--text);
}

.accent-blue-bar {
    background-color: var(--accent-blue);
}

.logo_container {
    display: flex;
    flex-direction: row;   
    gap: .5em;
}

.logo {
    width: 150px;
    height: auto;
}

footer .logo {
    content: url("/assets/company-logo-footer.webp");
    margin-top: 20px;
    margin-bottom: 10px;
}

.icon, .icon-small {
    font-size: 2em;
    vertical-align: middle;
}

#industries .icon {
    font-size: 2.5em;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--almost-black);
}

#industries .fa-fw {
    height: 1.25em;
    width: 1.4em;
    justify-content: center;
} 

#industries .icon img {
    vertical-align: middle;
    height: 52px;
    width: 52px;
    padding: 6px 8px;
    
}

.icon-small {
    font-size: 1em;
}

.title, .subtitle, .hero_title {
    font-family: 'Agency FB', Impact, sans-serif;
    font-weight: bold;
    font-size: 4em;
    font-style: italic;
    color: var(--leadtrack-blue);
    display: inline-block;
    vertical-align: middle;
}

.hero_title {
    display:inline-block;
    vertical-align: baseline;
}

.small-text {
    font-size: 2.5em;
}

.subtitle {
    font-weight: 600;
    font-family: inherit;
    font-size: 1.7em;
    font-style: normal;
}

.hero_title {
    font-size: 6em;
    line-height: 0;
}

footer .title {
    color: var(--text);
}

.title img {
    vertical-align: middle;
}

.text-center {
    text-align: center;
}

.text-start {
    text-align: start;
}

.no-margin {
    margin: 0;
}

.card {
    display: flex;
    flex-direction: column;
    gap: .2em;
    align-items: flex-start;
    color: var(--text-black);
    margin: 2rem 0;
}

#industries .card {
    align-items: center;
    margin: .4em;
}

#industries .row .column {
    display: flex;
    gap: 2em;
    justify-content: center;
    flex-wrap: wrap;
}

#booking .card {
    flex-direction: row;
    align-items: center; 
    gap: 1em;
}

#booking .icon {
    font-size: 2em;
}

#booking .card .icon {
    padding: 1.8rem 1.25rem;
}

#booking ul {
    padding-left: 15px;
}

#booking .styled-list {
    list-style: disc;
}

.card_content {
    display:flex;
    flex-direction: column;
}

.card .icon, .card_header-extended {
    color: black;
    background: var(--gray);
    border-radius: 100px;
    padding: 1.45rem 1.25rem;
    font-size: 1.25em;
}

.card .image-icon {
    display: flex;
    justify-content: center;
    width: 1.3em;
    height: 1em;
}

.card_header-extended {
    width: 20ch;
    align-self: center;
    margin-bottom: .60em;
    text-align: start;
}

.card_header-extended .icon {
    background: none;
    padding: 0;
    padding-left: 10px;
    padding-right: 5px;

}

.card_icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    align-self: center;
    text-align: left;
}

#industries .card_icon {
    text-align: center;
}

.card_title {
    font-weight: bold;
    color: var(--almost-black);
}

.card_header, .card_title-small, .card_title-simple {
    font-family: inherit;
    font-style: normal;
    font-weight: bold;
    font-size: 1.5em;  
    color: black;
    min-height: 32px;
}

.card .double-icon {
    flex-direction: row;
}

.card .card_title-small {
    font-size: 1.2em;
    text-align: start;
}

#industries .card .card_title-small {
    text-align: center;
    max-width: 18ch;
}

.card_text {
    font-weight: 500;
    text-align: start;
}

.menu {
    display: flex;
}

.menu a {
    text-decoration: none;
    color: var(--text);    
}

footer .menu {
    flex-direction: column;
}


.slider {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
  }

  .slides {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  
  .slide {
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    align-self: center;
    vertical-align: middle;
    scroll-snap-align: center;
    background-size: cover;
    background-position: center;
    padding: 0 20px;
  }