:root {
    --white-color: #fff;
    --black-color: #000;
    --blue-color: #0099cc;
    --green-color: #25521e;
    --ultralight-gray-color: #f2f2f2;
    --light-gray-color: #a2a2a2;
    --gray-color: #555;
    --dark-gray-color: #252525;
    --ultradark-gray-color: #201e1c;
}

/* Fonts */
@font-face {
    font-family: "Roboto Slab";
    src: url("../fonts/robotoslab/RobotoSlab-Regular.woff") format("woff"), 
         url("../fonts/robotoslab/RobotoSlab-Regular.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto Slab";
    src: url("../fonts/robotoslab/RobotoSlab-Bold.woff") format("woff"), 
         url("../fonts/robotoslab/RobotoSlab-Bold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto Condensed";
    src: url("../fonts/robotocondensed/RobotoCondensed-Bold.woff") format("woff"), 
         url("../fonts/robotocondensed/RobotoCondensed-Bold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto Condensed";
    src: url("../fonts/robotocondensed/RobotoCondensed-BoldItalic.woff") format("woff"), 
         url("../fonts/robotocondensed/RobotoCondensed-BoldItalic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Regular.woff") format("woff"), 
         url("../fonts/roboto/Roboto-Regular.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Light.woff") format("woff"), 
         url("../fonts/roboto/Roboto-Light.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
    font-display: swap; 
}
@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-BoldItalic.woff") format("woff"), 
         url("../fonts/roboto/Roboto-BoldItalic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Bold.woff") format("woff"), 
         url("../fonts/roboto/Roboto-Bold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Italic.woff") format("woff"), 
         url("../fonts/roboto/Roboto-Italic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap; 
}

/* Core */
body {
    font-family: "Roboto";
    font-weight: 300;
    text-align: left;
    color: var(--ultradark-gray-color);
    background-color: var(--white-color);
}

.w-570 .col {
    max-width: 690px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.no-whitespace, .no-whitespace .row, .no-whitespace .col  {
    padding: 0;
    margin: 0;
}
/* Cabecera */
.cabecera {
    background-color: var(--white-color);
}
.cabecera .logo {
    height: 80px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.cabecera .logo.logo--especial ol li {
    list-style: none;    
}
.cabecera .logo.logo--sponsor {
    justify-content: flex-end;
    font-size: 9px;
    line-height: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    color: var(--dark-gray-color);
}
.cabecera .logo a {
    display: block;
    text-indent: -9999em;
    background: no-repeat center / contain transparent;
}
.cabecera .logo.logo--especial a {
    background-image: url('../images/comidista-logo.svg');
    width: 136px;
    height: 40px;
}
.cabecera .logo.logo--sponsor a {
    background-image: url('../images/especial/reynogourmet-logo.svg');
    width: 43px;
    height: 52px;
    margin-left: 3px;
}

@media (min-width: 768px) {
    .cabecera .logo.logo--sponsor {
        font-size: 12px;        
    }
    .cabecera .logo.logo--sponsor a {
        width: 53px;
        height: 60px;
        margin-left: 12px;
    } 
}

/* Apertura */
.apertura {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 590px;
    max-height: 100vh;
    margin-bottom: 90px;
    background: url('../images/especial/alcachofa-apertura-768.jpg') no-repeat center / cover;
}
.apertura::after {
    content: '';
    width: 10px;
    height: 90px;
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 2;
    transform: translate(-50%, 45px);
    background-color: var(--green-color);
}
.apertura h1 {
    max-width: 96vw;
    font-family: "Roboto Condensed";
    font-weight: 600;
    font-size: 25px;
    line-height: 48px;
    letter-spacing: 2px;
    color: var(--white-color);
    text-align: center;
}
.apertura h1 i {
    display: block;
    font-style: normal;
}
.apertura h1 b,
.apertura h1 i {
    display: inline-block;
    border-bottom: 7px solid var(--green-color);
}

@media (min-width: 768px) {
    .apertura {
        height: 700px;
        background-image: url('../images/especial/alcachofa-apertura.jpg');
    }
    .apertura h1 {
        width: 650px;
        font-size: 50px;
        line-height: 69px;
    }
}

/* Contenido */
article h2 {
    font-family: "Roboto Condensed";
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: var(--green-color);
}
article h3 {
    font-family: "Roboto Slab";
    font-weight: 600;
    font-size: 30px;
    line-height: 35px;
    color: var(--black-color);
    padding: 20px 0 40px;
}
article h3::before {
    content: '';
    height: 8px;
    width: 100%;
    display: block;
    background-color: var(--green-color);
    margin-bottom: 20px;
}
article .autor {
    font-family: "Roboto Slab";
    font-size: 15px;
    line-height: 30px;
    padding: 36px 0;
}
article p {
    font-size: 18px;
    line-height: 32px;
    padding: 0 0 40px;
}
article a {
    color: #000;
    text-decoration: underline;
}
article a:hover,
article a:focus {
    text-decoration: none;
}
article figure {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 60px;
}
article figure img {
    width: 100%;
}
article figure figcaption {
    text-align: right;
}
article figure figcaption p {
    font-weight: 100;
    font-size: 14px;
    line-height: 24px;
    padding: 0;
    color: var(--dark-gray-color);
}

/* Footer */
footer {
    margin: 80px 0;
    text-align: center;
}
footer h3, 
footer ul li,
footer p {
    font-size: 16px;
    line-height: 22px;
    padding: 3px 0;
}
footer p {
    padding-top: 24px;
}
