* {
box-sizing:border-box;
padding:0;
margin:0;
}
html {
scroll-behavior:smooth;
font-size:16px;
}
body {
font-family:'Mori';
line-height:1.6;
color:#000;
}
body p {
color:#000;
}
.container {
max-width:1600px;
padding:0 50px;
margin:0 auto;
}
a, a:hover {
-webkit-transition:all 0.2s linear;
transition:all 0.2s linear;
}
h1, h2, h3, h4, h5, h6 {
font-family:'Mori';
font-weight:400;
color:#000;
}


/*---  FUENTES  -------------------------------------------------------------*/


@font-face {
font-family:'Mori';
src: url('../fonts/PPMori-Regular.eot');
src: url('../fonts/PPMori-Regular.eot?#iefix') format('embedded-opentype'),
url('../fonts/PPMori-Regular.woff2') format('woff2'),
url('../fonts/PPMori-Regular.woff') format('woff'),
url('../fonts/PPMori-Regular.ttf') format('truetype'),
url('../fonts/PPMori-Regular.svg#PPMori-Regular') format('svg');
font-weight:normal;
font-style:normal;
font-display:swap;
}
@font-face {
font-family:'MoriBold';
src: url('../fonts/PPMori-SemiBold.eot');
src: url('../fonts/PPMori-SemiBold.eot?#iefix') format('embedded-opentype'),
url('../fonts/PPMori-SemiBold.woff2') format('woff2'),
url('../fonts/PPMori-SemiBold.woff') format('woff'),
url('../fonts/PPMori-SemiBold.ttf') format('truetype'),
url('../fonts/PPMori-SemiBold.svg#PPMori-Regular') format('svg');
font-weight:normal;
font-style:normal;
font-display:swap;
}


/*---  HEADER  -------------------------------------------------------------*/


header {
padding:30px 50px 0;
max-width:1600px;
margin:0 auto;
}
.logo {
padding-right:30px;
}
nav {
justify-content:space-between;
align-items:center;
margin-right:auto;
margin-left:auto;
display:flex;
}
nav ul {
list-style-type:none;
align-items:center;
display:flex;
gap:150px;
}
nav li {
position:relative;
}
nav a {
text-transform:uppercase;
text-decoration:none;
color:#000;
}
nav a:hover {
text-decoration:underline;
}
nav a.active {
font-family:'MoriBold';
text-decoration:none;
color:#000;
}
nav a.dropdown-toggle:hover  {
text-decoration:none; 
}
.dropdown-menu {
display:none; position:absolute;
background-color:#FFF;
top:100%; left:0;
padding:12px 0 0;
list-style:none;
width:160px;
margin:0;
}
.dropdown-menu a {
border-bottom:1px solid #000;
text-transform:inherit;
line-height:1.25rem;
font-family:'Mori';
padding:8px 0 2px;
font-size:0.93rem;
display:block;
width:160px;
color:#000;
}
.dropdown-menu a:hover {
text-decoration:none;
background:#000;
color:#FFF;
}
.dropdown:hover .dropdown-menu {
display:block;
}
.dropdown-menu li:last-child {
padding:0px;
}
.dropdown-menu li a.active:hover {
opacity:1;
}

/*---  FOOTER  -------------------------------------------------------------*/


footer {
padding:0 50px 31px;
align-items:center;
max-width:1600px;
margin:0 auto;
display:flex;
}
body.home footer {
padding:0 50px;
}
footer .col-3 {
line-height:1.6rem;
font-size:1rem;
flex:295px;
}
footer .col-6 {
flex:calc(100% - 600px);
text-align:right;
}
footer a {
text-decoration:none;
color:#000;
}
footer a:hover {
text-decoration:underline;
}
footer .col-6 a {
margin-left:15px;
}
footer .col-6 a:last-child {
position:relative;
top:1px;
}
footer .col-6 a:hover {
opacity:0.7;
}


/*---  HOME  -------------------------------------------------------------*/


section#home {
padding:3.5rem 0;
}
section#home h1 {
letter-spacing:-0.02em;
line-height:5.25rem;
font-size:5rem;
}
section#home h1 a {
text-decoration:none;
color:#000;
}
section#home h1 a:hover {
text-decoration:none;
background:#000;
color:#FFF;
}


/*---  CURSOS  -------------------------------------------------------------*/


section#cursos {
flex-direction:column;
padding:4rem 0;
display:flex;
}
section#cursos .col-7 {
width:55%;
}
section#cursos .col-5 {
align-self:flex-end;
margin-top:-0.85rem;
width:45%;
}
section#cursos h1 {
text-transform:uppercase;
line-height:3.3rem;
font-size:3.125rem
}
.num {
font-size:1.25rem;
color:#000;
}
.col-info p {
margin-bottom:3.5rem;
line-height:2rem;
font-size:1.6rem;
}
.col-info p.docente {
margin-bottom:2.15rem;
}
.col-info h3 {
text-decoration:underline;
margin-bottom:2.15rem;
line-height:1.75rem;
font-size:1.6rem;
}


/*---  QUIENES SOMOS  -------------------------------------------------------------*/


section#quienes {
padding:4rem 0;
display:flex;
}
section#quienes .col-3 {
flex:33.33%;
}
section#quienes .col-3:nth-child(1) {
padding-right:40px;
}
section#quienes .col-3:nth-child(2) {
padding-right:20px;
padding-left:20px;
}
section#quienes .col-3:nth-child(3) {
padding-left:40px;
}
section#quienes .col-3 img {
height:auto;
width:100%;
}
section#quienes h1 {
text-transform:uppercase;
margin-bottom:4.7rem;
line-height:3.3rem;
font-size:3.125rem
}
section#quienes p {
margin-bottom:2.6rem;
text-align:justify;
line-height:2.1rem;
font-size:1.6rem;
}


/*---  GALERIA  -------------------------------------------------------------*/


.grid-container {
grid-template-columns:repeat(4, 1fr);
margin:0 auto;
display:grid;
width:100%;
gap:14px;
}
.grid-item {
overflow: hidden;
}
.grid-item img {
height:auto;
width:100%;
}
.grid-item h2 {
margin-bottom:1.4rem;
line-height:1.25rem;
font-size:0.93rem;
font-style:italic;
}
.lightbox .lb-image {
border:0!important;
}
.lb-data .lb-caption {
line-height:1.25rem!important;
font-size:0.93rem!important;
font-weight:400!important;
font-style:italic;
color:#FFF;
}
.lb-data .lb-number {
display:none!important;
}


/*---  RESPONSIVE VERTICAL  -----------------------------------------------------*/


@media (min-width:1450px) and (max-height:889px) {
section#home {padding:2.5rem 0;}
}

@media (min-width:1450px) and (max-height:859px) {
section#home {padding:2rem 0;}
}

@media (min-width:1450px) and (max-height:839px) {
section#home h1 {line-height:4.5rem;}
section#home {padding:2.5rem 0;}
}

@media (min-width:1450px) and (max-height:779px) {
section#home h1 {line-height:4rem; font-size:4.2rem;}
section#home {padding:3.8rem 0;}
}

@media (min-width:1450px) and (max-height:699px) {
section#home {padding:2rem 0;}
}

@media (min-width:1450px) and (max-height:639px) {
section#home h1 {line-height:3.5rem; font-size:3.7rem;}
section#home {padding:3rem 0;}
}

@media (min-width:1450px) and (max-height:619px) {
section#home {padding:1.8rem 0;}
}

@media (min-width:1450px) and (max-height:589px) {
section#home h1 {line-height:3rem; font-size:3.2rem;}
section#home {padding:2.5rem 0;}
}

@media (min-width:1450px) and (max-height:559px) {
section#home {padding:1.8rem 0;}
}

@media (max-width:1449px) {
section#home h1 {line-height:4.5rem; font-size:4.2rem;}
section#home {padding:5rem 0;}
}

@media (min-width:1400px) and (max-height:889px) {
section#home {padding:2.5rem 0;}
}
@media (min-width:1400px) and (max-height:789px) {
section#home {padding:3rem 0;}
}

@media (min-width:1400px) and (max-height:719px) {
section#home h1 {line-height:3.5rem; font-size:3.7rem;}
}

@media (min-width:1400px) and (max-height:619px) {
section#home {padding:1.8rem 0;}
}

@media (min-width:1400px) and (max-height:589px) {
section#home h1 {line-height:3rem; font-size:3.2rem;}
section#home {padding:2.5rem 0;}
}

@media (min-width:1400px) and (max-height:559px) {
section#home {padding:1.8rem 0;}
}

@media (max-width:1399px) {
section#home h1 {line-height:4.5rem; font-size:4.3rem;}
section#home {padding:3rem 0;}
}

@media (min-width:999px) and (max-height:789px) {
section#home {padding:2rem 0;}
}

@media (min-width:999px) and (max-height:759px) {
section#home h1 {line-height:3.5rem; font-size:3.7rem;}
}

@media (min-width:999px) and (max-height:589px) {
section#home h1 {line-height:3rem; font-size:3.2rem;}
section#home {padding:2.5rem 0;}
}

@media (min-width:999px) and (max-height:559px) {
section#home {padding:1.8rem 0;}
}



/*---  RESPONSIVE  -------------------------------------------------------------*/


@media(max-width:1109px) {
.grid-container {grid-template-columns:repeat(2, 1fr);}
section#cursos .col-5 {width:60%;}
section#cursos .col-7 {width:40%;}
}

@media(max-width:999px) {
section#quienes .col-3 {flex:100%; padding:0px!important;}
section#home h1 {line-height:4.25rem; font-size:4rem;}
section#cursos .col-5 {margin-top:6rem; width:100%;}
section#quienes .col-3 img {margin-bottom:6rem;}
.grid-container {grid-template-columns:1fr;}
body.home footer {padding:0 30px 31px;}
section#cursos .col-7 {width:100%;}
section#home {padding:1rem 0 3rem;}
section#quienes {flex-wrap:wrap;}
footer {padding:0 30px 31px;}
.container {padding:0 30px;}
header {padding:30px;}
nav ul {gap:100px;}
}

@media(max-width:767px) {
section#home h1 {line-height:3.25rem; font-size:3rem;}
footer .col-3:nth-child(2) {flex:none; width:220px;}
footer .col-3:first-child {flex:none; width:180px;}
footer span {display:none;}
nav ul {gap:50px;}
}

@media(max-width:599px) {
header .nav-links img {position:relative; width:29px; top:1px;}
footer .col-6 a {margin-left:10px;}
nav ul {gap:20px;}
}

@media(max-width:559px) {
footer .col-6 a:nth-child(2) img {width:16px;}
footer .col-6 a:nth-child(3) img {width:18px;}
footer .col-6 a:first-child img {width:13px;}
footer .col-3:nth-child(2) {width:160px;}
footer .col-3:first-child {width:130px;}
footer .col-3 {font-size:0.75rem;}
}

@media(max-width:499px) {
section#home h1 {line-height:3rem; font-size:2.5rem; letter-spacing:-0.03em;}
header .nav-links img {width:22px; top:2px;}
header .logo img {width:20px;}
header {padding:20px 30px;}
nav a {font-size:0.75rem;}
}

@media(max-width:459px) {
section#cursos h1 {line-height:3rem; font-size:2.6rem;}
}

@media(max-width:439px) {
footer .col-6 {flex:none; align-self:end; margin-top:-38px;}
footer {flex-direction:column; align-items:flex-start;}
section#home h1 {line-height:2.6rem; font-size:2.4rem;}
section#home {padding:0 0 1.5rem;}
}

@media(max-width:399px) {
section#cursos h1 {letter-spacing:-0.02em; line-height:2.75rem; font-size:2.25rem;}
nav a {font-size:0.65rem;}
}

@media(max-width:379px) {
section#home h1 {line-height:2.4rem; font-size:2.1rem;}
header .nav-links img {width:19px; top:4px;}
nav ul {gap:12px;}
}
