:root {
    --primary-color: #ffb230;
}

html {
  font-family: "Poppins", sans-serif;
}


.box{
  width:300px;
  height:300px;
  border:1px solid gray;
  border-radius:10px;
  position:relative;
  overflow:hidden;
}
.fa-solid{
  /*position:absolute;*/
  /*font-size:30px;*/
  padding:10px;
  background:rgba(0,0,0,0.2);
  color:white;
  cursor:pointer;
  border-radius:10px;
}
.fa-angles-left
{
  top:130px;
  left:0;
}
.fa-angles-right
{
  top:130px;
  right:0;
}
.fa-solid:hover{
  background:#000;
}
.slider{
  display:flex;
  height:100%;
  transition:all 0.5s ease-in-out;
}
.slider img{
  max-width:300px;
  min-width:300px;
  height:100%;
}
.pagination{
  display:flex;
  gap:20px;
}
.items{
  width:10px;
  height:10px;
  background:lightgray;
  border-radius:50%;
}
.items:nth-child(1)
{
  background:black;
}







/*foooter*/
.site-footer
{
      background: #26272b;
  padding:45px 0 20px;
  font-size:15px;
  line-height:24px;
  color:#737373;
}
.site-footer hr
{
  border-top-color:#bbb;
  opacity:0.5
}
.site-footer hr.small
{
  margin:20px 0
}
.site-footer h6
{
  color:#fff;
  font-size:16px;
  text-transform:uppercase;
  margin-top:5px;
  letter-spacing:2px
}
.site-footer a
{
  color:#737373;
}
.site-footer a:hover
{
  color:#3366cc;
  text-decoration:none;
}
.footer-links
{
  padding-left:0;
  list-style:none
}
.footer-links li
{
  display:block
}
.footer-links a
{
  color:#737373
}
.footer-links a:active,.footer-links a:focus,.footer-links a:hover
{
  color:#3366cc;
  text-decoration:none;
}
.footer-links.inline li
{
  display:inline-block
}
/*.site-footer .social-icons
{
  text-align:right
}*/
.site-footer .social-icons a
{
  width:40px;
  height:40px;
  line-height:40px;
  margin-left:6px;
  margin-right:0;
  border-radius:100%;
  background-color:#33353d
}
.copyright-text
{
  margin:0
}
@media (max-width:991px)
{
  .site-footer [class^=col-]
  {
    margin-bottom:30px
  }
}
@media (max-width:767px)
{
  .site-footer
  {
    padding-bottom:0
  }
  /*.site-footer .copyright-text,.site-footer .social-icons
  {
    text-align:center
  }*/
}
.social-icons
{
  display: flex;
    flex-direction: column;
    align-items: flex-start;
  padding-left:0;
  margin-bottom:0;
  list-style:none
}
.social-icons li
{
  display:inline-block;
  margin-bottom:4px
}
.social-icons li.title
{
  margin-right:15px;
  text-transform:uppercase;
  color:#96a2b2;
  font-weight:700;
  font-size:13px
}
.social-icons a{
  background-color:#eceeef;
  color:#818a91;
  font-size:16px;
  display:inline-block;
  line-height:44px;
  width:44px;
  height:44px;
  text-align:center;
  margin-right:8px;
  border-radius:100%;
  -webkit-transition:all .2s linear;
  -o-transition:all .2s linear;
  transition:all .2s linear
}
/*.social-icons a:active,.social-icons a:focus,.social-icons a:hover*/
/*{*/
/*  color:#fff;*/
/*  background-color:#29aafe*/
/*}*/

/*.social-icons a:active,.social-icons a:focus,.social-icons a, svg:hover*/
/*{*/
/*  color:#fff;*/
/*  background-color:#29aafe*/
/*}*/
.social-icons.size-sm a
{
  line-height:34px;
  height:34px;
  width:34px;
  font-size:14px
}
.social-icons a.facebook:hover
{
  background-color:#3b5998
}
.social-icons a.phone1:hover
{
  background-color:#25d366
}
.social-icons a.mail:hover
{
  background-color:#f44336
}
.social-icons a.globe:hover
{
  background-color:#d39525
}
.social-icons a.phone2:hover
{
  background-color:#144e89
}

.abft {
  width: 50%;
}

.rowft {
  display: flex;
  flex-direction: row;
    align-content: stretch;
    justify-content: flex-start;
    align-items: flex-start;
}

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

    .social-icons li.title
    {
      display:block;
      margin-right:0;
      font-weight:600
    }


  .fa {
    margin-top: 26%;
  }

  .abft {
    width: 100%;
  }

  .rowft {
    display: flex;
      
      align-content: stretch;
      justify-content: flex-start;
              flex-direction: column;
      align-items: flex-start;
  }
}
/*footer*/


/*logo*/
.header-img {
  height: 63px;
  padding-left: 1rem;
}
/*logo*/


/*card*/
.body-font {
  /*transform: translateY(-17vh);*/
  transform: translateY(-9vh);

}
.text-gray-900{
    font-weight: 600;
}
.text-gray-900,.leading-relaxed {
  color:#626262 !important;
  text-align: left;
}
.text-gray-400 {
  text-align: left;
}
.bg-gray-100 {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}
.bg-gray-500 {
  background: #ffb230 !important;
}
.details {
    display: flex;
    gap: 1rem;
}
.details dd {
    color: #00b4dd;
    font-weight: 600;
}
.h2-white {
  color: #fff;
}
.h2-orange {
  color:#ffb230 !important;
}
.h2-center {
  text-align: center;
}
.text-yellow-500 {
     /* background: #fff;*/
    padding: 15px 10px;
    border-radius: 5px;
    color: #000;
}
@media screen and (max-width: 1024px) {
  .my-flex {
    align-items: stretch;
    flex-direction: column;
  }
}




}
/*card*/



/*servicios*/
.main2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 50px;
  font-family: 'Roboto', sans-serif;
}

.overlay2 {
  top: 0%;
  background-color:#0d171e;
  width: 100%;
  height: 100%;
  position: absolute;
}

.card2 {
  height: 15rem;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  color: #fff;
  box-shadow: 0 10px 30px 5px rgba(0, 0, 0, 0.2);
  margin: auto;
  flex: wrap;
  width: 64vw;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 8px;
}


.card2 .img2 {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity .2s ease-out;
}

.card2 .h22 {
  position: absolute;
  inset: auto auto 30px 30px;
  margin: 0;
  transition: inset .3s .3s ease-out;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 35px;
  text-transform: uppercase;
}

.card2 .p2,
.card2 .a2 {
  position: absolute;
  opacity: 0;
  max-width: 80%;
  transition: opacity .3s ease-out;
}

.card2 .p2 {
  inset: auto auto 80px 30px;
}

.card2 .a2 {
  inset: auto auto 40px 30px;
  color: inherit;
  text-decoration: none;
}

.card2:hover .h22 {
  inset: auto auto 10px 30px;
  transition: inset .3s ease-out;
}

.card2:hover .p2,
.card2:hover .a2 {
  opacity: 1;
  transition: opacity .5s .1s ease-in;
}

.card2:hover .img2 {
  transition: opacity .3s ease-in;
  opacity: 0.3;
}


.material-symbols-outlined2 {
  vertical-align: middle;
}
/*servicios*/


/*contacto*/
/*@media (min-width: 768px) {
.md\:w-1\/2 {
    width: 100%;
}*/

/*contenido*/
.content {
  padding: 10px 38px 10px 38px;
  margin-top: 80px;
}
.inter-content-subtitle {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  font-family: "Poppins", sans-serif;
  font-size: .875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .10938rem;
  color: #828282;
}
.inter-content-subtitle::before {
    position: absolute;
    top: 5px;
    left: 0;
    display: block;
    width: 25px;
    height: 5px;
    content: "";
    background-color: red;
    opacity: 0.7;
}


.button-a {
  margin: auto;
    background: #71809669;
    height: 4rem;
    /* border-radius: 18%; */
    width: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    cursor: pointer;
    margin-top: 1rem;
}


.button-a:hover{
  color: #000;
  
  background: #ffb230;
}    
.w-4:hover {
  background: #00000000;
}




/**
  Setup for code demo only
*/
:root {
  --carousel-height: 300px;
}


/**
  Wrapper
*/
.carousel {
  position: relative;
}


/**
  Controls - pause/resume, previous, and next buttons
*/

  /* Resets for all buttons */
  .is-control {
    background: none;
    color: rgba(0,0,0,.7);
    border: 0;
    cursor: pointer;
    transition: all .2s linear;
  }

    .is-control:focus {
      outline: none;
      background-color: rgba(0,0,0,.8);
      color: rgba(255,255,255,1);
    }

  /* Pause/resume button */
  .rotation-button {
    position: absolute;
    bottom: 5px;
    left: 5px;
    
    padding: 10px 15px;
    z-index: 1;
    
    font-size: 20px;
    border-radius: 5px;
  }

    .rotation-button .pause-container, 
    .rotation-button .resume-container {
      display: none;
    }

      .rotation-button .pause-container.is-visible, 
      .rotation-button .resume-container.is-visible {
        display: block;
      }

  /* Previous slide button */
  .previous-button {
    position: absolute;
    left: 0;
    top: calc(var(--carousel-height)/2 - 40px);
    
    padding: 5px 15px;
    z-index: 1;
    
    font-size: 40px;
    
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-left: 0;
  }

  /* Next slide button */
  .next-button {
    position: absolute;
    right: 0;
    top: calc(var(--carousel-height)/2 - 40px);
    
    padding: 5px 15px;
    z-index: 1;
    
    font-size: 40px;
    
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-right: 0;
  }


/**
  Slides container
*/
.slides {
  /** By default Slick absolutely positions it's slide dots under the slides and adds a bottom margin to prevent overlap with content that follows. Since we're moving the slide dots into the carousel itself, this margin is no longer needed. */
  margin-bottom: 0 !important;
}


/**
  Single slide
*/
.slide {
  position: relative;
  height: var(--carousel-height);
}

  /* Make absolutely sure non-visible slides are hidden from all users */
  .slide.is-hidden {
    visibility: hidden;
  }

  .slide .background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }


/**
  Slide 2 content
*/
.slide .content {
  position: absolute;
  top: 20px;
  left: 15%;

  max-width: 400px;
  width: 50%;
  max-height: 70%;
  padding: 15px;

  white-space: normal;
  color: white;
  background-color: royalblue;
  box-shadow: 3px 3px 5px 0 rgba(0,0,0,.3);
}

  .slide .content h2 {
    margin: 0;
    font-size: 1.7rem;
  }

  .slide .content p {
    margin: 10px 0 20px 0;
  }

  .slide .content .cta-link {
    display: inline-block;
    padding: 5px 10px;

    background-color: white;
    color: rgba(0,0,0,.7);
    text-decoration: none;
    font-weight: 800;
    box-shadow: 3px 3px 0 0 rgba(0,0,0,.3);
  }

    .slide .content .cta-link:focus,
    .slide .content .cta-link:hover {
      text-decoration: underline;
      color: black;
    }

    .slide .content .cta-link:focus {
      outline: 3px solid rgba(0,0,0,1);
    }


/**
  Restyle the slide dots generated by Slick Slider
*/
.slick-dots {
  bottom: 10px;
}

  .slick-dots li {
    margin: 0 2px;
  }

    /* Create a circle to serve as the slide dot */
    .slick-dots li button {
      width: 15px;
      height: 15px;
      
      margin: 0;
      padding: 0;

      background-color: rgba(0,0,0,.3);
      border: 0;
      border-radius: 15px;
      cursor: pointer;
      opacity: .7;
      transition: transform .2s linear;
    }

      /* Get rid of the Unicode • character that Slick injects, which screen readers may attempt to read out as "bullet" */
      .slick-dots li button:before {
        content: '';
      }

      /* Give the focused slide dot a nice visible focus indicator */
      .slick-dots li button:focus {
        box-shadow: 0 0 0 1px white, 0 0 0 4px hsl(204, 86%, 53%);
        outline: none;
      }

      /* Fade in on hover */
      .slick-dots li button:hover {
        opacity: 1;
      }

      /* Leverage aria-current for styling to ensure we're using the attribute correctly */
      .slick-dots li button[aria-current="true"] {
        background-color: rgba(0,0,0,1);
        transform: scale(1.4);
      }

/** Credits at bottom */
.credits {
  margin-top: 20px;
  margin-right: 20px;
  padding: 5px;
  float: right;
  font-size: 14px;
  color: black;
  text-decoration: none;
  opacity: .7;
}

  .credits img {
    height: 30px;
    margin-left: 5px;
    margin-top: -2px;
    vertical-align: middle;
  }

  .credits:hover,
  .credits:focus {
    opacity: 1;
  }








































  .carousel {
  --carousel-bg: var(--bkg-color);
  --carousel-clr: #000000;
  position: relative;
  display: grid;
  gap: 1rem;
  justify-items: center;
  background-color: var(--carousel-bg);
  padding-bottom: 1rem;
}
.carousel-content-container {
  display: grid;
  width: 100%;
  height: 67vh;
}
.carousel-content-wrapper {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.carousel-content {
  min-width: 100%;
  transition: translate 500ms ease;
}
.carousel-content[data-state="active"] {
  translate: calc(-100% * var(--carousel-index)) 0;
}
.carousel-content[data-state="before-right-enter"] {
  translate: calc(100% + -100% * var(--carousel-index)) 0;
  transition: none;
}
.carousel-content[data-state="before-left-enter"] {
  translate: calc(-100% + -100% * var(--carousel-index)) 0;
  transition: none;
}
.carousel-content[data-state="leave-left"] {
  translate: calc(-100% + -100% * var(--carousel-index)) 0;
}
.carousel-content[data-state="leave-right"] {
  translate: calc(100% + -100% * var(--carousel-index)) 0;
}
.carousel-buttons {
  display: flex;
  gap: 1rem;
  z-index: 2;
}
.carousel-button {
  padding: 0;
  border: 0;
  border: 1px solid #626262;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  cursor: pointer;
  background: transparent;
}
.carousel-button[data-active="true"] {
  background: #ffb230;
  border: 1px solid #ffb230;
  scale: 1.5;
}
.carousel-button:hover {
  scale: 1.5;
}
.carousel-arrow {
  position: absolute;
  top: 64%;
  translate: 0 -50%;
  background: transparent;
  padding: 2rem;
  aspect-ratio: 1;
  border: 0;
  padding: 0;
  color: var(--text-color);
  font-size: clamp(2rem, 6vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  height: 3rem;
    width: 3rem;
    background: #33333380;
    border-radius: 50%;
    /*background: #000;*/
}
.carousel-arrow:hover {
  background: #ffb230;
}
.carousel-arrow:active {
  background: #ecc94b;
  color: #fff;
}
.carousel-arrow.arrow-left {
  left: 10px;
}
.carousel-arrow.arrow-right {
  right: 10px;
}
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: 1.5rem;
  /*max-width: min(80%, max(400px, 100%));*/
  margin-inline: auto;
  /*margin-block: 1rem;*/
  gap: 1rem;
  /*border-radius: 0.75rem;*/
 /* box-shadow: 0 0.25rem 1rem -0.125rem rgba(0, 0, 0, 0.3);*/
  color: var(--carousel-clr);
}
/*.content img {
  width: clamp(100px, 10vw, 300px);
  aspect-ratio: 1;
  border-radius: 1rem;
}*/
.content h2 {
  font-size: clamp(2.25rem, 3vw, 2rem);
  font-weight: 700;
}
.content p {
  /*max-width: 40ch;*/
  font-size: clamp(0.75rem, 3vw, 1rem);
  line-height: 1.35;
}

.h3-dark {
  padding: 0;
}

.bg-1 {
  left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    height: 67vh;
}
.flex-center {
  align-items: center;
}
.content img {
  height: 50px;
}





/*modal*/
/* The Modal (background) */
/*.modal {
  display: none; 
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0,0,0,0.4); 
}

.modal-content {
  background-color: #fefefe;
  margin: 15% auto; 
  padding: 20px;
  border: 1px solid #888;
  width: 80%; 
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
*/










.modal {
  display: none; 
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0,0,0,0.4); 
}

.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  /*border: 1px solid #888;*/
  border-radius: 16px;
  width: 80%; 
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}


.bg-yellow-500 {
  background: #ffb230;
}

.my-bg-white {
  color:#000 !important;
  background: #fff !important;
}






/*contacto*/
@media (min-width: 769px) {
  .md\:w-1\/2 {
       width: 100%;
  } 
}
@media (min-width: 1024px) {
  .md\:w-1\/2 {
       width: 45%;
  } 
}
/*contacto*/



/*banner*/
.pb-10, .mb-10 {
  margin-bottom: 0rem;
}
/*banner*/




/*button darkmode*/
.btn-toggle-dark {
  font-family: "Poppins", sans-serif;
  background-color:  var(--primary-color);
  color: white;
  border: none;
  border-radius: 5px;
  padding: 15px 30px;
  text-align: center;
  text-decoration: none;
  font-size: 25px;
  display: flex;
  width: 80px;
  justify-content: center;
}

.btn-toggle-dark:hover {
  background-color: black;
  color: white;
}
/*#header, body, .nav,*/
.cryst, body,.bg-gray-100,.bg-white {
  background: var(--bkg-color);
}

.h2-dark,.pcss3t-theme-1 > label,.bg-gray-100,.text-gray-900,.nav_menu_item, .text-yellow-500, .content h2, .content p{
  color: var(--text-color);
}

.my-btn {
  fill: var(--text-color);
}

.border-yellow-500:focus { 
  border-color: #ffb230;
}






.my-center-item {
  align-items: center;
  justify-content: center;
}
.my-center-text {
  text-align: center;
}
.my-border-orange {
  border-color: #ffb230;
}

.text-gray-500 {
  color: #626262 !important;
}




/*envir cv*/
#to_upload{
  /*background-color:#FAFAFA;*/
  color: var(--text-color);
  border:1px dashed #BBB;
  padding: 10px;
  text-align: center;
}
#to_upload a{
  /*display: inline-block;*/
  position: relative;
  overflow: hidden;
  /*vertical-align: top;*/
  text-decoration: none;
}
#to_upload a input{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 10;
  width: 100%;
}
#to_upload>div{
  margin-top: 10px;
  overflow:hidden;
}
/* 5 imagenes por fila */
#to_upload>div>div{
  width:220px;
  height: 165px;
  padding-right: 1%;
  padding-left: 1%;
  float:left;
}
.dd-thumbnail{
  min-height: 140px;
  /* todo:imagenes perfectas en el div */
  background-size: cover;
}

.dd-thumbnail i{
  /*icon size*/
  font-size:50px;
  margin-top:40px;
}

.dd-file-info {
  width: 100%
}
.dd-file-info span {
  float:left;
  font-size: 13px;
  padding-top: 3px;
}
.dd-file-info button {
  float:right;
  background: none;
  border: none;
  outline: none;
  color: #444444;
}

.link-blue {
  color: #0275d8 !important;
}
.transparent-drag-drop {
  opacity: 0.5;
}
.fa-cloud-upload {
  margin-top: 0% !important;
}

.cv-padding {
  padding-bottom: 6rem;
  padding-top: 6rem;
}
