
/* Base Styles
=================================================================================== */
/* NOTE
html is set to 62.5% therefore 1.0rem = 10px */

html
{
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body
{
    width: 100%;
    font-size: 16px; /* as above 1.6rem = 16px base font size */
    line-height: 1.2;
    font-weight: normal;
    font-family: "D-DIN", sans-serif;
    font-weight: 300;
    color: #151515;
    background-color: #FFF;
    text-rendering: optimizeLegibility;
}

.container
{
    z-index: 97;
    background-color: #FFF;
}

.container
{
    min-height: calc(100vh - 156px - 87px); /* push footer down */
}

@keyframes fadein
{
    0%
    {
        opacity: 0;
    }
    80%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* Firefox < 16 */
@-moz-keyframes fadein
{
    0%
    {
        opacity: 0;
    }
    80%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein
{
    0%
    {
        opacity: 0;
    }
    80%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* Internet Explorer */
@-ms-keyframes fadein
{
    0%
    {
        opacity: 0;
    }
    80%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* Opera < 12.1 */
@-o-keyframes fadein
{
    0%
    {
        opacity: 0;
    }
    80%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}


/*  H E X L E R D E S I G N -- image and object handling
=================================================================================== */

.body_img
{
    object-fit: contain;
    width: 100%;
    min-height: 140px !important;
    max-height: 500px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 2.0rem 0;
}

.body_img_caption
{
    font-size: 10px;
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #CCC;
    padding: 1.5rem 0;
}

/* select and resize UI photos, located in /_docs/ */

.hexler_docs img[src*="/_docs/"]
{
    object-fit: contain;
    object-position: center;
    width: 60%;
    margin: 2.0rem 20% 2.0rem 20%;
    max-height: 400px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 2.0rem 0;
}

/* select and resize product hero photos, located in /_software/ */

.hexler_docs img[src*="/_software/"]
{
    object-fit: contain;
    object-position: center;
    width: 100%;
    margin: 0;
    max-height: 600px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 2.0rem 0;
}

.hexler_docs img.full
{
    object-fit: contain;
    object-position: center;
    width: 100%;
    margin: 0;
    max-height: 600px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}

/* select and resize only UI photos named 'puredata' (the third party app), as the font size is frigging tiny */

.hexler_docs img[src*="puredata"]
{
    width: 100%;
    margin: 0;
}

/* select and resize UI photos, mainly icons, in docs */

.hexler_docs img[src*="touchosc-editor-basic"]
{
    max-width: 200px;
    max-height: 44px;
    margin: 2.0rem 0;
    margin-left: calc(50% - 100px);
}

.hexler_docs img[src*="touchosc-editor-pages"],
.hexler_docs img[src*="touchosc-editor-layout"],
.hexler_docs img[src*="touchosc-editor-controls"],
.hexler_docs img[src*="touchosc-controls"]
{
    max-width: 200px;
    margin: 2.0rem 0;
    margin-left: calc(50% - 100px);
}

.hexler_docs img[src*="touchosc-editor.png"]
{
    width: 100%;
    max-width: 450px;
    max-height: 450px;
    margin: 0;
    margin-left: calc(50% - 225px);
}

/* format TouchViZ documents page 'MIDI Reference' i.e: table of data */

.hexler_docs .reference_table .one-third
{
    width: 32%;
    display: inline-block;
    border-bottom: 1px solid #DDD;
    padding: 1.0rem 0;
    overflow-wrap: break-word;
    font-size: calc(10px + 0.4vw);
}

.hexler_docs .one
{
    width: 100%;
}

/* select and resize legacy Blog photos, usually located in /_news/ */

.hexler_docs img[src*="/_news/"]:not(.hexler_sidebar_img),
.blog_post_image
{
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
    margin: 0;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 2.0rem 0;
}

@media screen and (max-width: 800px)
{
    .hexler_docs img[src*="/_docs/"]
    {
        object-fit: contain;
        object-position: center;
        width: 100%;
        margin: 2.0rem 0;
        max-height: 600px;
        border-top: 1px solid #CCC;
        border-bottom: 1px solid #CCC;
        padding: 2.0rem 0;
        transition: all 2.0s ease;
    }

    .hexler_docs img[src*="touchosc-editor.png"]
    {
        width: 100%;
        max-height: inherit;
        margin: 0;
    }
}

.hexler_sidebar_img
{
    object-fit: cover;
    object-position: center;
    display: block;
    width: 100%;
    height: 100px;
    max-height: 100px;
    margin: 0;
    border: 0;
    padding: 0;
}

.banner_img
{
    width: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: rgba(57, 71, 84, 0.40);
    display: block;
    padding: 2.0rem 2.0rem;
}

/* FUTURE FEATURE overlay banner (see blog post /kodelife-the-future) */

.future_feature
{
    display: block;
    position: relative;
    z-index: 89;
    top: -12.0rem;
    width: 100%;
    text-align: center;
    font-family: "D-DIN-Condensed-Bold", sans-serif;
    font-size: 4.0rem;
    text-transform: uppercase;
    background-color: rgba(255, 0, 61, 0.8);
    margin-bottom: -4.0rem;
}


/*  H E X L E R D E S I G N -- Header, Nav and Footer
=================================================================================== */

.header,
.footer,
.footercopyright
{
    width: 100%;
    display: block;
    overflow: auto;
}

.header
{
    position: relative;
    background-color: #FFF;
    z-index: 98;
    filter: invert(100%);
}

.footer
{
    position: relative;
    padding: 3.0rem 0.0rem 0.0rem 0.0rem; /* footer bottom padding handled by .footercopyright */
    background: #FFF;
    z-index: 96;
    filter: invert(100%);
}

.navlink,
.footerlink,
.hexler_search,
.hexler_social
{
    font-family: "D-DIN-Condensed-Bold", sans-serif;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    background-color: transparent;
}

.dark_background
{
    background-color: #222;
}

/* correct mouse point for js onclick page anchors, and others */

a[onclick*="#"],
.hamburger_open,
.hamburger_close,
.jumbolink
{
    cursor: pointer;
}

/* js onclick nav buttons on product pages */

.product_nav
{
    width: 100%;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
}

.product_nav a
{
    width: calc(20% - 2px - 0.5vw);
    font-family: "D-DIN-Condensed", sans-serif;
    display: inline-block;
    margin-right: 0.5vw;
    height: 38px;
    color: #555;
    text-align: center;
    font-size: calc(4px + 1.2vw);
    font-weight: normal;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0px;
    border: 1px solid #bbb;
    cursor: pointer;
    box-sizing: border-box;
}

@media screen and (min-width: 1000px)
{
    .product_nav a
    {
        font-size: 16px;
    }
}

@media screen and (max-width: 549px)
{
    .product_nav a
    {
        width: calc(100% - 2px);
        margin-right: 0;
        font-size: 16px;
        margin-top: 0.5vw;
    }
}

.product_nav a:hover,
.download_button:hover,
.store_badges:hover
{
    color: #333;
    border-color: #888;
    box-shadow: 0px 0px 10px rgba(120, 120, 120, 0.1);
    transition: all 0.1s ease 0s;
    border-radius: 0px;
}

.hexler_search,
input,
button,
select,
textarea
{
    font-family: "D-DIN", sans-serif;
}

.navlink,
.footerlink,
.hexler_search,
.hexler_social
{
    white-space: nowrap;
    display: block;
}

.navlink,
.footerlink,
.nav_categories
{
    padding: 0.6rem 0.0rem 0.1rem 2.0rem;
}

.hexler_social
{
    margin: 0 auto;
    padding: 0;
}

.navlogo,
.navleft,
.navright,
.footerleft,
.footerright,
.footermid
{
    width: auto;
    display: inline-block;
    overflow: hidden;
}

.navlogo
{
    max-height: 75px;
    width: 50px;
    padding: 1.6rem 1.0rem 1.6rem 1.6rem;
}

.navlogo img
{
    width: 100%
}

.navlogo *
{
    background: transparent;
}

.hamburger_navlogo
{
    display: none;
    position: fixed;
    float: left;
    padding-top: 0.5rem;
    padding-left: 1.0rem;
}

.hamburger_navlogo img
{
    height: 20px;
}

.footermid
{
    text-align: center;
    width: 100%;
}

.navright,
.footerright
{
    float: right;
    text-align: right;
}

.navlogo,
.navleft,
.footerleft
{
    float: left;
    text-align: left;
}

.footerright
{
    padding-right: 2.0rem;
    padding-bottom: 4.0rem;
}

.footercopyright
{
    font-family: "D-DIN", sans-serif;
    width: 100%;
    max-height: 100px;
    text-align: center;
    padding: 1.0rem 0.0rem 1.0rem 0.0rem;
}

/* Product page formatting */

/* .gel,
.product_icon {
  -webkit-filter: invert(100%);
          filter: invert(100%);
} 
*/

.product_feature
{
    padding-top: 0.0rem !important;
    padding-bottom: 0.0rem !important;
}

.product_feature ul,
.product_get ul,
.product_resources ul
{
    padding: 1.0rem 0.0rem 2.0rem 0.0rem;
}

.product_shots img
{
    display: inline-block;
    max-height: 200px;
    object-fit: cover;
    object-position: center;
    margin: 2.0rem 1.0rem 0.0rem 1.0rem;
    width: calc(33% - 2.0rem - 2px); /* this should work without the -2px, not sure wtf */
}

.product_hero_image
{
    width: 100%;
    /*  height: auto;
      max-height: 100%; */
}

.product_videos
{
    position: relative;
    padding-bottom: 56.26%;
    overflow: hidden;
    margin-top: 2.0rem;
}

.product_videos iframe
{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;

}

/*
@media screen and (max-width: 849px){
          .product_shots img {
            width: 100%;
            padding: 0;
            margin: 2.0rem 0.0rem 0.0rem 0.0rem;
          }
}
*/

.product_resources h6:nth-child(1),
.product_social_media h6:nth-child(1)
{
    margin-top: 2.0rem;
}

.doc_ios_android_switch
{
    font-family: "D-DIN-Condensed";
    width: 100%;
}

/* Links
=================================================================================== */
a
{
    color: #000000;
    text-decoration: none;
    /*  font-weight: bold; */
    transition: all 0.8s ease 0s;
    background: transparent;
}

a:hover
{
    color: #303030;
    transition: all 0.1s ease 0s;
    background: transparent;
}

.centeralign a:hover
{
    color: #151515;
}

p a,
p ul li a
{
    text-decoration: underline;
    /*  text-decoration-skip: ink; */
    text-underline-position: under;
}

.jumbotron a
{
    color: #EEE;
    text-decoration: none;
    background-color: transparent;
}

.jumbotron a:hover
{
    color: #FFF;
    background-color: rgba(255, 255, 255, 0.1);
}

.product_nav a
{
    background-color: rgba(0, 0, 0, 0.3);
}

.banner_img *
{
    color: #FFF;
}


/* Typography
=================================================================================== */

h1, h2, h3, h4, h5, h6
{
    margin: 0;
    font-family: "D-DIN-Condensed-Bold", sans-serif;
    white-space: normal;
}


.trademark
{ /* remove uppercase transform of product names from H titles */
    text-transform: none;
}

.quotation
{
    font-family: "D-DIN-Condensed-Bold", sans-serif;
    width: calc(100% - 12.0rem);
    text-align: center;
    margin: 2.0rem;
    padding: 2.0rem 4.0rem;
    color: #151515;
    border: 1.0rem solid #BBB;
    border-left: 0;
    border-right: 0;
}

h1
{
    font-size: calc(16px + 11vw);
    line-height: 0.85;
    letter-spacing: -.1rem;
}

.product_icon
{
    height: calc(16px + 7.0vw);
    padding-right: 1.0rem;
}

.product_icon_alt
{
    height: calc(76px + 7.0vw);
    padding-right: 1.0rem;
}

h2
{
    font-size: calc(16px + 9vw);
    line-height: 0.85;
    letter-spacing: -.1rem;
}

h3
{
    font-size: calc(16px + 7vw);
    line-height: 0.85;
    letter-spacing: -.1rem;
}

h4
{
    font-size: calc(16px + 5vw);
    line-height: 0.85;
    letter-spacing: -.1rem;
}

h5, .quotation
{
    font-size: calc(16px + 3vw);
    line-height: 0.85;
    letter-spacing: 0rem;
}

h6
{
    font-size: calc(16px + 1vw);
    line-height: 0.85;
    letter-spacing: 0rem;
}

.label-body
{
    font-size: 1.6rem;
    line-height: 0.85;
    letter-spacing: 0rem;
}


@media screen and (min-width: 1000px) and (min-aspect-ratio: 1/1)
{
    h1
    {
        font-size: calc(16px + 11rem);
        line-height: 0.85;
        letter-spacing: -.2rem;
    }

    .product_icon
    {
        height: calc(16px + 7.0rem);
        padding-right: 1.0rem;
    }

    .product_icon_alt
    {
        height: calc(76px + 7.0rem);
        padding-right: 1.0rem;
    }

    h2
    {
        font-size: calc(16px + 9rem);
        line-height: 0.85;
        letter-spacing: -.2rem;
    }

    h3
    {
        font-size: calc(16px + 7rem);
        line-height: 0.85;
        letter-spacing: -.2rem;
    }

    h4
    {
        font-size: calc(16px + 5rem);
        line-height: 0.85;
        letter-spacing: -.2rem;
    }

    h5, .quotation
    {
        font-size: calc(16px + 3rem);
        line-height: 0.85;
        letter-spacing: 0rem;
    }

    h6
    {
        font-size: calc(16px + 1rem);
        line-height: 0.85;
        letter-spacing: 0rem;
    }

    .label-body
    {
        font-size: 1.6rem;
        line-height: 0.85;
        letter-spacing: 0rem;
    }
}

.hexler_docs h1,
.hexler_docs h2,
.hexler_docs h3,
.hexler_docs h4,
.hexler_docs h5,
.hexler_docs h6
{
    letter-spacing: -.05rem;
}

/* Font Awesome social media icon styling */

.footerFA
{
    font-size: 2.4rem;
    padding: 0.0rem 0.5rem 0.0rem 0.5rem;
    display: inline-block;
}

.footer a,
.footerFA a,
.hexler_search button
{
    color: #000000;
    transition: all 0.8s ease 0s;
    border: 0;
}

.footer a:hover,
.footerFA a:hover,
.hexler_search button:hover
{
    /*  color: #48525B; */
    color: #606060;
    transition: all 0.1s ease 0s;
    border: 0;
}

/* really small copyright text */

.small
{
    font-size: 1.2rem;
}

/* (Inverted color) Heading and body text for JumboTron */

.jumbotron h1,
.jumbotron h2,
.jumbotron h3,
.jumbotron h4,
.jumbotron h5,
.jumbotron h6,
.centerhack,
.banner_img
{
    color: #FFF;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.centerhack
{
    font-weight: 400;
}

.centerhack b
{
    font-weight: normal;
}

.jumbotron_badge_container
{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 89;
    width: 100%;
    min-height: calc(80px + 2.0rem); /* height here should match .promo_badge { background-size } */
    margin: 0;
    padding: 0;
}

.promo_badge
{
    background-size: calc(80px + 2.0rem);
    background-repeat: no-repeat;
    background-position: right top;
}

.free_beta
{
    background-image: url('/site/images/design_elements/badges/free_beta.png');
}

.early_supporter_discount
{
    background-image: url('/site/images/design_elements/badges/early_supporter_discount.png');
}

.corner_badge-01
{
    background-image: url('/site/images/design_elements/badges/corner_badge-01.png');
}

.corner_badge-01 a
{
    display: block;
    width: 160px;
    height: 160px;
    top: -80px;
    right: -80px;
    position: absolute;
    transform: rotateY(0deg) rotate(45deg);
}

.delete_padding
{
    padding: 0 !important;
}

/* Target IE 9 and 10 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .centerhack
    {
        font-weight: 500;
    }
}

/* Target MS Edge 12 */
@supports (-ms-ime-align: auto)
{
    .centerhack
    {
        font-weight: 500;
    }
}

p
{
    padding: 0;
    margin-bottom: -3.0rem;
    margin-block-start: 1.0rem;
    margin-block-end: 1.0rem;
}

.hatch,
.scrollanchor
{
    background-color: #eeeeee;
    height: 80px;
}

/*  H E X L E R D E S I G N -- Legacy DOCS re-format ... kinda messy but working
=================================================================================== */
/* .hexler_docs and .hexler_sidebar class tags are only located in the enclosing /_docs/index.html */

.hexler_docs .one-half,
.hexler_docs .one
{
    width: 100%;
    padding: 0;
    margin: 0;
}

/* reset Expression Engine list */

.nav_categories li,
.nav_categories ul,
.nav_categories ol,
.user_message li,
.user_message ul,
.user_message ol
{
    list-style-type: none;
    padding: 0;
    margin: 0;
    line-height: 0;
    display: inline-block;
    white-space: normal;
}

.user_message
{
    padding-top: 4.0rem;
}

.nav_categories a,
.nav_categories a:hover
{
    background-color: transparent;
}

.newer,
.older,
.pagination,
.hashtag
{
    font-family: "D-DIN-Condensed";
    background: transparent;
}

.newer,
.older,
.pagination
{
    padding: 1.0rem;
}

.hashtag
{
    padding: 1.0rem 0.5rem;
}

.paginate,
.wp-pagenavi
{
    display: block;
    width: 100%;
    text-align: center;
}

.wp-pagenavi .newer
{
    float: right;
}

.wp-pagenavi .older
{
    float: left;
}


/* prevent images located in folder /gfx/ embedded within <a> tags from displaying any interactive color */

a[href*="/gfx/"]
{
    background: transparent;
}

/* reset inconsistent use of Headline h tags in old Docs, best match new style guide */

.hexler_docs h1,
.hexler_docs h2,
.hexler_docs h3,
.hexler_docs h4,
.hexler_docs h5,
.hexler_docs h6
{
    font-size: calc(12px + 2rem);
    text-transform: inherit;
    padding: 1.0rem 0;
}

.hexler_docs h5,
.hexler_docs h4
{
    font-size: calc(12px + 3rem);
}

/* additional CSS targeting <h2> within Doc text, and also <h4> located within a <p> tag */

.hexler_docs h2,
.hexler_docs p + h4
{
    padding-top: 2.0rem;
    font-size: calc(12px + 2rem);
}

/* as above:reset inconsistent use of Headline tags in old Docs, in Sidebar */

.hexler_sidebar h1
{
    font-size: calc(10px + 6rem);
    text-transform: capitalize;
}

.hexler_sidebar h2
{
    font-size: calc(10px + 5rem);
    text-transform: capitalize;
}

.hexler_sidebar h3
{
    font-size: calc(10px + 4rem);
    text-transform: capitalize;
}

.hexler_sidebar h4
{
    font-size: calc(10px + 3rem);
    text-transform: capitalize;
}

.hexler_sidebar h5
{
    font-size: calc(10px + 2rem);
    text-transform: capitalize;
}

.hexler_sidebar h6
{
    font-size: calc(10px + 1rem);
    text-transform: capitalize;
}

.hexler_sidebar ul
{
    list-style-type: none;
}

/* reset inconsistent padding and List formatting in old Docs, in Sidebar */

.hexler_sidebar li
{
    font-family: "D-DIN-Condensed";
    margin-left: 2.0rem;
}

.hexler_sidebar a
{
    background: transparent;
}

.hexler_sidebar .one
{
    padding: 0 0 2.0rem 0;
}

.hexler_sidebar .section
{
    padding: 0 0 0 2.0rem;
}

.hexler_docs ul
{
    padding-bottom: 2.0rem;
}

.hexler_sidebar ul
{
    padding-bottom: 0.0rem;
}

/* delete old hexler.net and CSS/HTML not used in new web design NOTE: eventually find and replace all tags in mySQL */
/* class .doca (and corresponding .docb) is the Android | iOS JQuery switch Rob coded into the old Docs */

.doca,
.hexler_docs br,
.hexler_sidebar br,
.divider
{
    display: none;
}


/*  H E X L E R D E S I G N -- Responsive Navigation Bar
=================================================================================== */

@media screen and (max-width: 549px)
{
    .container
    {
        min-height: calc(100vh - 247px - 30px); /* push footer down */
    }

    .navleft,
    .navright,
    .navlogo,
    .footerleft,
    .footerright,
    .footermid
    {
        font-size: 2.0rem;
        line-height: 3.0rem;
        display: block;
        min-width: 100%;
        float: left;
        text-align: center;
        overflow: hidden;
        padding-left: 0;
        padding-right: 0;
        padding-top: 0;
    }

    .navleft
    {
        padding-top: 0;
        padding-bottom: 0;
    }

    .navlink
    {
        padding-top: 2.0rem;
        padding-bottom: 0.0rem;
    }

    .navright
    {
        padding-top: 2.0rem;
        padding-bottom: 2.0rem;
    }

    .hexler_search,
    .hexler_social
    {
        width: 100%;
    }

    .header
    {
        position: relative;
        width: 100%;
        z-index: 98;
        min-height: 30px;
    }

    .navlink
    {
        margin-left: calc(33.33333333% - 1.0rem);
        max-width: 33.33333333%;
    }

    .navlogo
    {
        display: none;
    }

    .footerright
    {
        padding-top: 1.5rem;
        padding-bottom: 0.0rem;
    }
}


/*  H E X L E R D E S I G N -- CSS only Hamburger menu
=================================================================================== */

.hamburger_bun,
#hamburger,
input[type=checkbox]#hamburger,
.hamburger_navlogo
{
    display: none;
}

.hamburger_open,
.hamburger_close
{
    position: relative;
    float: right;
    padding: 0.5rem 1rem 0 0;
    display: none;
    z-index: 99;
    cursor: pointer;
}

#click_for_more
{
    cursor: pointer;
}


@media screen and (max-width: 549px)
{
    .header
    {
        position: fixed;
        top: 0;
    }

    .container
    {
        margin-top: 30px; /* push footer down, and push content below header */
    }

    .hamburger_bun,
    #hamburger,
    .hamburger_flip,
    .hamburger_navlogo
    {
        display: block;
    }

    input[type=checkbox]#hamburger:checked ~ .hamburger_flip
    {
        display: none;
    }

    input[type=checkbox]#hamburger:checked ~ .hamburger_open
    {
        display: block;
        padding-bottom: 0rem;
        margin-bottom: -4.0rem;
    }

    input[type=checkbox]#hamburger:checked ~ .hamburger_close
    {
        display: none;
    }

    input[type=checkbox]#hamburger:not(:checked) ~ .hamburger_open
    {
        display: none;
    }

    input[type=checkbox]#hamburger:not(:checked) ~ .hamburger_close
    {
        display: block;
        margin-bottom: -4.0rem;
    }
}

/*  H E X L E R D E S I G N -- Custom design mess
=================================================================================== */

.sy-filler
{
    padding-top: ;
}

.column,
.columns
{
    padding: 2.0rem;
}

.centeralign
{
    text-align: center;
}

.app_icons
{
    width: 100px;
    max-width: 100px;
    padding: 1.0rem;
}

.download_button,
.store_badges,
.get_license
{
    font-family: "D-DIN-Condensed", sans-serif;
    display: inline-block;
    color: #555;
    text-align: center;
    font-size: 16px;
    font-weight: normal;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    width: 133px;
    height: 38px;
    line-height: 38px;
    border: 1px solid #BBB;
    background: #FFF;
    transition: all 0.8s ease 0s;
}

.download_button
{
    margin-right: 1.0rem;
    margin-bottom: 1.0rem;
}

.store_badges
{
    margin-right: 1.0rem;
    margin-top: 0.5rem;
    border-radius: 4.5px;
}

.download_button a
{
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    text-decoration: none !important;
}

.get_license
{
    border: 1px solid #22879a;
    background-color: #ecf8fa;
    color: #22879a;
}

.get_license:hover
{
    border: 1px solid #28A0B6;
    background-color: #22879a;
    color: #FFF;
}

.get_license_section
{
    margin-top: 2.5rem;
    color: #28A0B6 !important;
}

.get_license_section .download_button.get_license
{ /* note: no space between ".download_button.get_license" */
    margin-top: 2.5rem;
}

.discount_badge
{
    width: 50px;
    height: 50px;
    z-index: 89;
    top: -60px;
    left: -30px;
    display: block;
    position: relative;
    background-image: url('/site/images/design_elements/badges/50discount_badge.svg');
    background-repeat: no-repeat;
    background-position: right top;
}

.centerhack
{
    position: relative;
    padding: 3.0rem;
}

.hexler_excerpt
{
    display: block;
    overflow: hidden;
    height: 100%;
}

.hexler_excerpt br
{
    display: none;
}

@media screen and (min-width: 550px)
{
    .column .centerhack
    {
        width: 100%;
        height: 100%;
    }
}

@media screen and (min-width: 550px) and (max-width: 849px)
{
    .navleft
    {
        padding-top: 1.5rem;
    }

    .navright
    {
        padding-top: 2.3rem;
        padding-right: 2.0rem;
    }

    .container
    {
        min-height: calc(100vh - 157px - 87px); /* push footer down */
    }
}

/* px width here depends on the amount of items in the NAV / menu bar */

@media screen and (min-width: 850px)
{
    .navleft,
    .navright,
    .navlink,
    .footerlink
    {
        display: inline-block;
    }

    .navleft,
    .navlink
    {
        padding-top: 1.7rem;
    }

    .navright
    {
        padding-top: 2.3rem;
        padding-right: 2.0rem;
    }
}

.fullsizejumbotron
{ /* SLIPPRY SLIDER FIX */
    height: 190px;
}

.sy-filler
{ /* SLIPPRY SLIDER FIX */
    padding-top: 190px !important;
}

.jumbotron
{ /* SLIPPRY SLIDER FIX */
    min-height: 190px;
    transition: all 0.5s ease 0s;
}

@media screen and (min-width: 667px)
{
    .jumbotron
    {
        min-height: 50rem; /* was 66 rem */
        transition: all 0.5s ease 0s;
    }

    .fullheightjumbotron
    {
        min-height: 65vh;
    }

    .sy-filler
    { /* SLIPPRY SLIDER FIX: make this value the same as .fullheightjumbotron */
        padding-top: 65vh !important;
    }

    .centerhack
    {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 75%;
    }

    .category_name
    {
        margin-left: -2.0rem;
    }
}

.jumbotron
{
    position: relative;
    width: 100%;
    background-color: #222;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}

.jumbolink
{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-decoration: none;
    /* Makes sure the link doesn't get underlined */
    z-index: 90;
    /* raises anchor tag above everything else in div */
    background-color: rgb(255, 0, 0);
    /*workaround to make clickable in IE */
    opacity: 0;
    /*workaround to make clickable in IE */
    filter: alpha(opacity=0);
    /*workaround to make clickable in IE */
}

.jumbolink:hover
{
    opacity: 0.2;
}

.gel
{
    background-size: cover;
    background-color: transparent;
}

.gel:before
{
    content: "";
    position: absolute;
    top: 0px;
    left: -1px; /* -54rem = 864px; border thickness = 500px; cos(30deg) x 500+500px = 866px */
    width: calc(100% + 2px);
    height: calc(100%);
    background-color: rgba(57, 71, 84, 0.2);
    background-image: url('/site/images/design_elements/frame30.svg');
    background-position: center;
    background-size: cover;
}

.videowall
{
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    width: 100vw;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.videowall iframe
{
    height: 200%;
    width: 200%;
    transform: translate(-25%, -25%);
}

.hexler_search
{
    width: 100%;
    text-align: center;
}

#simple_search
{
    display: block;
}

#advanced_search
{
    display: none;
}

#s, #s_a
{
    max-width: 300px;
    width: calc(100% - 38px);
    height: 38px;
    line-height: 1;
}

.search_button
{
    width: 38px;
    height: 38px;
    border: 0;
    padding: 0;
}

.search_button .footerFA
{
    font-size: 1.6rem;
}

.search_results a
{
    color: #959aa4;
}

.search_results a:hover
{
    color: #151515;
}

.search_results h5
{
    color: #151515;
}

.search_results .small:nth-child(1)
{
    padding-top: 0.7rem;
}

.search_results .paginate a
{
    color: #151515;
}

@keyframes pulse
{
    0%
    {
        background-color: #28A0B6;
    }
}

#s:focus,
#s_a:focus
{
    animation: pulse 0.8s ease-out;
}

.footerlogo
{
    width: 38px;
    height: auto;
}

.privacy_alert
{
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #EEE;
    z-index: 9999;
    margin: 0;
    text-align: center;
    opacity: 0.95;
    border-top: 12px solid #000;
}

.privacy_alert h6,
.privacy_alert form
{
    display: inline-block;
    margin: 0;
}

.privacy_alert h6
{
    padding: 1.0rem;
}

.privacy_alert_buttons
{
    display: block;
}


/* Modal Download Popup
===================================================================================*/

.modal_overlay
{
    position: fixed;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    transition: opacity 200ms;
    visibility: hidden;
    opacity: 0;
}

.modal_overlay .modal_cancel
{
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: default;
}

.modal_overlay:target
{
    visibility: visible;
    opacity: 1;
}

.modal
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 2.0rem;
    background: #fff;
    border: 1px solid #DDD;
    width: 80%;
    max-width: calc(300px + 2.0rem);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.2);
}

.modal .modal_close
{
    position: absolute;
    float: right;
    width: 20px;
    height: 20px;
    top: 0px;
    right: 0px;
    opacity: 0.8;
    transition: all 200ms;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    color: #777;
}

.modal .modal_close:hover
{
    opacity: 1;
}

.modal .modal_content
{
    overflow: auto;
}

.modal_content_style *
{
    display: block;
    padding: 1.0rem 0.0rem;
}

.modal_content_style .download_button
{
    width: 100%;
    padding: 0;
}

.modal_compact .download_button
{
    display: inline-block;
    width: calc(50% - 0.5rem - 4px);
    margin-right: 0;
}

.modal_compact .download_button[href*=".zip"]
{
    margin-right: 1.0rem;
}


/* Buttons
===================================================================================*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"]
{
    font-family: "D-DIN-Condensed", sans-serif;
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #555;
    text-align: center;
    font-size: 16px;
    font-weight: normal;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0px;
    border: 1px solid #bbb;
    cursor: pointer;
    box-sizing: border-box;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus
{
    color: #333;
    border-color: #888;
    outline: 0;
}

.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary
{
    color: #FFF;
    background-color: #CB1B1B;
    border-color: #CB1B1B;
}

.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus
{
    color: #FFF;
    background-color: #FF1B1B;
    border-color: #FF1B1B;
}


/* Forms
=================================================================================== */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select
{
    height: 38px;
    padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
    background-color: #fff;
    border: 1px solid #D1D1D1;
    border-radius: 0px;
    box-shadow: none;
    box-sizing: border-box;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea
{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
}

textarea
{
    min-height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus
{
    border: 1px solid #28A0B6;
    outline: 0;
}

label,
legend
{
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}

fieldset
{
    padding: 0;
    border-width: 0;
}

input[type="checkbox"],
input[type="radio"]
{
    display: inline;
}

label > .label-body
{
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}


/* Lists
=================================================================================== */
ul
{
    list-style: disc inside;
}

ol
{
    list-style: decimal inside;
}

ol, ul
{
    padding-left: 0;
    margin-top: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}

ul ul,
ul ol,
ol ol,
ol ul
{
    margin: 0;
}

li
{
    margin-bottom: 0;
}


/* Code
=================================================================================== */

code
{
    padding: 0;
    margin: 0;
    font-size: 90%;
    white-space: pre;
    background: #F1F1F1;
    border: 1px solid #CCC;
    border-radius: 0px;
}

pre > code
{
    display: block;
    padding: 2.0rem;
    white-space: pre;
    overflow-x: scroll;
}


/* Tables
=================================================================================== */
th,
td
{
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #CCC;
}

th:first-child,
td:first-child
{
    padding-left: 0;
}

th:last-child,
td:last-child
{
    padding-right: 0;
}


/* Spacing
=================================================================================== */
button,
.button
{
    margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset
{
    margin-bottom: 1.5rem;
}

pre,
blockquote,
dl,
figure,
table,
p,
form
{
    margin-bottom: 2.5rem;
}


.hexler_search form,
.hexler_search input
{
    margin: 0.0rem;
}


/* Utilities
=================================================================================== */
.u-full-width
{
    width: 100%;
    box-sizing: border-box;
}

.u-max-full-width
{
    max-width: 100%;
    box-sizing: border-box;
}

.u-pull-right
{
    float: right;
}

.u-pull-left
{
    float: left;
}


/* Misc
=================================================================================== */
hr
{
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    border-width: 0;
    border-top: 1px solid #E1E1E1;
}


/* Clearing
=================================================================================== */
.container:after,
.row:after,
.u-cf
{
    content: "";
    display: table;
    clear: both;
}


/* Media Queries
=================================================================================== */
/* Larger than mobile */
@media (min-width: 400px)
{
}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px)
{
}

/* Larger than tablet */
@media (min-width: 750px)
{
}

/* Larger than desktop */
@media (min-width: 1400px)
{
}

/* Larger than Desktop HD */
@media (min-width: 2200px)
{
}

/*
=================================================================================== */

.container,
.header,
.footer {
    -webkit-animation: fadein 1.5s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1.5s; /* Firefox < 16 */
    -ms-animation: fadein 1.5s; /* Internet Explorer */
    -o-animation: fadein 1.5s; /* Opera < 12.1 */
    animation: fadein 1.5s;
}