/* styles.css */

body {
    opacity: 0;
    transition: opacity 0.5s;
}

html {
  scroll-behavior: smooth;
}


/* hero style an adjustmnts */
.hero {
    height: 700px;
    background-color: #000;
    color:#fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left; /* Optional: Center-align text within columns */
    background: url('img/Davide_background.jpg') no-repeat;
    background-size: cover;
    background-position: top left; /* Anchor to the bottom left corner */
}



@media screen and (max-width: 1000px) {

  .hero{
  height:800px;
  justify-content:flex-start;
  align-items: flex-start;
  padding:40px;
  background: url('img/Davide_background_mobile.jpg') no-repeat;
  background-size: cover;
  background-position: bottom center; /* Anchor to the bottom left corner */
  }
  }

@media screen and (max-width: 767px) {
  .hero{
  height:850px;
  justify-content:flex-start;
  align-items: flex-start;
  padding:40px;
  background: url('img/Davide_background_mobile.jpg') no-repeat;
  background-size: cover;
  background-position: bottom center; /* Anchor to the bottom left corner */
}
}

@media screen and (max-width: 500px) {
  .hero{
    max-width: 720px;
    padding:20px;
    height:850px;
  }

  .herotitle{
    font-size: 35px !important;
    line-height: 40px !important;
  }
}

.herotitlecontainer{
  max-width: 450px;
}

@media screen and (max-width: 1000px){
.herotitlecontainer{
  margin-top:70px;
}
.center{
  display: flex;
  justify-content: center;
}
}

@media screen and (max-width: 767px){
.hero{
  height:700px;
}
}

.about{
height:800px;
margin-top:60px;
display: flex;
justify-content:center !important;
align-items: flex-end !important;
padding-bottom: 150px;
background: url('img/Davide_about_bg.jpg') no-repeat;
background-size: cover;
background-position: top center; /* Anchor to the bottom left corner */
}
}




/* mixed styles*/

.bgblack{
background-color: #000000;
}

.bglightgray{
background-color: #f8f8f8;
}

.profile-container{
  max-width: 788px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .profilethumb {
    max-width: 200px;
    margin-bottom:30px;
  }
  .profile-container{
    text-align: center;
    max-width: 583px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 578px) {
  .sponsor img {
    max-width: 150px;
  }

  .sponsorcol{
    width: 50%;
    text-align: center;
  }
}

.downarrows{
  border-radius: 50px;
  padding: 6px;
  transition: 0.3s;
}

.downarrows:hover{
  background-color:#C6030370;
  border-radius: 50px;
  padding: 6px;
}

.shortcolcenter{
  max-width: 930px;
  padding-left: 30px;
  padding-right: 30px;
  margin:0 auto;
}

@media screen and (max-width: 720px) {
  .introtxt {
    margin-left:20px !important;
    margin-right:20px !important;
  }
}

@media screen and (max-width: 767px) {
  .centerelementmob {
    margin:0 auto !important;
  }
}

/* navbar*/

.navbar{
  background-color: #000;
}

.navbar-dark .navbar-nav .nav-link{
  color:#ffffff;
  font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 18px;
    margin: 0px 20px;
    padding:0px;
}

.navbar-dark .navbar-nav .nav-link:hover{
  color:#ffffff;
}

.navbar-dark .navbar-nav .nav-link:visited{
  color:#ffffff;
}

.navbar-dark .navbar-nav .active>.nav-link{
  color:#ffffff;
  font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 18px;
    border-bottom: 2px solid #C60303;
}

.navbar-collapse {
    padding-top: 30px;
}

.navbar-collapse .nav-item{
  padding-top: 10px;
  width: fit-content;
}


/* nav bullets*/
.carousel-indicators {
      list-style: none;
      padding: 0;
      text-align: center;
      position: relative;
    }

    .carousel-indicators li {
      display: inline-block;
      margin: 0 5px;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #aaa;
      cursor: pointer;
    }

    .carousel-indicators li.active {
      background-color: #C60303;
    }


/* form*/
.formcontainer{
  max-width: 583px;
  margin: 0 auto;
}



/* fonts*/
.herotitle{
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 50px;
  line-height: 55px;
}

.txtbig{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 28px;
}

.txtbig2{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
}

.txtbiglink{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 28px;
  color:#C60303;
}

.txtbiglink:hover{
    color:#C60303;
}

p.txtsmall{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
}

a{
  color:#C60303;
}

a:hover{
  color:#C60303;
  text-decoration: underline;
}

h1{
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 40px;
  line-height: 45px;
}

h2{
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 38px;
}

h3{
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 26px;
  line-height: 30px;
}

p{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
}

.underline{
border-bottom: 2px solid #C60303;
width: fit-content;
}

.underlinegray{
border-bottom: 1px solid #CCCCCC;
width: fit-content;
}


/* mobile fonts*/
@media screen and (max-width: 500px) {
.txtbig{
    font-size: 19px !important;
    line-height: 26px !important;
}

.txtbiglink{
  font-size: 19px !important;
  line-height: 26px !important;
}

.resizeh2{
font-size:28px;
}

.about{
  padding-bottom: 250px;
}

}




/* slide in animation*/
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

.slideinleft {
  /* This section calls the slideInFromLeft animation we defined above */
  animation: 0.8s ease-out 0s 1 slideInFromLeft;
}


/* slide in animation right*/
@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

.slideinright {
  /* This section calls the slideInFromLeft animation we defined above */
  animation: 0.8s ease-out 0s 1 slideInFromRight;
}



/* Contact Form*/
.form-control {
    display: block;
    width: 100%;
    height: 40px;
    padding: 15px;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 24px;
    background-color: transparent;
    background-clip: padding-box;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}


.form-check-label{
  color: #000;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 18px;
}


.btn-primary {
color: #fff;
background-color: #C60303;
border-color: #C60303;
border-radius: 0px;
padding: 10px;
font-size: 18px;
width: 120px;
}

.btn-primary:hover{
  background-color: #000;
}
