/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Lolita styles
   ========================================================================== */

html, body{
    width: 100%;
    min-width: 980px;
    height: auto;
    font-family: 'Didot';
    color: #000;
}

    body.yellow{
        background-color: #ffe900;
    }

    body.grey{
        background-color: #dfdfdf;
    }

header{
    width: 940px;
    height: 275px;
    margin: 0 auto;
}

    header #title{
        width: 100%;
        height: 192px;
        border-bottom: 1px solid #000;
        position: relative;
    }

        header #title a.link-lolita{
            font-size: 3.5em;
            line-height: 1.8em;
            color: black;
            text-decoration: none;
            position: absolute;
            top: 89px;
            left: 10px;
        }

        header #title img{
            width: 92px;
            height: 67px;
            position: absolute;
            top: 89px;
            right: 12px;
        }

    header #menu{
        width: 100%;
        height: 60px;
        padding-top: 20px;
        border-bottom: 1px solid #000;
        font-size: 1.05em;
    }

        header #menu ul{
            padding-left: 10px;
            list-style-type: none;
            display: inline;
        }

            header #menu ul li{
                padding-right: 25px;
                display: inline;
            }

            header #menu ul li a{
                display: inline-block;
                color: #818181;
                text-decoration: none;
            }

                .yellow header #menu ul li a{
                    color: #000;
                }

                .grey header #menu ul li a{
                    color: #000;
                }

            header #menu ul li.selected a{
                color: #000;
            }

                .yellow header #menu ul li.selected a{
                    color: #fff;
                }

                .grey header #menu ul li.selected a{
                    color: #fff;
                }

#content{
    width: 940px;
    overflow: auto;
    margin: 0 auto;
}

    #content section{
        width: 940px;
        position: relative;
    }

        #content section.index{
            height: 1460px;
        }

            #content section.index h1{
                margin: 0;
                padding-top: 94px;
                font-size: 10em;
                font-weight: normal;
                line-height: 0.9em;
            }

            #content section.index h2{
                margin: 0;
                font-size: 3.8em;
                font-weight: normal;
                line-height: 1;
                position: absolute;
                top: 850px;
                left: 10px;
            }

            #content section.index div.text{
                width: 235px;
                position: absolute;
                top: 412px;
                left: 0;
                border-top: 2px solid #000;
                border-bottom: 4px solid #000;
            }

                #content section.index div.text p{
                    width: 450px;
                    margin-left: 10px;
                    font-size: 1.3em;
                    line-height: 1.25em;
                }

                    #content section.index div.text p span{
                        font-style: italic;
                    }

            #content section.index img{
                position: absolute;
            }

                #content section.index img.bottle{
                    width: 470px;
                    height: 900px;
                    top: 0;
                    right: 0;
                    z-index: -1;
                }

                #content section.index img.olive{
                    width: 705px;
                    height: 525px;
                    bottom: 65px;
                    left: 0;
                    z-index: -1;
                }

                #content section.index img.label{
                    width: 214px;
                    height: 214px;
                    bottom: -58px;
                    right: 7px;
                    z-index: -1;
                }

            #content section.index div.columns{
                height: 452px;
                position: absolute;
                bottom: 0;
            }

                #content section.index div.columns p{
                    margin-right: 5px;
                }

        #content section.olive-oil{
            height: 767px;
        }

            #content section.olive-oil h1{
                margin: 0;
                padding-top: 80px;
                font-size: 8.1em;
                font-weight: normal;
                line-height: 0.9em;
                position: absolute;
                top: 0;
                right: 0;
                z-index: 1;
            }

                #content section.olive-oil.en h1{
                    right: 65px;
                    line-height: 1em;
                }

            #content section.olive-oil h2{
                width: 285px;
                margin: 0;
                border-top: 5px solid #000;
                padding-top: 25px;
                font-size: 3.4em;
                font-weight: normal;
                line-height: 1.1em;
                letter-spacing: -0.05em;
                position: absolute;
                top: 412px;
                right: 74px;
                z-index: 1;
            }

                #content section.olive-oil.en h2{
                    top: 370px;
                    right: 80px;
                }

            #content section.olive-oil img{
                position: absolute;
            }

                #content section.olive-oil img.bottles{
                    width: 705px;
                    height: 699px;
                    top: 16px;
                    left: 0;
                }

                #content section.olive-oil img.encina{
                    width: 205px;
                    height: 137px;
                    top: 166px;
                    right: 5px;
                }

        #content section.lolita{
            height: 807px;
        }

            #content section.lolita img{
                width: 940px;
                height: 753px;
                padding-bottom: 4px;
                background-color: #000;
                position: absolute;
                top: 50px;
            }

            #content section.lolita h1{
                margin: 0;
                font-size: 9em;
                font-weight: normal;
                line-height: 1;
                letter-spacing: -0.01em;
                position: absolute;
                top: 90px;
                left: 35px;
                z-index: 1;
            }

                #content section.lolita h1 span{
                    font-family: 'Bauer Bodoni Roman';
                }

        #content section.typewriter{
            height: 1760px;
            background: url(../img/typewriter.png) no-repeat 0 50px;
        }

            #content section.typewriter div.text{
                width: 520px;
                margin: 0 auto;
                padding-top: 130px;
                font-family: 'Trixie';
            }

                #content section.typewriter div.text p{
                    margin-top: 0;
                    font-size: 1em;
                    line-height: 1.15em;
                    text-align: justify;
                }

            #content section.typewriter form{
                width: 525px;
                height: 600px;
                margin: 0 auto;
                padding-top: 120px;
                font-family: 'Trixie';
                font-size: 1.5em;
                line-height: 1.15em;
            }

                #content section.typewriter form{
                    text-align: left;
                }

                    #content section.typewriter form input{
                        width: 380px;
                        margin-bottom: 5px;
                        border: none;
                        font-family: 'Trixie';
                    }

                        #content section.typewriter form input.error{
                            border: 1px solid red;
                        }

                    #content section.typewriter form textarea{
                        width: 100%;
                        height: 380px;
                        border: none;
                        font-family: 'Trixie';
                        resize: none;
                    }

                        #content section.typewriter form textarea.error{
                            border: 1px solid red;
                        }

                    #content section.typewriter form input[type="submit"]{
                        width: 200px;
                        height: 112px;
                        margin: 0;
                        padding: 0;
                        background: url(../img/send.png);
                        background-position: top;
                        position: absolute;
                        top: 695px;
                        right: 140px;
                    }

                        #content section.typewriter form input[type="submit"]:hover{
                            background-position: bottom;
                        }

            #content section.typewriter div.response{
                width: 525px;
                height: 600px;
                margin: 0 auto;
                padding-top: 120px;
                font-family: 'Trixie';
                font-size: 1.5em;
                line-height: 1.15em;
                display: none;
            }

                #content section.typewriter div.response img{
                    width: 150px;
                    position: absolute;
                    top: 400px;
                    left: 330px;
                }

        #content section.live{
            height: 858px;
        }

            #content section.live h1{
                margin: 0;
                font-size: 12.5em;
                font-weight: normal;
                line-height: 1.25em;
                letter-spacing: -0.01em;
                position: absolute;
                top: 60px;
                left: 0;
            }

            #content section.live img{
                width: 940px;
                height: 625px;
                position: absolute;
                top: 68px;
                z-index: -1;
            }

            #content section.live h2{
                margin: 0;
                font-size: 3.25em;
                font-weight: normal;
                line-height: 1.1;
                position: absolute;
                top: 660px;
                left: 12px;
            }

        #content section.love{
            height: 1205px;
            margin: 5px 0 50px;
            border-top: 4px solid #000;
        }

            #content section.love h1{
                margin: 0;
                font-size: 12.5em;
                font-weight: normal;
                line-height: 0.85em;
                letter-spacing: -0.01em;
                position: absolute;
                top: 388px;
                right: 0;
            }

            #content section.love img{
                width: 940px;
                height: 1030px;
                position: absolute;
                top: 0;
                z-index: -1;
            }

            #content section.love h2{
                margin: 0;
                font-size: 3.25em;
                font-weight: normal;
                line-height: 1.1;
                position: absolute;
                top: 575px;
                right: 15px;
            }

            #content section.love div.columns{
                height: 465px;
                position: absolute;
                bottom: 0;
            }

        #content section.news{
            width: 908px;
            height: 350px;
            margin: 0 auto;
            border-bottom: 1px solid #000;
        }

            #content section.news h1{
                margin: 0;
                font-size: 21.5em;
                font-weight: normal;
                letter-spacing: -0.04em;
                position: absolute;
                top: 15px;
                left: -6px;
            }

            #content section.news img{
                position: absolute;
                top: 86px;
                right: 0;
            }

            #content section.news h2{
                margin: 0;
                font-size: 3.3em;
                font-weight: normal;
                line-height: 1.35;
                letter-spacing: -0.02em;
                color: #fff;
                position: absolute;
                top: 60px;
                left: 405px;

            }

    #content div.section-title{
        width: 908px;
        height: 94px;
        margin: 5px auto 0;
        border-top: 4px solid #000;
        border-bottom: 1px solid #000;
        text-align: center;
        vertical-align: middle;
    }

        #content div.section-title.large{
            width: 940px;
        }

        #content div.section-title h1{
            margin: 26px auto 0;
            font-size: 2.6em;
            font-weight: normal;
            font-style: italic;
            line-height: 1.5;
        }

    #content div.columns{
        width: 940px;
        margin: 55px auto 82px;
    }

        #content div.columns.index{
            height: 685px;
        }

        #content div.columns.olive-oil{
            height: 530px;
            margin: 0 auto 50px;
        }

        #content div.columns.process{
            height: 588px;
            margin: 0 auto 85px;
            position: relative;
            z-index: 0;
        }

            #content div.columns.process img.label{
                width: 214px;
                height: 214px;
                position: absolute;
                top: 440px;
                right: 172px;
                z-index: -1;
            }

        #content div.columns.rioja{
            height: 600px;
            margin: 0 auto 80px;
        }

        #content div.columns.lolita{
            height: 470px;
            margin: 92px auto 0;
        }

        #content div.columns.live{
            height: 725px;
            margin: 0 auto;
            position: relative;
            z-index: 0;
        }

            #content div.columns.live img.label{
                position: absolute;
                top: 508px;
                right: 78px;
                z-index: -1;
            }

        #content div.columns.news{
            margin: 0 auto;
        }

        #content div.columns.top{
            border-top: 5px solid #000;
        }

        #content div.columns.bottom{
            margin-bottom: 0;
            border-bottom: 1px solid #000;
        }

        #content div.columns.bottom-fat{
            margin-bottom: 50px;
            border-bottom: 4px solid #000;
            overflow: auto;
        }

        #content div.columns div.column3-1{
            width: 311px;
            height: 100%;
            float: left;
        }

        #content div.columns div.column4-1{
            width: 232px;
            height: 100%;
            float: left;
        }

        #content div.columns div.column4-2{
            width: 468px;
            height: 100%;
            float: left;
        }

        #content div.columns div.column4-3{
            width: 697px;
            height: 100%;
            float: left;
        }

        #content div.columns div.border{
            border-right: 1px solid #000;
        }

            #content div.columns div.border.double{
                border-left: 1px solid #000;
            }

        #content div.columns div.title{
            margin: 36px 0 0 18px;
            border-bottom: 4px solid #000;
            padding-bottom: 5px;
        }

            #content div.columns div.title h2{
                margin: 0;
                border-bottom: 1px solid black;
                padding-bottom: 12px;
                font-size: 2em;
                font-weight: normal;
                font-style: italic;
                line-height: 1.1em;
            }

        #content div.columns div.double-title{
            margin: 70px 18px 0;
            border-bottom: 4px solid #000;
            padding-bottom: 5px;
        }

            #content div.columns div.double-title h1{
                margin: 0;
                border-bottom: 1px solid black;
                padding-bottom: 12px;
                font-size: 3em;
                font-weight: normal;
                font-style: italic;
                line-height: 1.1em;
            }

        #content div.columns div.text{
            width: 235px;
            margin-top: 75px;
            border-top: 1px solid #000;
        }

            #content div.columns div.text h3{
                width: 450px;
                margin: 42px 0 0;
                font-size: 1.75em;
                font-weight: normal;
                line-height: 1.25;
            }

            #content div.columns div.text h3.author{
                font-style: italic;
                margin-top: 30px;
            }

        #content div.columns div.new{
            width: 200px;
            margin: 35px auto 20px;
            border-bottom: 4px solid #000;
            padding-bottom: 25px;
        }

            #content div.columns div.new.no-line{
                border-bottom: none;
            }

            #content div.columns div.new h3{
                margin: 30px 0 20px;
                font-size: 1.75em;
                font-weight: normal;
                line-height: 1.25;
            }

            #content div.columns div.new p{
                margin: 0 0 16px;
            }

            #content div.columns div.new h5{
                margin: 0 0 0;
                font-family: 'GillSans';
                font-size: 1.2em;
                font-weight: normal;
            }

            #content div.columns div.new a{
                margin: 0;
                font-family: 'GillSans';
                font-size: 1.2em;
                color: #000;
                text-decoration: none;
            }

                #content div.columns div.new a:hover{
                    text-decoration: underline;
                }

            #content div.columns div.new img{
                margin-bottom: 15px;
            }

        #content div.columns div h4{
            margin: 50px 18px 0;
            font-size: 0.95em;
            font-weight: normal;
            line-height: 1;
        }

            #content div.columns div h4 span{
                font-size: 3em;
            }

        #content div.columns div p{
            margin: 0 18px 0;
            line-height: 1.2em;
        }

            #content div.columns div p:not(:first-child){
                margin-top: 16px;
            }

            #content div.columns div p.bottom{
                margin-bottom: 0;
                padding-bottom: 16px;
                border-bottom: 5px solid black;
            }

            #content div.columns div p.detail{
                font-family: 'GillSans';
                line-height: 1.45em;
            }

                #content div.columns div p.detail:not(:first-child){
                    margin-top: 35px;
                }

            #content div.columns div p.left{
                width: 196px;
                float: left;
            }

            #content div.columns div p.right{
                width: 196px;
                float: right;
            }

            #content div.columns div p.big{
                font-size: 1.3em;
            }

            #content div.columns div p span{
                font-style: italic;
            }

        #content div.columns div img.packaging{
            width: 474px;
            height: 524px;
        }

        #content div.columns div img.olives{
            width: 200px;
            height: 301px;
            margin: 52px 0 0 16px;
        }

        #content div.columns div img.vineyard{
            width: 675px;
            height: 600px;
        }

        #content div.columns div img.corazon{
            width: 200px;
            height: 143px;
            margin-left: 16px;
        }

        #content div.columns div img.corazon-small{
            width: 125px;
            height: 89px;
            margin: 50px 0 0 52px;
            position: static;
        }

        #content div.columns div img.detalle{
            width: 200px;
            height: 301px;
            margin: 45px 0 0 16px;
        }

        #content div.columns div img.gallery{
            width: 200px;
            height: 240px;
        }

        #content div.columns div img.marques{
            width: 200px;
            height: 200px;
        }

        #content div.columns div img.mobius{
            width: 200px;
            height: 346px;
        }

        #content div.columns div img.clap{
            width: 200px;
            height: 299px;
        }

        #content div.columns div img.infolivo{
            width: 200px;
            height: 200px;
        }

        #content div.columns div img.to-love{
            width: 199px;
            height: 200px;
        }

        #content div.columns div img.dieline{
            width: 200px;
            height: 200px;
        }

        #content div.columns div img.funpackaging{
            width: 200px;
            height: 272px;
        }

        #content div.columns div img.lolita{
            width: 200px;
            height: 383px;
        }

    #content img.olivar{
        width: 910px;
        height: 609px;
        padding-bottom: 5px;
        background-color: #000;
    }

    #content div.legal{
        width: 720px;
        margin: 80px auto;
    }

        #content div.legal p{
            font-size: 1.1em;
        }

        #content div.legal a{
            color: #000;
        }

footer{
    width: 940px;
    margin: 0 auto;
}

    footer #contact{
        width: 908px;
        margin: 0 auto;
        border-bottom: 1px solid #000;
        overflow: auto;
    }

        footer #contact div.line{
            width: 100%;
            height: 41px;
            position: relative;
        }

            footer #contact div.line hr{
                width: 672px;
                height: 1px;
                margin: 0;
                border: none;
                background-color: #000;
                position: absolute;
                top: 20px;
                left: 0;
            }

            footer #contact div.line img{
                position: absolute;
                left: 672px;
            }

            footer #contact div.line a{
                font-size: 1.75em;
                line-height: 1.5;
                color: #000;
                text-decoration: none;
                position: absolute;
                top: 4px;
                right: 0;
            }

        footer #contact div.social{
            width: 454px;
            height: 67px;
            float: left;
        }

            footer #contact div.social p{
                margin: 0 34px 0 0;
                font-size: 2.1em;
                line-height: 1;
                display: inline-block;
            }

                footer #contact div.social p span{
                    vertical-align: sub;
                }

                footer #contact div.social p img{
                    width: 50px;
                    height: 36px;
                }

            footer #contact div.social a{
                display: inline-block;
                margin-right: 16px;
            }

                footer #contact div.social a img.facebook{
                    width: 27px;
                    height: 26px;
                }

                footer #contact div.social a img.twitter{
                    width: 27px;
                    height: 26px;
                }

                footer #contact div.social a img.pinterest{
                    width: 30px;
                    height: 29px;
                }

    footer #oil-orgs{
        width: 908px;
        height: 125px;
        margin: 0 auto;
    }

        footer #oil-orgs img{
            float: left;
        }

        footer #oil-orgs img.eu{
            width: 67px;
            height: 63px;
            margin-top: 35px;
        }

        footer #oil-orgs img.lr{
            width: 109px;
            height: 44px;
            margin: 35px 0 0 24px;
        }

        footer #oil-orgs p.legal{
            margin: 0;
            padding-top: 60px;
            text-align: right;
        }

            footer #oil-orgs p.legal a{
                color: #000;
            }

/* ==========================================================================
   Lolita fonts
   ========================================================================== */

@font-face {
    font-family: 'Didot';
    src: url('../fonts/didot-pro-roman.ttf') format("truetype"),
            url('../fonts/didot-pro-roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'GillSans';
    src: url('../fonts/gillsans.woff') format("woff");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Trixie';
    src: url('../fonts/trixie.otf') format("opentype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Bauer Bodoni Roman';
    src: url('../fonts/bauer-bodoni-roman.woff') format("woff");
    font-weight: normal;
    font-style: normal;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
