/*
    Main CSS
    Author: Melli | milliuk.com
    Theme:  PG Tips
*/

/*---------------------*\
    Vars
\*---------------------*/
    :root {
        --white: #fff;
        --light-grey: #f5f5f5;
        --grey: #555555;
        --black: #1a1a1a;

        --pg-green: #259945;
        --pg-red: #d62930;
        --pg-decaf: #3362a9;
        --pg-gold: #c2a24f;
    }

/*---------------------*\
    General
\*---------------------*/
    main{
        /*max-width: 1980px;*/
        margin: 0 auto;
    }

    main.page-wrp{
        min-height: auto;
    }

    #loadingOverlay{
        position:fixed;
        top:0;
        left:0;
        z-index: 999999;
        width: 100%;
        height: 100vh;
        background-color: var(--pg-green);
    }

    .bg-img.top-centered{
        background-position: top center;
    }

    .bg-colour-small{
        padding: 40px 0;
    }

    .has-arrow{
        position: relative;
    }

    .has-arrow:after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 68px;
        height: 35px;
        background: transparent url(/images/placeholder/section-arrow.webp) 0 0 no-repeat;
        z-index: 100;
    }

    .spacer{
        width:100%;
        height:30px;
    }

    .h-spacer{
        display:inline-block;
        width:30px;
    }

    .txt-wrp.our-teas{
        max-width: 590px;
        margin: auto;
    }

    .txt-wrp.compact{
        max-width: 520px;
        margin: auto;
    }

    .img-wrp.rounded img{
        border-radius: 10px;
    }

    .bg-image{
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .bg-img-container{
        width:100%;
        height: 724px;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        border-radius: 10px;
    }

    .divider{
        background-color: transparent;
        max-width: 240px;
        width: 100%;
        border: none;
        border-bottom: 2px #aaa solid;
        margin: 30px auto 30px 0;
        border-bottom-style: dotted;
    }

    .divider.white{
        border-color:var(--white);
    }

    .divider{ 
        /*background-image: linear-gradient(to right, black 10%, rgba(255,255,255,0) 20%);
        background-position: bottom;
        background-size: 5px 2px;
        background-repeat: repeat-x;
        margin: 30px auto 30px 0;
        max-width: 240px;
        width: 100%;
        height: 9px;*/
    }

    .divider.dotted{
        border-bottom-style: dotted;
    }

    .divider.solid{
        border-bottom-style: solid;
    }

    .divider.centered{
        margin: 30px auto;
    }

    .divider.fw{
        max-width: 100%;
    }

    .divider.title{
        margin: 16px auto 16px 0;
    }

    .no-margin-bottom{
        margin-bottom: 0!important;
    }

    .overlay{
        background-color: #000;
        opacity: 0.6;
    }

/*---------------------*\
    Fonts
\*---------------------*/
    h1,
    h2,
    h3,
    h4,
    h5,
    p,
    li,
    div,
    td,
    th{
        font-family: 'Avenir', sans-serif;
    }

    a,
    span{
        font-family: inherit;
    }

/*---------------------*\
    Font Sizes
\*---------------------*/
    h1{
        font-size: 56px;
    }

    h2{
        font-size: 40px;
    }

    h3{
        font-size: 24px;
    }

    h4{
        font-size: 20px;
    }

    div,
    p{
        font-size: 18px;
    }

    .link{
        font-size: 16px;
    }

    .large{
        font-size: 1.3em;
    }

    a,
    span{
        font-size: inherit;
    }

/*---------------------*\
    Font Weights
\*---------------------*/
    h2{
        font-weight: 800;
    }

/*---------------------*\
    Font Colours
\*---------------------*/
    h2{
        color: var(--pg-green);
    }

    div,
    a,
    h3,
    header.primary nav > ul > li > a,
    li,
    p{
        color: var(--grey);
    }

    .white{
        color: var(--white)!important;
    }
    
    .red{
        color: var(--pg-red)!important;
    }

    .decaf{
        color: var(--pg-decaf)!important;
    }
    
    .gold{
        color: var(--pg-gold)!important;
    }

    .green{
        color: var(--pg-green)!important;
    }

    a,
    span{
        color: inherit;
    }

/*---------------------*\
    Font Misc
\*---------------------*/
    p{
        font-weight: 400;
        line-height: 170%; /* 27px */
    }

    h3{
        letter-spacing: 1.2px;
        line-height: 115%; /* 27.6px */
    }

/*---------------------*\
    Text Classes
\*---------------------*/
    .uc{
        text-transform: uppercase;
    }

/*---------------------*\
    Text Margin
\*---------------------*/
    h2{
        margin: 0 0 20px 0;
    }

    p{
        margin: 0 0 20px 0;
    }

/*---------------------*\
    Title
\*---------------------*/
    .page-title{
        text-transform: uppercase;
        color: var(--pg-green);
        margin: 0;
        letter-spacing: 2.8px;
    }
    
    .section-title{
        text-transform: uppercase;
        margin:0;
        letter-spacing: 2px;
    }

/*---------------------*\
    Images
\*---------------------*/
    .img-wrp.smaller img{
        max-width: 65%;
        width:100%;
    }

    .img-wrp.v-small img{
        max-width: 45%;
        width:100%;
    }

    .img-wrp.with-margin-bottom{
        margin-bottom: 30px;
    }

    .img-wrp.align-right{
        text-align: right;
    }

/*---------------------*\
    Button
\*---------------------*/
    .btn{
        display:inline-block;
        margin: 15px 5px;
    }

    .btn a{
        display:inline-block;
        padding: 8px 32px;
        border: 1px solid var(--pg-green);
        background: var(--pg-green);
        border-radius: 88px;
        color: var(--white);
        transition: 0.4s;

        font-size: 16px;
        font-weight: 500;
        line-height: 150%; /* 24px */
        text-transform: uppercase;
    }

    .btn.no-margin{
        margin: 0;
    }

    .btn.hollow a{
        background-color: transparent;
        color: var(--pg-green);
    }

    .btn.white a{
        color: var(--grey);
        border-color: var(--white);
        background-color: var(--white);
    }

    .btn.hollow.white a{
        color: var(--white);
        background-color: transparent;
    }

    .btn a:hover{
        background-color: transparent;
        color: var(--pg-green);
    }

    .btn.white a:hover{
        background-color: transparent;
        color: var(--white);
    }

    .btn.uc a{
        transform: uppercase;
    }

    .btn a svg{
        width: 4rem;
        height: 0.9rem;
        transition: 0.4s;
        margin-left: 10px;
    }

    .btn a.closed span:after{
        display: inline-block;
        content : '+';
        margin-left: 15px;
    }

    .btn a.open span:after{
        content : '-';
        display: inline-block;
        margin-left: 15px;
    }

/*---------------------*\
    Links
\*---------------------*/
    .link{
        display:inline-block;
        margin: 15px 5px;
    }

    .link a:hover{
        text-decoration: underline;
    }

    .link.uc a{
        text-transform: uppercase;
    }

    .link a svg{
        width: 2rem;
        height: 0.9rem;
        transition: 0.4s;
        margin-left: 10px;
    }

    .link .arrow{
        display:inline-block;
        margin-left: 10px;
    }


/*---------------------*\
    Forms
\*---------------------*/
    .form-wrp form .field-wrp{
        margin-bottom: 24px;
    }

    .form-wrp form label{
        width: 100%;
        margin-bottom: 12px;
        display:inline-block;
        font-weight: bold;
    }

    .form-wrp form input[type="text"]{
        width:100%;
        padding: 12px 16px;
        color: var(--grey);
        font-family: Avenir;
        font-size: 18px;
        line-height: 24px; /* 133.333% */
        letter-spacing: -0.36px;
        border-radius: 44px;
        border: 1px solid #DBDDE0;
    }

    .form-wrp form textarea{
        width:100%;
        padding: 12px 16px;
        color: var(--grey);
        font-family: Avenir;
        font-size: 18px;
        line-height: 24px; /* 133.333% */
        letter-spacing: -0.36px;
        border-radius: 16px;
        border: 1px solid #DBDDE0;
    }

    .form-wrp form .checkbox-wrp input{
        margin-right: 12px;
    }

    .form-wrp form .checkbox-wrp input,
    .form-wrp form .checkbox-wrp p{
        display:inline-block;
    }

    .form-wrp form input[type="submit"]{
        padding: 8px 32px;
        border-radius: 88px;
        border: 1px solid #259945;
        background: #259945;
        color: var(--white);
    }

/*---------------------*\
    Container
\*---------------------*/
    .container.fluid{
        max-width: 1920px;
    }
    
    .container.wide{
        max-width: 1470px;
    }

    .container.compact{
        max-width: 868px;
    }

    .container.no-pad{
        padding: 0;
    }


/*-------------------------*\
    Fifty Fifty Content
\*-------------------------*/
    .fifty-fifty-content{
        display: flex;
        align-items: flex-start;
        align-self: stretch;
        flex-wrap: wrap;
    }

    .fifty-fifty-content.compact{
        max-width: 768px;
        margin: auto;
    }

    .fifty-fifty-content .col{
        flex: 0 0 100%;
    }

    .fifty-fifty-content.v-center{
        align-items: center;
    }

    @media(min-width:992px){
        
        .fifty-fifty-content{
            flex-wrap: nowrap;
            gap: 80px;
        }

        .fifty-fifty-content .col{
            flex: 1 0 0;
        }

    }

    
/*---------------------*\
    Header
\*---------------------*/
    header.primary.main{
        padding: 25px 0;
        box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.05);
        /*position: fixed;
        width:100%;
        z-index: 999;*/
    }

    header section{
        padding: 0 0;
    }

    header .container{
        overflow: visible; 
    }

    header .top{
        padding: 0;
    }
    
    header .bottom{
        background-color: var(--white) ;
        margin-top: 0;
        margin-bottom: 0;
        position:relative;
    }

    header .logo-wrp{
        max-width: 148px;
        position:absolute;
        left:0;
        top: -20px;
        z-index: 5;
    }

    header .logo-container{
        position:relative;
    }

    header .logo-container .frame{
        width: 100%;
        height:160px;
        margin-top: -49px;
    }

    header .logo-container .txt{
        position:absolute;
        left: 50%;
        transform:translateX(-50%);
        width: 80%;
        top: -5px;
    }

    header.primary nav > ul > li > a{
        font-size: 16px;
        font-style: normal;
        font-weight: 800;
        line-height: 150%; /* 24px */
        letter-spacing: 0.8px;
        text-transform: uppercase;
    }
    
    header .menu{
        list-style: none;
    }

    header .menu li{
        display:inline-block;
        margin-right: 20px;
        margin-bottom: 0;
        color: #fff;
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    header .menu li a{
        color: inherit;
        text-transform: uppercase;
    }

    /*---------------------*\
        Header PG Tips
    \*---------------------*/
        header .primary-header.pg-tips .logo-wrp{
            max-width: 120px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            top: 0;
            z-index: 5;
        }       

        header .primary-header.pg-tips .hamburger{
            position:relative;
            z-index: 1001;
            min-height: 60px;
        }

        header .primary-header.pg-tips .hamburger.open{
            position:sticky;
        }

        header .primary-header.pg-tips .mobile-nav nav{
            padding-top: 50px; 
            text-align: left;
        }

        header .primary-header.pg-tips .mobile-nav nav a{
            padding-left: 85px;
            border-bottom: none;
        }

/*---------------------------------------------------------------*\
	Hamburger
\*---------------------------------------------------------------*/
    .hamburger{
        padding-left: 70px;
    }
    .hamburger .hamburger-icon span{
        background: #fff;
    }
    
    .hamburger p{
        color: #fff;
    }

    .hamburger.open .hamburger-icon span{
        background: #333;
    }
    
    .hamburger.open p{
        color: #333;
    }


/*---------------------*\
    Footer
\*---------------------*/
    footer .footer-wrp{
        position:relative;
    }

    footer .footer-wrp section{
        background-color: var(--pg-green);
        border: none;
        padding: 40px 0 40px 0;
    }

    footer section.bottom{
        padding: 40px;
        background-color: var(--pg-green);
    }

    footer section .menu-wrp ul{
        list-style: none;
        padding: 0;
    }

    footer section .menu-wrp li,
    footer section .menu-wrp a{
        color: #fff;
        font-size: 1rem;
    }

    footer section .menu-wrp li{
        margin-bottom: 40px; 
    }

    footer section a{
        text-decoration: none;
    }

    footer section .social-wrp{
        display: flex;
        flex-direction: row;
        gap: 24px;
    }
    footer section .icon-wrp{
        flex: 1 0 0;
    }

    footer section .icon-wrp i{
        font-size: 1.5rem;

    }

    footer section .logo-wrp{
        padding-right: 25%;
    }

    footer section .footer-heading{
        color: #FFF;
        font-family: Avenir;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%; /* 24px */
        margin-bottom: 24px;
    }

    footer section .menu-wrp ul{
        margin: 0;
    }

    footer section .menu-wrp li{
        color: #FFF;
        font-family: Avenir;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%; /* 21px */
        margin-bottom: 16px;
    }

    footer section .menu-wrp li a{
        font-size: 14px;
    }

    footer form {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        align-self: stretch;
        margin: 24px 0;
    
    }

    footer form input[type="text"]{
        display: flex;
        padding: 12px 12px 12px 24px;
        align-items: center;
        text-align: left;
        gap: 8px;
        flex: 0 0 75%;
        border-radius: 108px;
        border: 1px solid #F5F5F5;
        background: #F5F5F5;
        color: #505050;
        font-family: Avenir;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%; /* 24px */
    }

    footer form input[type="submit"]{
        display: flex;
        padding: 12px 24px;
        flex: 0 0 25%;
        justify-content: center;
        align-items: center;
        gap: 8px;
        border-radius: 88px;
        border: 1px solid #FFF;
        color: #FFF;
        font-family: Avenir;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%; /* 24px */
        background-color: transparent;
    
    }

    


/*---------------------*\
    Reveals
\*---------------------*/
    .reveal{
        display: none;
    }

/*---------------------*\
    Sections
\*---------------------*/
    section{
        position: relative;
        padding: 112px 64px;
        margin: 0;
    }

    section.no-pad{
        padding: 0;
    }

    section .section-title{
        margin-bottom:0;
        letter-spacing: 2px;
    }

    section .section-title-wrp{
        display:flex;
        flex-direction: row;
    }

    section .section-title-wrp .content-wrp{
        flex: 0 0 auto;
        width: auto;
        max-width: 100%; 
    }

    section .section-title-wrp.centered{
        justify-content: center;
    }
    
    section.grey{
        background-color: var(--light-grey);
    }

    section .section-overlay{
        position:absolute;
        top:0;
        width:100%;
        height:100%;
        left:0;
        opacity: 0.30;
        background-color: #000;
    }

    section.full-h{
        height: 100vh;
        position: relative;
        overflow: hidden;
    }

    /*---------------------*\
        Page Heading
    \*---------------------*/
        section.page-heading .text-wrp{
            max-width: 520px;
            margin: auto;
        }


    /*---------------------*\
        Contact Details 
    \*---------------------*/
        section.contact-details .title-wrp{
            text-transform: uppercase;
            letter-spacing: 2px;
        }


    /*---------------------*\
        Hero
    \*---------------------*/
        section.hero{
            background-size: cover;
            position: center center;
            background-repeat: no-repeat; 
        }

        section.hero .overlay{
            background-color: #000;
            opacity: 0.4;
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
        }

        section.hero .content-wrp{
            position:absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            width:100%;
            max-width: 900px;
            text-align: center;
        }

        section.hero .content-wrp .headline{
            color: var(--White, #F8F8F8);
            text-align: center;
            font-size: 56px;
            font-weight: 500;
            line-height: 120%;
            letter-spacing: 2.8px;
            text-transform: uppercase;
        }

        section.hero .title-wrp{
            display:inline-block;
            width:auto;
        }

    /*-------------------------*\
        Full Flavour Release
    \*-------------------------*/
        .ffr-row {
            padding: 0 10%;
        } 
    
    /*---------------------*\
        Articles
    \*---------------------*/
        section.articles .bottom-content{
            padding: 24px;
            background-color: var(--light-grey);
            flex-grow: 1;
        }
        section.articles .bottom-content .title-wrp,
        section.articles .bottom-content .txt-wrp{
            margin-bottom: 24px;
        }

    /*---------------------*\
        Our Teas
    \*---------------------*/
        section.our-teas{
            text-align: center;
        }

        section.our-teas h3{
            margin-bottom: 10px;
        }

        @media(min-width: 992px){
            section.our-teas .padded{
                padding: 10% 15%;
            }
        }

    /*---------------------*\
        Legals
    \*---------------------*/
        section.legal p{
            vertical-align: middle;
        }

        section.legal img{
            max-width: 100px;
            vertical-align: middle;
            margin-right: 20px;
            display:inline-block;
        }

    /*---------------------*\
        Nutrition Table
    \*---------------------*/
        .nutrition-table .title-wrp{
            margin-bottom: 20px;
        }

        .nutrition-table .table-wrp{
            text-align: center;
        }

        .nutrition-table table{
            border-collapse: collapse;
            margin: auto;
        }

        .nutrition-table table .label,
        .nutrition-table table th{
            font-weight: bold;
        }

        .nutrition-table table th,
        .nutrition-table table td{
            border: 1px solid #cfcfcf;
            padding: 5px 15px;
            text-align: center;
            margin: 0;
            color: #333;
            font-size: 0.95rem;
        }

        .nutrition-table table th{
            padding: 15px;
        }

        .nutrition-table table tbody tr:nth-child(odd){
            background-color: #efefef;
        }

        .nutrition-table .notes p{
            color: #666;
            font-size: 0.95rem;
        }

        .nutrition-table .notes{
            margin-top: 30px;
        }


    /*---------------------*\
        Where to Buy
    \*---------------------*/
        section.where-to-buy .retailer-wrp{
            padding: 40px 24px;
            max-width: 300px;
            margin: 24px auto;
            background-color: var(--white);
            border-radius: 10px;
        }

    /*---------------------*\
        Hero Section
    \*---------------------*/
        section.hero-section .content-wrp{
            padding: 54px;
            background-color: var(--white);
            border-radius: 10px;
            max-width: 664px;
            margin-right: auto;
        }

    /*---------------------*\
        Statistics
    \*---------------------*/
        section.stats .stat-row.no-gutters{
            margin: 0 -15px;
        }
        section.stats .stat-wrp{
            padding: 24px;
            background-color: var(--white);
            margin: 15px;
        }

        section.stats .stat-wrp .icon-wrp{
            max-width: 120px;
            margin-right: auto;
        }

        section.stats .stat-wrp h3{
            color: var(--pg-green);
        }

    /*---------------------*\
        Fifty Fifty Txt
    \*---------------------*/
        section.fifty-fifty-txt .content-box{
            padding: 24px;
            background-color: var(--white);
            border-radius: 10px;
        }

    /*---------------------*\
        Faqs
    \*---------------------*/
        section.faqs .title h3{
            margin:0;
        }

        section .faq-section{
            margin-bottom: 80px;
        }
        
        section.faqs .question-wrp{
            margin-bottom: 48px;
        }

        section.faqs .title h3{
            color: var(--pg-green);
        }

        section.faqs .question h4{
            color: var(--grey);
            font-size: 20px;
            padding-right: 40px;
            position: relative;
            line-height: 1.7;
        }

        section.faqs .question h4:after{
            content: '+';
            position:absolute;
            right: 20px;
            font-size: 30px;
        }

        section.faqs .question-wrp.open .question h4:after{
            content: '-';
        }

        section.faqs .question .divider{
            margin: 15px auto;
        }

        section.faqs .answer{
            display:none;
        }

    /*------------------------*\
        Our Teas Accordions
    \*------------------------*/
        section.accordions .accordion-item-wrp{
            margin-bottom: 48px;
        }

        section.accordions .accordion-item-wrp .title h4{
            color: var(--pg-green);
            font-size: 24px;
            text-transform:uppercase;
            font-weight: bold;
            padding-right: 40px;
            position: relative;
            line-height: 1.7;
            letter-spacing: 2px;
            margin:0;
        }

        section.accordions .accordion-item-wrp .title h4:after{
            content: '+';
            position:absolute;
            right: 20px;
            font-size: 30px;
        }

        section.accordions .accordion-item-wrp.open .title h4:after{
            content: '-';
        }

        section.accordions .accordion-item-wrp .title .divider{
            margin: 15px auto;
        }

        section.accordions .accordion-item-wrp .accordion-reveal-content{
            display:none;
            padding: 24px;
        }

        section.accordions .accordion-item-wrp .accordion-reveal-content li{
            margin-bottom: 15px;
        }

        section.accordions .accordion-item-wrp .accordion-reveal-content.faq .question{
            font-size: 1.2em;
            font-weight: 800;
            letter-spacing: 1;
        }

        section.accordions .accordion-item-wrp .accordion-reveal-content.faq .answer{
            font-size: 0.9em;
        }


    /*---------------------*\
        Pack Sizes
    \*---------------------*/
        section.pack-sizes .pack-wrp{
            text-align:center;
        }
        section.pack-sizes .img-wrp{
            max-width: 250px;
            margin:24px auto;
        }

/*---------------------*\
    Misc.
\*---------------------*/
    .spacer{
        width:100%;
        height:48px;
    }

    .spacer.large{
        height:80px;
    }

    .spacer.small{
        height: 24px;
    }
	
	.homepage li#menu-item-722 {
        display:none
    }

/*---------------------*\
    Model Viewer
\*---------------------*/
    #model-viewer{
        width:100%!important;
        height: 600px;
    }

    #model-viewer .container{
        width:100% !important;
        height: 600px;
    }

    .hotspot{ 
        display: block;
        width: 25px;
        height: 25px;
        border-radius: 25px;
        border-style: solid;
        border-width: 2px;
        border-color: #777;
        background-color: #fff;
        background-image: url("/images/our-teas/pg-tips-hotspot-white.png");
        background-size: 25px 25px;
        background-position: center center;
        background-repeat:no-repeat;
        box-sizing: border-box;
        cursor: pointer;
        opacity: 0;
        display:none;
        transition: 0.4s;
    }

    .hotspot{
        background-image: url("/images/our-teas/pg-tips-hotspot-white.png");
        background-size: 25px 25px;
        background-position: center center;
        background-repeat:no-repeat;

        border-radius: 0;
        border-style: none;
        border-width: 0;
        border-color: transparent;
        background-color: transparent;
    }



    .hotspot[data-visible]{
        opacity: 1;
        display:block;
    }

    .hotspot:hover {
        background-color: white; 
        opacity: 1;
        background-size: 35px 35px;
        width: 35px;
        height: 35px;
    }

    .hotspot:hover {
        background-color: transparent; 
        opacity: 1;
    }

    .HotspotAnnotation{
        width: 100px;
        display: none;
        background-color: #ffffff;
        position: absolute;
        transform: translate(10px, 10px);
        border-radius: 5px 5px 0 0;
        font-size: 0.95rem;
        z-index: 999999;
    }

    .HotspotAnnotation .content-wrp{
        position:relative;
        padding: 10px;
    }

    .HotspotAnnotation .content-wrp img{
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        margin-top: -1px;
    }

    .hotspot-text{
        display:none;
    }

    /* This keeps child nodes hidden while the element loads */
    :not(:defined) > * {
        display: none;
    }

    #model-viewer #default-progress-bar {
        display: none!important;
        opacity: 0;    
    }

    model-viewer {
    --progress-bar-color: transparent;
    }