/* Force vertical scrollbar, along with no margins or padding by default. */
html {
    overflow-y:scroll;
    margin:0;
    padding:0;
}

img {
    /* Fixes image behaving like text with kerning space for low-hanging characters. */
    /* https://stackoverflow.com/questions/10844205/html-5-strange-img-always-adds-3px-margin-at-bottom */
    vertical-align:sub;
    /* Image dragging */
    user-drag: none; 
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    /* w3css does this. */
    width:100%;
}

/* No padding classes */

.O_NoPaddingTB,.O_NoPaddingT {
    padding-top:0px !important;
}

.O_NoPaddingTB,.O_NoPaddingB {
    padding-bottom:0px !important;
}

/* Force height so element exists. */
.O_HaveHeight {
    height:1px;
}

.O_Block {
    display:block!important;
}

.O_Right {
    float:right;
}

.O_Clear {
    clear:both;
}

.O_Inline {
    display:inline;
}

.O_Baseline {
    vertical-align: baseline;
}

.O_Inline {
    display:inline-block;
}

.O_Relative {
    position:relative;
}

.O_Show {
    display:block;
}

.O_Overflow {
    overflow:hidden;
}

.O_Hidden {
    display:none;
}

.O_Inside {
    height:100%;
    width:100%;
}

.O_Pointer {
    cursor:pointer;
}

.O_Visible_None {
    display:none;
}

.O_Width {
    max-width:100%;
}

/* Medium changes */
@media (max-width:992px){
    .O_Visible_Large {
        display:none;
    }
}

/* Mobile changes */
@media (max-width:600px){
    .w3-mobile {
        max-width:none!important;
        max-height:none!important;
    }
    .O_Visible_Medium, .O_Visible_Large {
        display:none;
    }
}