/*=====* Updated Navigation 5-26-21 -0B1 *=====*/

/* utility nav @START */
.cont-utility-nav{
    display: block;
    position: fixed;
    top: 0;
    height: 40px;
    background-color: #EBEBEC;
    z-index: 15;
}
        @media only screen and (max-width: 1265px){
            .cont-utility-nav{
                background-color: #FFFFFF;
            }
        }
        @media only screen and (max-width: 767px){
            .cont-utility-nav{
                height:65px;
            }
        }
        @media only screen and (max-width: 363px){
            .cont-utility-nav{
                height:90px;
            }
        }

.cont-utility-nav ul {
    position:relative;
    top:10px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right;
}
        @media only screen and (max-width: 1265px){
            .cont-utility-nav ul {
                text-align: center;
            }
        }
        @media only screen and (max-width: 767px){
            .cont-utility-nav > .container{
                padding-left: 0;
                padding-right: 0;
            }
        }

.cont-utility-nav li {
    position: relative;
    display: inline-block;
    height:17px;
    padding:0 13px;
    border-right: 1px solid #77787B;
    margin-left:-5px;
}
        @media only screen and (max-width: 767px){
            .cont-utility-nav li {
                padding:0 7px;
                margin-left:-4px;
            }
        }

.cont-utility-nav li:last-of-type {
    padding:0 0 0 13px;
    border-right: none;
}
        @media only screen and (max-width: 767px){
            .cont-utility-nav li:last-of-type {
                padding:0 0 0 6px;
            }
        }
.cont-utility-nav li p,
.cont-utility-nav li a{
    position: relative;
    top:-3px;
    color:#77787B;
    text-decoration: none;
    font-size:16px;
    line-height:22px;
}
.cont-utility-nav li p:hover,
.cont-utility-nav li a:hover{
    color:#77787B;
    text-decoration: underline;
} /* utility nav @END */




/*=======================================* main nav @START */
.cont-main-nav {
    display:block;
    position:fixed;
    top:40px;
    height:140px;
    background-color: #ffffff;
    z-index:16;
    text-align:right;
    transition: height 0.5s;
}
.cont-main-nav.scrolling{ /* on scroll changes */
    height: 60px;
    box-shadow: 0 6px 6px -4px #00000033;
    -webkit-box-shadow: 0 6px 6px -4px #00000033;
}
        @media only screen and (max-width: 1265px){
            .cont-main-nav {
                height:105px;
            }
            .cont-main-nav.scrolling{ /* on scroll changes */
                height: 36px;
            }

        }
        @media only screen and (max-width: 767px){
            .cont-main-nav {
                top:65px;
            }
        }
        @media only screen and (max-width: 363px){
            .cont-main-nav {
                top:85px;
            }
        }

/*=======================================* logo */
#cont-logo{
    width: 140px;
    height: 100px;
    display: block;
    position: absolute;
    top: 20px;

    background: transparent url("../../images/global/Twirla_R_Logo_RGB.svg") no-repeat 0 0;
    background-size: contain;

    transition: width 0.5s, height 0.5s, top 0.5s;
}
        @media only screen and (max-width: 1265px){
            #cont-logo{
                width: 120px;
                height: 80px;
                top:0;
            }
        }

.cont-main-nav.scrolling #cont-logo{ /* on scroll changes */
    width: 27px;
    height: 30px;
    top: 16px;
    background: transparent url("../../images/global/Flower-Logo.png") no-repeat 0 0;
    background-size: contain;
    transition: transform 0.3s, width 0.5s, height 0.5s, top 0.5s;
}
.cont-main-nav.scrolling #cont-logo:hover{
    transform: rotate(180deg);
}
        @media only screen and (max-width: 1265px){
            .cont-main-nav.scrolling #cont-logo { /* on scroll changes */
                top: 0;

            }
            .cont-main-nav.open #cont-logo,
            .cont-main-nav.open.scrolling #cont-logo { /* on scroll changes */
                top: 24px;
                width: 120px;
                height: 80px;
                background: transparent url("../../images/global/Twirla_R_Logo_RGB.png") no-repeat 0 0;
                background-size: contain;
                transition: none!important;
            }
            .cont-main-nav.open::after{
                content: "";
                display: block;
                position: absolute;
                top:130px;
                left:0;
                width: 100vw;
                height:1px;
                background-color: #707070;
            }
        }
/* logo @ END */

/*=======================================* parent links @START */
nav.cont-main-nav > div.container > ul {
    display: block;
    position: relative;
    top: 50px;
    list-style-type: none;
    margin: 0 0 0 auto;
    padding: 0;
    width: 85%;
    transition: top 0.5s;
}

nav.cont-main-nav.scrolling > div.container > ul { /* on scroll changes */
    top:15px;
}
        @media only screen and (max-width: 1265px){
            nav.cont-main-nav > div.container > ul{
                display: none;
            }
        }

/*=====* Nav Carrots @START */
[data-carrot]:after{ /*down arrow*/
    content:url('../../images/global/icon-carrot-down.png'); /* with class ModalCarrot ??*/
    position:absolute;
    right: 25px;
    top: 2px;
    cursor: pointer;
    z-index: 10;
}
        @media only screen and (max-width: 1265px){
            [data-carrot]:after{
                content:url('../../images/global/icon-carrot-down_mbl.png'); /* with class ModalCarrot ??*/
                right:0;
                top: 10px;
            }
        }

[data-carrot]:hover:after{ /*up arrow*/
    content:url('../../images/global/icon-carrot-up.png'); /* with class ModalCarrot ??*/
}

[data-carrot].active:after{
    content:url('../../images/global/icon-carrot-up.png');
    transform: rotate(180deg);
    top:6px;
}
[data-carrot].active:hover:after{
    content:url('../../images/global/icon-carrot-up.png');
    transform: rotate(0deg);
    top:2px;
}
        @media only screen and (max-width: 1265px){
        [data-carrot]:hover:after{
            content:url('../../images/global/icon-carrot-down_mbl.png');
        }

        [data-carrot].active:after,
        [data-carrot].active:hover:after{
            content:url('../../images/global/icon-carrot-up_mbl.png');
            transform: rotate(180deg);
            top:6px;
        }
        [data-carrot].expanded:after,
        [data-carrot].expanded:hover:after{
            content:url('../../images/global/icon-carrot-up_mbl.png');
            transform: none;
            top:0;
        }
        [data-carrot].active.expanded:after,
        [data-carrot].active.expanded:hover:after{
            content:url('../../images/global/icon-carrot-up_mbl.png');
            transform: none;
            top:0;
        }
    }

[data-carrot='last']:after{ /*arrow*/
    right: 0;
}

[data-carrot]:hover > p,
[data-carrot]:hover > a{
    color: #C0198D;
    text-decoration: underline;
}
        @media only screen and (max-width: 1265px){
    [data-carrot]:hover > p{
        color: #6D6E71;
        text-decoration: none;
    }
    .expanded[data-carrot] > p{
        color: #C0198D;
        text-decoration: underline;
    }
}

nav.cont-main-nav > div.container > ul li[data-carrot] {
    display:inline-block;
    position:relative;
    padding: 0 40px 0 13px;
    height: 30px;
}
nav.cont-main-nav > div.container > ul > li[data-carrot] ul > li{
    display: block;
}

nav.cont-main-nav > div.container > ul > li[data-carrot]:last-of-type {
    padding-right:15px;
}
.cont-main-nav ul li p,
.cont-main-nav ul li a {
    display:block;
    position: relative;
    font-size: 20px;
    color:#6D6E71;
    z-index: 5;
    cursor: pointer;
}

.cont-main-nav ul li p:hover,
.cont-main-nav ul li a:active,
.cont-main-nav ul li a:hover{
    color: #C0198D;
    text-decoration: underline;
}
        @media only screen and (max-width: 1265px){
            .cont-main-nav ul li p:hover{
                color: #6D6E71;
                text-decoration: none;
            }
            .cont-main-nav ul li.expanded p:hover{
                color: #C0198D;
                text-decoration: underline;
            }
        }
/* parent links @END */

/* conditional logic override for current page - active nav */
.cont-main-nav ul li p.active,
.cont-main-nav ul li a.active,
.cont-main-nav ul li a.active{
    color: #C0198D!important;
    text-decoration: underline!important;
}

/*=======================================* sub nav background @START */

/*Drop shadow behind nav link*/
[data-shadow]{
    display:block;
    height:57px;
    overflow: visible;
    position:absolute;
    top:-15px;
    left:0;
    margin:0;
    padding:0;
    background:#ffffff;
    text-align:left;
    box-shadow: 0 0px 7px 1px #00000033;
    -webkit-box-shadow: 0 0px 7px 1px #00000033;
    z-index: 2;
}
[data-shadow]:before{ /*background shape & box shadow*/
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    background: #ffffff;
    z-index: 3;
    height:8px;
    width: 100%;
}



/*Drop shadow behind sub nav*/
[data-bkg-shape]{
    display:block;
    overflow: hidden;
    position:absolute;
    top:45px;
    left:0;
    margin:0;
    padding:0;
    text-align:left;
    background-color: #ffffff;
    box-shadow: 0 0 6px 2px #00000033;
    -webkit-box-shadow: 0 0 6px 2px #00000033;
    z-index: 1;
}



/*=======================================* Desktop navigation sub-menu animation controls *===*/
[data-shadow]{
    opacity: 0;
    transition: opacity 0.05s 0.1s;
}
.cont-main-nav ul li:hover [data-shadow]{
    opacity: 1;
    transition: opacity 0.01s;
}


[data-bkg-shape]{
    height:0;
    opacity: 0;
    transition: height 0.15s, opacity 0.1s 0.1s;
}
.cont-main-nav ul li:hover [data-bkg-shape] {
    opacity: 1;
    transition: height 0.3s 0.05s, opacity 0.02s 0.01s ;
}

/*=======================================* sub-menu background overrides for different sizes *===*/
/*===* About Twirla */
[data-shadow='about']{width: 132px;}
[data-bkg-shape='about'] {width: 265px;}
/* hover animation */
.cont-main-nav ul li:hover [data-bkg-shape='about'] {height: 167px;}

/*===* Adhesion and Design */
[data-shadow='design']{width: 195px;}
[data-bkg-shape='design']{width: 265px;}
/* hover animation */
.cont-main-nav ul li:hover [data-bkg-shape='design']{ height: 97px;}

/*===* Using Twirla */
[data-shadow='using']{width: 130px;}
[data-bkg-shape='using'] {width: 215px;}
/* hover animation */
.cont-main-nav ul li:hover [data-bkg-shape='using']{height: 97px;}

/*===* Prescribing Twirla */
[data-shadow='prescribing']{width: 173px;}
[data-bkg-shape='prescribing'] {width: 232px;}
/* hover animation */
.cont-main-nav ul li:hover [data-bkg-shape='prescribing']{height: 172px;}

/*===* Savings and Resources */
[data-shadow='savings']{width: 212px;}
[data-bkg-shape='savings'] {width: 240px;}
/* hover animation */
.cont-main-nav ul li:hover [data-bkg-shape='savings']{height: 134px;}

/* sub-menu background overrides for different size @END */

        /* removing styles for mobile */
        @media only screen and (max-width: 1265px){
            div[data-bkg-shape] {
                position: relative;
                width:100% !important;
                height:auto!important;
                padding-bottom:55px;
                box-shadow: none;
                -webkit-box-shadow:none;
            }
            [data-shadow],
            [data-bkg-shape]{
                opacity: 1;
                transition: none;
            }
            [data-shadow],
            [data-shadow]:before,
            [data-bkg-shape]:before,
            [data-shadow]:after,
            [data-bkg-shape]:after{
                display: none!important;
            }
        }

/* sub nav background @END */


/*=======================================* sub nav links @START */
div[data-bkg-shape] > ul{ /*background shape & box shadow*/
    display:block;
    position:relative;
    top:0;
    left:0;
    margin:0;
    padding:20px 10px 10px 20px;
    text-align:left;
}

div[data-bkg-shape] > ul li{
    padding:0 0 7px;
}

div[data-bkg-shape] > ul li a{
    display:block;
    font-size: 19px;
    color:#6D6E71;
}
/* main nav @END */


/*=======================================* Hamburger Menu @START */
[data-hamburger]{
    display: none;
    position: absolute;
    top:1px;
    right:15px;
    width:30px;
    height:24px;
    cursor: pointer;
}

[data-hamburger] > div{
    display: block;
    position: relative;
    width:100%;
    height:4px;
    border-radius: 2px;
    background-color: #707070;
    margin-bottom: 5px;
    transition: transform 0.3s, opacity 0.3s;
}

.cont-main-nav.open [data-hamburger]{
    top: 75px;
}

.cont-main-nav.open [data-hamburger] > div{
    position: absolute;
    top:0;
    left:0;
    border-radius: 0;
}

.cont-main-nav.open [data-hamburger] > div:nth-of-type(1){
    transform: rotate(45deg);
}

.cont-main-nav.open [data-hamburger] > div:nth-of-type(2){
    transform: rotate(-45deg);
}

.cont-main-nav.open [data-hamburger] > div:nth-of-type(3){
    opacity: 0;
}
        @media only screen and (max-width: 1265px){
            [data-hamburger]{
                display: block;
            }
        }/*Hamburger Menu @END */



/*=======================================* Mobile Menu @START */
@media only screen and (max-width: 1265px) {
    /* style resets for mobile - display triggered by .open being appended to .cont-main-nav */
    nav.cont-main-nav.open.scrolling,
    nav.cont-main-nav.open {
        top: 0;
        height: 100vh;
        z-index: 99999;
        overflow: hidden;

    }

    nav.cont-main-nav.open > div.container > ul {
        display: block;
        height: 70vh;
        overflow-y: scroll;
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none; /* Firefox */
    }

    nav.cont-main-nav.open > div.container > ul::-webkit-scrollbar {
        display: none;
    }

    /* mobile styles */
    nav.cont-main-nav {
        text-align: left;
    }

    nav.cont-main-nav.scrolling > div.container > ul,
    nav.cont-main-nav > div.container > ul {
        top: 170px;
        width: 100%;
    }

    div[data-bkg-shape] > ul {
        display: block;
        position: relative;
        top: 0;
        height: auto;
        margin-bottom: 0;
    }

    div[data-bkg-shape] > ul li {
        margin-bottom: 20px;
    }

    nav.cont-main-nav > div.container > ul li[data-carrot] {
        display: block;
        padding: 0 40px 0 2px;
    }

    [data-carrot] > p {
        position: absolute !important;
        top: 0;
    }

    .cont-main-nav ul li p,
    .cont-main-nav ul li a {
        font-size: 28px;
    }

    div[data-bkg-shape] > ul li p,
    div[data-bkg-shape] > ul li a {
        font-size: 24px;
    }
    nav.cont-main-nav > div.container > ul li[data-carrot]{
        height: 70px;
        overflow: hidden;
        transition: height 0.3s;
    }

    nav.cont-main-nav > div.container > ul > li[data-carrot].expanded {
        height: auto;
    }
}