/*************************
Fonts
**************************/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;900&display=swap');

:root {
    --text-color: #2A2A2A;
    --text-light-color: #FFFFFF;
    --main-color: #79BAAB;
    --main-light-color: #C5E1DB;
    --contrast-color: #DC4A23;
    --contrast-light-color: #EB9781;
    --bg-body-color: #FFF7E8;
    --font-sans: 'Montserrat', sans-serif;;
  
}

/* General Styles*/
@font-face {
    font-family: 'league_spartanthin';
    src: url('../fonts/League_Spartan/leaguespartan-variablefont_wght-webfont.woff2') format('woff2'),
         url('../fonts/League_Spartan/leaguespartan-variablefont_wght-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'roboto_slabregular';
    src: url('../fonts/Roboto_Slab/robotoslab-variablefont_wght-webfont.woff2') format('woff2'),
         url('../fonts/Roboto_Slab/robotoslab-variablefont_wght-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
* {
    margin: 0;
    padding: 0;

}
body {
    font-family: var(--font-sans);
    font-weight: 400;
    color: var(--text-color);
    line-height: 1.5;
    height: 100%;
    background: var(--bg-body-color);
}
a {
    text-decoration: none;

}
abbr {
    text-decoration: none;

}
header.headerPages {
    background-color: rgb(0, 0, 0);
    font-size: 0.8rem;

}
nav ul li {
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0;
    border-right: 1.5px solid white;
    padding-right: 8px;
    padding-left: 8px;

}
p {
    line-height: 1.4;
}
*:focus {
    outline: none !important;
    border:1px solid red;
    box-shadow: 0 0 10px #b30000;
  }
.headerPages nav ul {
    align-items: center;
    display: flex;
    padding: 5px;

}
.headerPages nav ul li:first-child, nav ul li:last-child  {
    border-right: none;
        
}               
nav a {
    color: #fff;
    
}
a:hover {
    color:  #73EDFF;
    
}
nav ul li.active a {
    font-weight: 700;
    color: #73EDFF; 

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

}
.img-fluid {
    max-width: 100%;
    height: auto;

}
.img-cabecera {
    max-width: 150px;

}
.footer {
    color:#fff;
    font-size: 0.6rem;
    margin-top: 30px;
    margin-bottom: 15px;
    line-height: 1.8;
    padding-top: 10px;
    padding-bottom: 10px;
 
}
.footerPages {
     background-color: rgb(0, 0, 0);

}
.footer  ul {
    padding-left: 0;
 
}
.footer  ul li {
    display: inline;
    padding-right: 10px;
      
}
.footer  ul li::after {
    content: "∙"; 
    padding-left: 8px;
     
}
 .footer a {
    color: #fff;
   
}
.footer a:hover {
    color:#73EDFF;
    
 }
.footer  ul li:last-child::after {
     content:"";
 
 }
 .footer p {
     line-height: 1.8;
     color: #000;

 }
/* End General Styles */
/* Home Styles */
body#home {
    background-image: url("../img/bg-home-2.jpg");
    background-size: cover;
    font-weight: 100;
    color: #fff!important;

}
#home nav {
    padding-top:30px;
    text-align: center;

}   

#home  .personal-info > legend {
    padding: 5px;
}
#home nav ul {
    background-color: #000; 
    max-width: 200px;
    list-style: none;
    font-size: 0.8rem; 
    text-align: center;
    padding: 5px;
    margin: 0 auto;
        
}
#home .logo-UOC-crossfit {
    max-width: 40%;

}
#home .name-title {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.1em;
    margin-bottom: 1rem;
    text-transform: uppercase;
    font-family: var(--font-sans)!important;
    text-align: center;
}
#home .personal-info .short-input {
    
}
#home .personal-info li {
   
}
#home .personal-info ul {
    padding: 10px;
}
#home li {
    list-style: none;
}
#home .personal-info label {
    display: inline-block;
    width: 150px;
  }
  #home .personal-info .short-input input {
    display: inline-block;
    width: 86%;
    margin-bottom: 10px;
    min-height: 10px;
  }
  #home section .personal-info input {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 8%;
    border-radius: 0px;
    border: 1px solid black;
    margin-top: 8px;
    margin-bottom: 15px;
  }
  #home .personal-info input {
    height: 18px;
    vertical-align: top;
    font-family: 'League Spartan', sans-serif;
    color: #696969;
  }

#home .container {
    max-width: 500px;
    margin: 0 auto;

}
#home .box {
    background-color: rgba(0, 0, 0, 0.655);
    padding: 30px;
    margin-top: 40px;
    border: 3px solid #fff;

}
#home .container header {
    text-align: center;

}
#home main .box > p {
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
    margin-bottom: 20px;

}
#home main .box > p:nth-child(2) {
    margin-top: 20px;

}
#home main .box .comentario {
    background-color: #fff;
    font-size: 0.8rem;
    max-width: 80%;
    margin:0 auto;
    padding: 7px;
    border-left: 6px solid #73EDFF;

}
#home main .box blockquote p {
    color: #000077;
    text-align: left;
   
}
#home main .box blockquote {
    text-align: right;
 
}
#home main .box .nombre-comentario {
   font-style: initial;
   font-size: 0.8rem;
   font-weight: 900;
    
}
#home .footer {
   text-align: center;

}
#home button {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 22px;
    padding-right: 22px;
    margin-top: 10px;
    text-transform: uppercase;
    font-family: 'League Spartan', sans-serif;
    background-color: #a92828;;
    color: #fff;
    font-size: 0.8rem;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
  }
/* About styles */
#about main .container {
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 5px;
    padding-right: 5px;
}
#about main header {
    text-align: center;
    margin-bottom: 30px;

}
#about main header h1 {
    text-transform: uppercase;
    color: #000077;
    /*font-family:var(--font-sans);*/
    font-weight: 900;
    font-size: 3rem;
    line-height: 0.9;
    margin-bottom: 25px;
    
}
#about main header > p {
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 20px;

}
#about .nav-menu {
    background-color:#defdfc ;
    margin: 0 auto;
    max-width: 300px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 35px;
    border:1.5px solid #000077;
     
}
#about .nav-menu li {
    text-align: left;
    font-size: 0.9rem;

}
#about .nav-menu li a {
    color: #000077;
    /*text-decoration: underline;
    text-decoration-style: dotted;*/
    border-bottom: 1px dotted #000077;
    padding-bottom: 1px;
    line-height: 1.5;

}
#about .nav-menu li a:hover {
    color: #73EDFF;

}
#about main {
    text-align: center;

}
#about main h2 {
    margin-top: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
    color: #000077;
    font-family:var(--font-sans);
    font-weight: 900;
    
}
#about main dl {
    text-align: left;
    margin-bottom: 30px;
}
#about main dl dt {
    color: #000077;
    font-family:var(--font-sans);
    font-weight: 900;
    margin-top: 20px;
}

#about main dl dd {
        margin-top: 5px;

}
#about main dl dd p {
    font-size: 0.8rem;

}
#about main hr {
    color: #73EDFF;
    background-color: #73EDFF;
    max-width: 365px;
    margin: 0 auto;
    border: 0.2px solid;
}

/* End About Styles */
/* Start Schedule Styles */

#schedule main .container {
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 5px;
    padding-right: 5px;

}
#schedule main header {
    text-align: center;
    margin-bottom: 30px;

}
#schedule main header h1 {
    text-transform: uppercase;
    color: #000077;
    font-family:var(--font-sans);
    font-weight: 900;
    font-size: 3rem;
    line-height: 0.9;
    margin-bottom: 25px;
    
}
#schedule main header > p {
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 20px;

}
#schedule table {
    border-collapse: collapse;
    border: 2px solid rgb(200,200,200);
    letter-spacing: 1px;
    font-size: 0.6rem;
    width: 100%;
    table-layout: fixed;

}
#schedule td, th {
    border: none;
    padding: 13px 5px;
    
}
#schedule td {
    text-align: center;
}
#schedule tbody {
    border: 2px solid rgb(200,200,200);

}
#schedule caption {
    padding: 10px;

}
#schedule table .title {
    font-size: 1rem;
    color: #fff;
    background-color: #000077;
    border-collapse: collapse;
    border:2px solid #000077;
    border-bottom: 2px solid rgb(200,200,200);

}
#schedule table th {
    font-weight: 400;
 
}
#schedule table tbody th {
    font-weight: 700;
    border:1px solid rgb(200,200,200);
      
}
#schedule table tbody td {
    border-top:1px solid rgb(200,200,200);
      
}
#schedule table thead th {
    color: #000077;
    border-collapse: collapse;

}
#schedule table td {
    background-color: #dedede;
    text-transform: uppercase;
    font-weight: 700;
    font-family:var(--font-sans);
 
}
#schedule table .CrossFit {
    background-color: rgb(255,0,0);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .OpenBox {
    background-color: rgb(55,181,212);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .wlifting {
    background-color: rgb(184,184,184);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .Gymnastics {
    background-color: rgb(208,250,0);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .Mobility {
    background-color: rgb(100, 100, 0);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .Yoga {
    background-color: rgb(190,3,219);
    box-shadow: inset 0 0 0 2px  #fff;

}
#schedule table .Conditioning {
    background-color: rgb(13,240,5);
    box-shadow: inset 0 0 0 2px  #fff;

}

/* End Schedule Styles */
/* Start Join Styles */

#join main .container {
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 5px;
    padding-right: 5px;

}

#join main header {
    text-align: center;
    margin-bottom: 30px;

}
#join main header h1 {
    text-transform: uppercase;
    color: #000077;
    font-family:var(--font-sans);
    font-weight: 900;
    font-size: 3rem;
    line-height: 0.9;
    margin-bottom: 25px;
    
}
#join main header > p {
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 20px;

}
#join li {
    list-style: none;
    
}
#join section span {
    font-size: 0.8rem;
    /*font-weight: 700;*/
    
}
#join legend {
    color: #000077;
    text-transform: uppercase;
    font-weight: 700;
    font-family:var(--font-sans);

}
#join fieldset {
    border: 1px solid #000077;
    padding: 15px;
    font-size: 0.7rem;
    
}
#join .required {
    color: red;
    font-size: 0.6rem;
}
#join .required-info-father {
    text-align: right;
     
}
#join .required-info {
    max-width: 270px;
    background-color:#73EDFF;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 2px;
    padding-bottom:2px;
    font-size: 0.8rem;

}
#join section .selector {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 8%; 
    border-radius: 0px;
    border: 1px solid black;
    display: block;
    margin-top: 8px;
    margin-bottom:15px;
     
}
#join section .personal-info input {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 8%; 
    border-radius: 0px;
    border: 1px solid black;  
    margin-top: 8px;
    margin-bottom:15px;
     
}
#join .personal-info li {
    display: inline-block;
    
}
#join .personal-info input { /* problem with height in input type date is solved with this fix */
    height: 18px;
    vertical-align: top;
    font-family:var(--font-sans);
    color: #696969;

}
#join .personal-info .long-input {
    width: 49%;
  
}
#join .personal-info .short-input {
    width: 32%;
    
}
#join .personal-info label {
    display: inline-block;
    width: 150px;
}
#join .personal-info .long-input input {
    width: 88%;
    margin-bottom: 10px;
    margin-right: 5px;

}
#join .personal-info .short-input input {
    display: inline-block;
    width: 86%;
    margin-bottom: 10px;
    min-height: 10px;
    
}
#join .f-information span, #join .f-information li {
    font-size: 0.8rem;
    
} 
#join .f-information ul {
    margin-top: 15px;

}
#join .f-information li {
    margin-top: 6px;

}
#join .f-information .important-title {
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 8px;

}
#join .f-information textarea {
    width: 100%;
    border: 1px solid black; 
    min-height: 50px; 

}
#join .cboxTC {
    margin-bottom: 30px;
    margin-top: 30px;
    font-size: 0.8rem;
 
}
#join .cboxTC a {
    color: #000077;
    border-bottom: 1px dotted #000077;
    padding-bottom: 1px;
 
}
#join .cboxTC a:hover {
    color: #73EDFF;

}
#join button {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 22px;
    padding-right: 22px;
    text-transform: uppercase;
    font-family:var(--font-sans);
    background-color: #000077;
    color: #fff;
    font-size: 0.8rem;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    
}