/*

FF0000
DC1A04
6D1D19
81ABE5
CACACA
000000


*/
/*---------------------------------------
  CUSTOM PROPERTIES ( VARIABLES )    0 1rem 3rem rgba(0, 0, 0, 0.25));         
-----------------------------------------*/
:root {
  --white-color:                  #ffffff;
  --primary-color:                #D7260D;
  --secondary-color:              #E7490C;
  --tertirary-color:              #F07C0E
  --section-bg-color:             #cacaca25;
  --dark-color:                   #D7260D;
  --navbar-bg-color:              #1E1E1E;
  --p-color:                      #1E1E1E;
  --highlight-icon-color:         #F6A313;
  --gradient-dark:                radial-gradient(ellipse 100% 200% at 0% 108%, 
                                    #F6A313 10%,  #F07C0E 35%,  #E74A0C 50%, 
                                    rgba(215, 38, 13, 0.9) 65%,  rgba(215, 38, 13, 0.65) 80%,  rgba(215, 38, 13, 0.35) 90%,  rgba(215, 38, 13, 0.10) 95%,rgba(215, 38, 13, 0) 100%);
  --gradient-bright:                radial-gradient(ellipse 100% 75% at -8% 108%, 
                                    #F6A313 10%,  #F07C0E 25%,  #E74A0C 35%, 
                                    rgba(215, 38, 13, 0.9) 50%,  rgba(215, 38, 13, 0.65) 60%,  rgba(215, 38, 13, 0.35) 80%,  rgba(215, 38, 13, 0.10) 90%,rgba(215, 38, 13, 0) 100%);
  --bs-info-rgb:255,255,255;
  --img-shadow:                   drop-shadow(0 1rem 3rem rgba(0, 0, 0, 0.25));
  
  
  --body-font-family:             'DM Sans', sans-serif;

  --h1-font-size:                 62px;
  --h2-font-size:                 50px;
  --h3-font-size:                 32px;
  --h4-font-size:                 24px;
  --h5-font-size:                 24px;
  --h6-font-size:                 20px;
  --p-font-size:                  18px;
  --menu-font-size:               16px;
  --copyright-text-font-size:     16px;

  --font-weight-normal:           400;
  --font-weight-medium:           500;
  --font-weight-bold:             700;
  
  --bg-img-technology: url('https://images.pexels.com/photos/14314636/pexels-photo-14314636/free-photo-of-black-solar-panels.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
  
  --startup-img: url(https://cdn.odapes.app/sda_website/img/startup6.jpg);
  --solution-img: url(https://cdn.odapes.app/sda_website/img/solar_roof_mountain.jpg);
  --enterprise-img: url(https://cdn.odapes.app/pb/img/iceberg.png);

  
}


/*---------------------------------------
  GLOBAL IMAGE SHADOW
-----------------------------------------*/
main section:not(.hero) img:not(.arrow-icon):not(.navbar-brand img) {
  filter: var(--img-shadow);
}

/*---------------------------------------
  NAVIGATION
-----------------------------------------*/

body {
    background: var(--white-color);
    font-family: var(--body-font-family);
}
html {
  scroll-padding-top: 0;
}

/*---------------------------------------
  HAMBURGER MENU
-----------------------------------------*/
.hamburger-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  background: var(--navbar-bg-color);
  color: var(--white-color);
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger-btn:hover {
  background: var(--primary-color);
  transform: scale(1.1);
}

.hamburger-btn.active {
  background: var(--primary-color);
}

.menu-overlay {
  position: fixed;
  top: 20px;
  right: 80px;
  z-index: 999;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(20px);
  transition: all 0.3s ease;
}

.menu-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.menu-link {
  background: var(--navbar-bg-color);
  color: var(--white-color) !important;
  padding: 10px 18px;
  border-radius: 100px;
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

.menu-link:hover {
  background: var(--primary-color);
  color: var(--white-color) !important;
  transform: scale(1.05);
}

.menu-link-alt {
  background: var(--highlight-icon-color);
}

.menu-link-alt:hover {
  background: var(--navbar-bg-color);
}



/*---------------------------------------
  ZOOM TRIGGER (click-to-zoom images)
-----------------------------------------*/
.zoom-trigger {
  cursor: pointer;
  transition: transform 0.25s ease;
}

.zoom-trigger:hover {
  transform: scale(1.04);
}

/*---------------------------------------
  TYPOGRAPHY
-----------------------------------------*/

h2,
h3,
h4,
h5,
h6 {
  color: var(--dark-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
}

h1 {
  font-size: var(--h1-font-size);
  letter-spacing: 5px;
  text-transform: uppercase;
}

h2 {
  font-size: var(--h2-font-size);
  letter-spacing: 3px;
}

h3 {
  font-size: var(--h3-font-size);
}

h4 {
  font-size: var(--h4-font-size);
  margin-bottom: 10px !important;
  margin-top: 20px;
}

h5 {
    font-weight: 100;
    margin-top: 0px;
    margin-bottom: 5px;
    letter-spacing: 3px;
    font-size: var(--h6-font-size);
}

h6 {
    font-weight: 100;
    margin-top: 0px;
    margin-bottom: 5px;
    letter-spacing: 3px;
    font-size: var(--h6-font-size);
}

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

/*--- Shared section header pattern ---*/
.section-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--primary-color);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.section-title {
  font-size: 40px;
  font-weight: var(--font-weight-bold);
  color: var(--p-color);
  margin-bottom: 48px;
}

@media (max-width: 768px) {
  .section-title {
    font-size: 28px;
  }
}

ul li {
  list-style-type: square;
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

ul li::marker {
  color: var(--primary-color);
}

a, 
button {
  touch-action: manipulation;
  transition: all 0.3s;
}

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

a:hover {
  color: var(--primary-color);
}

::selection {
  background: var(--primary-color);
  color: var(--white-color);
}

::-moz-selection {
  background: var(--primary-color);
  color: var(--white-color);
}

.section-padding {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}

.custom-border-radius {
  border-radius: 20px;
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

.small-title {
  text-transform: uppercase;
}

.avatar-image {
  border: 2px solid var(--white-color);
  border-radius: 100px;
  width: 50px;
  height: 50px;
  object-fit: cover;
}

.avatar-image-left {
  position: relative;
  left: -10px;
}

.avatar-image-left + .avatar-image-left {
  left: -20px;
}

.avatar-image-left + .avatar-image-left + .avatar-image-left {
  left: -30px;
}

.avatar-image-left + .avatar-image-left + .avatar-image-left + .avatar-image-left {
  left: -40px;
}

.avatar-info {
  display: inline-block;
  vertical-align: top;
}


.highlight-link {
  color: var(--p-color);
  background-color: var(--white-color); 
  padding: 0px 0px;
  text-decoration: none; 
  border-radius: 0px;
}

.highlight-link:hover {
    color: var(--white-color);
  background-color: var(--primary-color); /* Dunkelroter Hintergrund bei Hover */
}

/*---------------------------------------
  CUSTOM ICON               
-----------------------------------------*/
.custom-icon {
  display: inline-block;
  height: 45px;
  width: 45px;
  line-height: 45px;
  border: 2px solid var(--white-color);
  text-align: center;
  border-radius: 50%;
  font-size: 20px;
  position: relative;
}

.custom-icon::before,
.custom-icon::after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50%;
}

.custom-icon::before {
  border: 2px solid transparent;
}

.custom-icon::after {
  border: 0 solid transparent;
}

.custom-icon:hover {
  border-color: transparent;
}

.custom-icon:hover::before {
  border-top-color: var(--primary-color);
  border-right-color: var(--primary-color);
  border-bottom-color: var(--primary-color);
  transition: border-top-color .15s linear,border-right-color .15s linear .1s,border-bottom-color .15s linear .2s;
}

.custom-icon:hover::after {
  border-top: 2px solid var(--primary-color);
  border-left-width: 2px;
  border-right-width: 2px;
  transform: rotate(270deg);
  transition: transform .4s linear 0s,border-left-width 0s linear .35s;
}


/*---------------------------------------
  CUSTOM BUTTON               
-----------------------------------------*/




.custom-btn {
  background: var(--navbar-bg-color);
  border-radius: 100px;
  color: var(--white-color);
  margin: 10px;
  font-size: var(--copyright-text-font-size);
  font-weight: var(--font-weight-bold);
  padding: 13px 10px;
}

.blue-button {
  background: var(--highlight-icon-color);
}
    


.custom-border-btn {
  background: transparent;
  border: 2px solid var(--highlight-icon-color);
  color: var(--highlight-icon-color);
}

.custom-btn:hover {
  background: var(--highlight-icon-color);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
  color: var(--white-color);
}


.next-btn {
  margin: 0;
}

.section-nav-arrow {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  text-align: center;
}

/*---------------------------------------
  ARROW LINK             
-----------------------------------------*/



.stiky-link {
  position: fixed;
  bottom: 70px;
  right: 20px;
  z-index: 999;
}

/* Hide the arrow by default */
.stiky-link {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Show the arrow when the 'show' class is added */
.stiky-link.show {
  opacity: 1;
  visibility: visible;
}

.arrow-icon {
  background: var(--section-bg-color);
  border-radius: 100px;
  color: var(--dark-color);
  font-size: var(--h5-font-size);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  display: inline-block;
  margin: auto;
}

.arrow-icon:hover {
  background: var(--primary-color);
  color: var(--white-color);
}


/*---------------------------------------
  CUSTOM FORM               
-----------------------------------------*/
.custom-form .form-control {
  background: var(--section-bg-color);
  border: 0;
  margin-bottom: 24px;
  padding-top: 13px;
  padding-bottom: 13px;
}

.custom-form button[type="submit"] {
  background: var(--primary-color);
  border-radius: 100px;
  color: var(--white-color);
  font-weight: var(--font-weight-bold);
  transition: all 0.3s;
  margin-bottom: 0;
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
  background: var(--navbar-bg-color);
}


/*---------------------------------------
  SITE FOOTER              
-----------------------------------------*/
.site-footer {
  padding-top: 100px;
  padding-bottom: 100px;
}

.site-footer .navbar-brand {
  color: var(--primary-color);
}

.site-footer .social-icon-link {
  font-size: var(--h6-font-size);
  width: 50px;
  height: 50px;
  line-height: 50px;
}

.site-footer .copyright-text {
  font-size: var(--copyright-text-font-size);
}

.footer-menu {
  margin: 0;
  padding: 0;
}

.footer-menu-item {
  list-style: none;
}

.footer-menu-link {
  font-size: var(--copyright-text-font-size);
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}


/*---------------------------------------
  SOCIAL ICON               
-----------------------------------------*/
.social-icon {
  margin: 0;
  padding: 0;
}

.social-icon li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
}

.social-icon-link {
  background: var(--white-color);
  border-radius: 100px;
  font-size: var(--p-font-size);
  color: var(--dark-color);
  display: inline-block;
  vertical-align: top;
  margin: 2px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}

.social-icon-link:hover {
  background: var(--primary-color);
  color: var(--white-color);
}



.social-buttons {
position: fixed;
    width: 150px;
    z-index: 9999;
    text-align: right;
    top: 20vh;
    right: 2vw;
}

.social-buttons > * {
  margin-bottom: 10px;
}


.btnxyz {
  width: 11vw;
  min-width: 100px;
  border-radius: 100px;
  box-shadow: rgb(0 0 0 / 30%) 0px 5px 12px;
  background: var(--secondary-color);
  color: var(--white-color);
}

.btnxyz:hover {
  background: #81ABE5BB;
  box-shadow: rgb(0 0 0 / 40%) 0px 6px 12px;

  color: var(--white-color);
}


/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------*/
@media screen and (max-width: 1500px) {
   .challenge-text-info {
    padding: 50px;
  }
}

@media screen and (max-width: 768px) {
  .hero-arrow {
    display: none;
  }
  .stiky-link {
    display: none;
  }
}

@media screen and (max-width: 880px) {
  .menu-overlay {
    right: 20px;
    top: 80px;
    flex-wrap: wrap;
    justify-content: flex-end;
    transform: translateY(-10px);
  }

  .menu-overlay.open {
    transform: translateY(0);
  }

  .menu-link {
    font-size: 14px;
    padding: 8px 14px;
  }

  .social-buttons {
    display: none;
  }

  h1 {
    font-size: 48px;
  }

  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 20px;
  }

  h6 {
    font-size: 18px;
  }

  .section-padding,
  .site-footer {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .custom-btn {
    font-size: var(--copyright-text-font-size);
    padding: 8px 16px;
  }

  .hero {
    height: 100vh;
  }

  .nav-tabs .nav-link {
    width: 50%;
  }

  .copyright-text-wrap {
    margin-top: 20px;
  }
}

@media screen and (max-width: 480px) {
  h1 {
    font-size: 38px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 28px;
  }

  h4 {
    font-size: 24px;
  }

  h5 {
    font-size: 20px;
  }

  .navbar-brand {
    font-size: 16px;
  }

  p {
    font-size: 16px;
  }

  .menu-link {
    font-size: 12px;
    padding: 6px 10px;
  }

  .custom-btn {
    font-size: 13px;
    padding: 6px 12px;
  }

  .nav-tabs .nav-link {
    margin-right: 0;
    margin-left: 0;
    padding: 15px;
  }

  .hero-text {
    width: 100%;
  }

  .site-footer .social-icon-link {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }

  .footer-menu-link {
    margin-left: 10px;
    margin-right: 10px;
  }

  .footer-menu,
  .copyright-text-wrap {
    justify-content: center;
  }
}




/*---------------------------------------
  CHALLENGE IMAGES       
-----------------------------------------*/

/* Styles for the image container */
.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

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

.image-wrapper img {
  width: 88%;
  height: 35%

}

.image-wrapper-arrow  {
  margin: auto;
  max-height: 120px;
 /* margin-bottom: -30px;*/
  text-align: center;
  padding: 20px;
  width: 50%;
}

.image-wrapper-arrow img {
  width: 75%;
  height: auto;
  min-height: 60px;
  max-height: 85px;
}

/* text below image*/
.image-text-container {
  display: flex;
  justify-content: space-around; 
  align-items: center;
  margin-top: 20px;
}


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

.image-text-wrapper h5,
.image-text-wrapper p {
  margin: 5px 0;
}

#arrowText {
  color: var(--secondary-color);
  margin: 5px;
}



.text-red {
  color:  var(--primary-color);
  
}


/*---------------------------------------
  BOXES & TAGS             
-----------------------------------------*/

.grayband-header {
    margin-bottom: 0 !important;
    font-weight: 200 !important;
    letter-spacing: 15px !important;
    background: var(--section-bg-color) !important;
    padding: 0px 5px 0px 5px !important;
    color: var(--p-color) !important;
    
}

.whiteband-header {
  text-transform: uppercase;
  font-weight: 100 !important;
  letter-spacing: 4px !important;
  margin-bottom: 10px !important;
  background: #ffffff30 !important;
  padding: 0px 5px 0px 5px !important;
  color: var(--white-color) !important;
}

.blackband-header {
  margin-bottom: 0 !important;
  font-weight: 200 !important;
  letter-spacing: 15px !important;
  background: #81ABE5 !important;
  padding: 0px 5px 0px 5px !important;
  color: var(--white-color) !important;
}



.tag {
  padding: 2px 8px;
  margin-right: 5px;
  font-size: 15px;
  color: #FFFFFF;
  border-radius: 50px;
}


.red {
  background-color: #DC1A04;
}

.blue {
  background-color: #81ABE5;
}
.orange {
  background-color: #FF8C00;
}

.green {
  background-color: #038954;
}

.purple {
  background-color: #483D8B;
}

.small-txt {
    text-align: justify;
    height: 105px;
    font-size: 14px;
    overflow-y: scroll;
}

