/******************************************/
/** General                              **/
/******************************************/

:root {
   --primary: #f87311;
   --secondary: #b0b0b1;
   --rdEnergy: #95bc13;
	--black: #000000;
   --dark: #1b1a1b;
   --gray: #555555;
   --light: #f2f2f2;
	--white: #ffffff;
   --text: #262829;
   --scroll-button:#f87311;
   --light-gray: #bfbfbf;
   /* --scroll-button: #95bc13; */
}

*, *::before, *::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

html, body {
   min-height: 100vh;
   min-height: 100dvh;
   color: var(--text);
   background-color: var(--white);
   font-family: "Montserrat", sans-serif;
   font-optical-sizing: auto;
   font-weight: 400;
   font-style: normal;
}

/******************************************/
/** Helpers                              **/
/******************************************/

/* Colors */

.text-primary {color: var(--primary) !important;}
.text-dark {color: var(--dark) !important;}
.text-text {color: var(--text) !important;}
.text-secondary {color: var(--secondary) !important;}
.text-light-gray {color: var(--light-gray) !important;}
.text-rdEnergy {color: var(--rdEnergy) !important;}

.hover\:text-primary:hover {color: var(--primary) !important;}

.bg-primary {background-color: var(--primary) !important;}
.bg-dark {background-color: var(--dark) !important;}
.bg-secondary {background-color: #202122!important;}

.hover\:bg-primary:hover {background-color: var(--primary) !important;}

/* Fonts */

.fs-7 {font-size: .95rem;}
.fs-8 {font-size: .8rem;}
.fs-9 {font-size: .7rem;}

.fs-title {
   font-size: 4.5rem !important;
}

@media (max-width: 768px) {
   .fs-title {
      font-size: 3.5rem !important;
   }
}

/* Sizes */

.button {padding: 15px 25px;}

.w-fit {width: fit-content;}
.w-screen {width: 100vw; width: 100dvw;}
.h-screen {height: 100vh; height: 100dvh;}

/* Components */

.icon-md {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
}

.icon-lg {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
}

/* Animations */

.transition-03 {
   transition: all linear .3s;
   -o-transition: all linear .3s;
   -moz-transition: all linear .3s;
   -webkit-transition: all linear .3s;
}


/******************************************/
/** Navbar                               **/
/******************************************/


#mainNav {
   min-height: 3.5rem;
   background-color: var(--white);
}
#mainNav .navbar-toggler {
   font-size: 80%;
   padding: 0.75rem;
   color: var(--primary);
   border: 1px solid var(--primary);
}
#mainNav .navbar-toggler:focus {
   outline: none;
}
#mainNav .navbar-brand {
   color: #000000;
   font-weight: 700;
   padding: 0.9rem 0;
}
#mainNav .navbar-nav .nav-item:hover {
   color: fade(#fff, 80%);
   outline: none;
   background-color: transparent;
}
#mainNav .navbar-nav .nav-item:active, #mainNav .navbar-nav .nav-item:focus {
   outline: none;
   background-color: transparent;
}
.dropdown-item:focus
{
   background-color: var(--light);

}

.dropdown-menu {
   position: absolute !important;
}


.dropdown-toggle{
   color: var(--black);
}

@media (min-width: 1199px) {
   #mainNav {
      padding-top: 0;
      padding-bottom: 0;
      border-bottom: none;
      background-color: transparent;
      transition: background-color 0.3s ease-in-out;
   }
   #mainNav .navbar-brand {
      padding: 0.5rem 0;
      color: rgba(255, 255, 255, 0.5);
   }
   #mainNav .nav-link, #mainNav .nav-languages {
      transition: all 0.3s ease;
      padding: 2rem 1.5rem;
      font-weight: 600;
      /* font-family: 'Montserrat', sans-serif;
      font-weight: 600; */
      text-transform: uppercase;
      color: rgba(255, 255, 255, 1);
   }
   #mainNav .nav-link:hover,#mainNav .nav-languages:hover {
      color: var(--primary);
   }
   #mainNav .nav-link.active, #mainNav .nav-languages.active {
      color: var(--primary) !important;
   }
   #mainNav.navbar-shrink {
      background-color: var(--white);
      box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
   }
   #mainNav.navbar-shrink .navbar-brand {
      color: var(--black);
   }
   #mainNav.navbar-shrink .nav-link, #mainNav.navbar-shrink .nav-languages {
      color: #484a4b;
      padding: 1.5rem 1.5rem 1.25rem;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
   }
   #mainNav.navbar-shrink .nav-link::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 0.25rem;
      background-color: var(--primary);
      transform: translateX(-100%);
      transition: transform 0.3s ease;
   }
   #mainNav.navbar-shrink .nav-link:focus::after {
      transform: translateX(0);
   }
   #mainNav.navbar-shrink .nav-link.active {
      color: var(--primary) !important;
   }
   #mainNav.navbar-shrink .nav-link.active::after {
      transform: translateX(0);
   }
}

#logotipo{
   transition: all ease .3s;
}

/* Footer logos */

.footerLogos{
   width: 200px;
   max-height: 200px;
}

@media(max-width:1023px){
   .footerLogos{
      width: 150px;
   }
}

/******************************************/
/** Text                                 **/
/******************************************/

@media (min-width: 992px) {
   .text-column-2{
      column-count: 2;  
      column-gap: 60px;
   }  
}


/******************************************/
/** links                                **/
/******************************************/

.link-blog {
   position: relative;
   transition: background-color 0.3s ease-out;
   
   span {
      display: inline-block;
      position: relative;
      transition: all 0.3s ease-out;
   }
   &:hover .arrow {
      transform: translate3d(16px, 0, 0);
   }
   .arrow {
      position: relative;
      width: 20px;
      right: 0px;
      transition: all 0.3s ease-out;
   }
}

/******************************************/
/** Buttons                              **/
/******************************************/

/* Scroll button */

#scroll-button {
   opacity: 0;                  
   transform: translateY(50px);
   right: 30px;
   bottom: 20px;
   z-index: 1101;
   transition: all 0.5s ease-out;
   border: 3px solid var(--white);
}

#scroll-button.show {
   opacity: 1;
   transform: translateY(0);
}

.btn-nav{
   color: var(--white);
   font-size: 14px;
   margin: 5px;
   padding: 5px 15px;
   background: var(--primary);
   border: 0;
   display: inline-block;
   cursor: pointer;
   border-radius: 10px;
   transition: all 0.3s ease;
}

.btn-nav:hover{
   color: var(--white);
   background-color: #e5670f;
   border-color: #e5670f;
}

.btn-primary{
   color: var(--white) !important;
   background-color: var(--primary);
   border-color: var(--primary);
}

.btn-primary:hover{
   color: var(--white) !important;
   background-color: #e5670f !important;
   border-color: #f87311 !important;
}

.btn-secondary{
   color: var(--white) !important;
   background-color: var(--rdEnergy) !important;
   border-color: var(--rdEnergy) !important;
}

.btn-secondary:hover{
   color: var(--white) !important;
   background-color: var(--rdEnergy);
   border-color: var(--rdEnergy);
}


.btn {
   padding: .5rem 2.5rem;
}

.btn-arrow {
   position: relative;
   transition: background-color 0.3s ease-out;
   
   span {
      display: inline-block;
      position: relative;
      transition: all 0.3s ease-out;
   }
   &:hover span {
      transform: translate3d(-16px, 0, 0);
   }
   .arrow {
      position: absolute;
      width: 20px;
      right: 0px;
      opacity: 0;
      top: 50%;
      transform: translateY(-50%);
      transition: all 0.3s ease-out;
   }
   &:hover .arrow {
      opacity: 1;
      right: -32px;
   }
}

.btn-arrow-left {
   position: relative;
   transition: background-color 0.3s ease-out;
   
   span {
      display: inline-block;
      position: relative;
      transition: all 0.3s ease-out;
   }
   &:hover span {
      transform: translate3d(16px, 0, 0);
   }
   .arrow {
      position: absolute;
      width: 20px;
      left: 0px;
      opacity: 0;
      transition: all 0.3s ease-out;
   }
   &:hover .arrow {
      opacity: 1;
      left: -32px;
   }
}


/******************************************/
/** Links                                **/
/******************************************/

a{
   text-decoration: none !important;
   transition: color ease 0.4s;
}
a:hover{
   color:var(--primary) !important;
}

/* Barras */

.rd-energy::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   height: 100%;
   width: 5px;
   background-color: var(--rdEnergy);
   margin-left: -30px;
}

.orange-bar::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   height: 100%;
   width: 5px;
   background-color: var(--primary);
   margin-left: -30px;
}

@media (max-width: 767px) {
   .orange-bar::before, .rd-energy::before{
      margin-left: -15px;
   }
   
}


/******************************************/
/** Overlays                             **/
/******************************************/

.banner-overlay{
   background: linear-gradient(0deg, rgba(20,20,20,0.4) 50%, rgba(25, 25, 26, 0.8) 100%);
}

.banner-overlay-D{
   background: linear-gradient(0deg, rgba(20,20,20,0.5) 50%, rgba(25, 25, 26, 0.5) 100%);
   width:60%;
   height:150%;
   border-top-right-radius: 90%;
   left: -15%;
   bottom: 0;
}

@media (max-width: 767px) {
   .banner-overlay-D{
      width: 100%;
      left: 0;
      border-top-right-radius: 0;
   }
   
}

/******************************************/
/** Forms                                **/
/******************************************/

.form-select,
.form-control,
.input-group {
   border-radius: 8px;
   border: 1px solid #D9D9D9;
}

.input-group:active,
.input-group:focus,
.input-group:focus-within,
.form-select:active,
.form-select:focus,
.form-control:active,
.form-control:focus {
   box-shadow: none;
   border-color: var(--primary);
   background-color: transparent;
}

.input-group.disabled,
.form-control:disabled,
.form-select:disabled {
	border-color: #D9D9D9 !important;
	background-color: #D9D9D9 !important;
}

.form-check-input {
   min-width: 1em !important;
   min-height: 1em !important;
}

.form-check-input:checked {
   border-color: var(--primary) !important;
   background-color: var(--primary) !important;
}

.form-check-input:focus {
   box-shadow: none;
   border-color: #D9D9D9 !important;
}

::placeholder {
   opacity: 1;
   color: var(--gray) !important;
}
::-ms-input-placeholder {color: var(--gray) !important;}

/* Helpers */

.bg-cover {
   -webkit-background-size: cover !important;
   -moz-background-size: cover !important;
   -o-background-size: cover !important;
   background-size: cover !important;
   width: 100%;
   background-position: center center;
   position: relative;
}