.macro-root {
    overflow: hidden
}

.macro-container {
    transition: border-color .5s ease, opacity .5s ease;
    border-color: transparent;
    border-style: solid;
    border-width: 2px;
    box-sizing: border-box;
    min-width: 140px;
    min-height: 140px;
    background-color: grey;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.macro-buttons {
    transition: opacity .5s ease;
    opacity: 0;
    position: absolute;
    bottom: 5px;
    right: 5px;
    text-align: center;
}

.macro-button-delete-diagram {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMC41IDE2LjUgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMC41IDE2LjUgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIGZpbGw9IiM2NjY2NjYiIHBvaW50cz0iMS41LDE5LjUgMS41LDIwLjUgMTYuNSwyMC41IDE2LjUsMTkuNSAxNi41LDE4LjUgMTIuNSwxOC41IDExLjUsMTYuNSA2LjUsMTYuNSA1LjUsMTguNSAxLjUsMTguNSAgIi8+PHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTMuNSwyMS41djExaDExdi0xMUgzLjV6IE02LjUsMzAuNWgtMXYtN2gxVjMwLjV6IE05LjUsMzAuNWgtMXYtN2gxVjMwLjV6IE0xMi41LDMwLjVoLTF2LTdoMVYzMC41eiIvPjwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: center;
}

.macro-button-fullscreen {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 version=%271.1%27 x=%270px%27 y=%270px%27 width=%2716px%27 height=%2716px%27 viewBox=%270 0 16 16%27 enable-background=%27new 0 0 16 16%27 xml:space=%27preserve%27%3E%3Cg%3E%3Cpath d=%27M10,6 L15,1 M 10,1 L15,1 L15,6%27 stroke=%27%23666666%27 fill=%27none%27 stroke-linejoin=%27bevel%27 stroke-width=%271.5%27/%3E%3Cpath d=%27M6,10 L1,15 M 1,10 L1,15 L6,15%27 stroke=%27%23666666%27 fill=%27none%27 stroke-linejoin=%27bevel%27 stroke-width=%271.5%27/%3E%3C/g%3E%3C/svg%3E%0A");    background-repeat: no-repeat;
    background-size: 16px;
    background-position: center;
}

.macro-maximized .macro-button-fullscreen {
    background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KICA8cGF0aCBkPSJNMTAsNiBMMTUsMSBNIDEwLDEgTDEwLDYgTDE1LDYiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJiZXZlbCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4NCiAgPHBhdGggZD0iTTYsMTAgTDEsMTUgTSAxLDEwIEw2LDEwIEw2LDE1IiBzdHJva2U9IiMwMDAwMDAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIHN0cm9rZS13aWR0aD0iMS41Ii8+DQo8L2c+DQo8L3N2Zz4=);
}

.macro-maximized .macro-button-edit-diagram,
.macro-maximized .macro-button-delete-diagram {
    visibility: hidden;
}

.macro-container:hover, .macro-maximized .macro-container {
    border-color: lightgrey;
}

.macro-container:hover .macro-buttons, .macro-maximized .macro-container .macro-buttons {
    opacity: 1;
}

.macro-container:hover .macro-toolbar {
    opacity: 1;
}

.macro-container:hover .macro-banner {
    opacity: 1;
}

.macro-button {
    border-radius: 50%;
    background-color: white;
    border-color: lightgrey;
    border-style: solid;
    border-width: 2px;
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    line-height: 30px;
    color: #666666;
}

.macro-button:hover {
    background-color: lightgrey;
    cursor: pointer;
}

.macro-image {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.macro-toolbar {
    transition: .5s ease;
    opacity: 0;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f7f7f7;
    padding: 5px 0 5px 0;
    text-align: left;
}

.macro-diagramName {
    word-wrap: break-word;
    text-align: center;
    color: #757575;
    height: 20px;
    width: 100%;
    min-width: 140px;
    position: absolute;
    bottom: -20px;
}

#macro-scene-title {
    display: none;
    pointer-events: none;
    position: absolute;
    bottom: 5px;
    left: 5px;
    text-align: left;
    padding: 2px 4px;
    background-color: rgba(255, 255, 255, 0.75);
}

#macro-toolbar-scene-navigation {
    float: right;
    margin: 0 5px;
}

.macro-toolbar-scene-navigation-none {
    display: none;
}

.macro-toolbar-button {
    width: 25px;
    height: 25px;
    margin: 0 0 0 5px;
    background-repeat: no-repeat;
    background-color: #f7f7f7;
    background-position: center;
    border: none;
}

.macro-toolbar-button:hover {
    background-color: #dedede;
    cursor: pointer;
}

.macro-toolbar-button-fit-content {
    background-image: url("data:image/svg+xml,%3C%3Fxml version=%271.0%27 encoding=%27utf-8%27%3F%3E%3Csvg version=%271.1%27 xmlns=%27http://www.w3.org/2000/svg%27 x=%270px%27 y=%270px%27 width=%2716px%27 height=%2716px%27 viewBox=%270.5 16.5 16 16%27 enable-background=%27new 0.5 16.5 16 16%27 xml:space=%27preserve%27%3E%3Cg%3E%3Cpolygon fill=%27%23666666%27 points=%271.5,17.5 1.5,22.5 6.5,17.5%27/%3E%3Cpolygon fill=%27%23666666%27 points=%2715.5,17.5 10.5,17.5 15.5,22.5%27/%3E%3Cpolygon fill=%27%23666666%27 points=%2715.5,31.5 15.5,26.5 10.5,31.5%27/%3E%3Cpolygon fill=%27%23666666%27 points=%271.5,31.5 1.5,26.5 6.5,31.5%27/%3E%3C/g%3E%3C/svg%3E%0A");
}

.macro-toolbar-button-scene-previous {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTZweCIgZmlsbD0iIzVmNjM2OCI+PHBhdGggZD0iTTAgMGgxNnYxNkgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMC4zIDQuOUw5LjMgNGwtNCA0IDQgNCAwLjktMC45TDcuMiA4eiIvPjwvc3ZnPg==);
}

.macro-toolbar-button-scene-next {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTZweCIgZmlsbD0iIzVmNjM2OCI+PHBhdGggZD0iTTAgMGgxNnYxNkgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik02LjcgNEw1LjcgNC45IDguOCA4bC0zLjEgMy4xTDYuNyAxMmw0LTR6Ii8+PC9zdmc+);
}

.macro-toolbar-button-increase-zoom {
    background-image: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAuNSAxNi41IDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAuNSAxNi41IDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPiAgICANCiAgICA8cGF0aCBmaWxsPSIjNjY2NjY2IiBkPSJNMTAuNSwxNi41Yy0zLjMxMywwLTYsMi42ODctNiw2YzAsMS4wNDMsMC4yNjcsMi4wMjMsMC43MzUsMi44NzhMMC41LDMwLjExM0wyLjg4NywzMi41ICAgICBsNC43MzUtNC43MzVDOC40NzcsMjguMjMyLDkuNDU3LDI4LjUsMTAuNSwyOC41YzMuMzEzLDAsNi0yLjY4Nyw2LTZTMTMuODEzLDE2LjUsMTAuNSwxNi41eiBNMTQuNSwyMy41aC0zdjNoLTJ2LTNoLTN2LTJoM3YtM2gyICAgICB2M2gzVjIzLjV6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==);
}

.macro-toolbar-button-decrease-zoom {
    background-image: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAuNSAxNi41IDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAuNSAxNi41IDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPiAgICANCiAgICA8cGF0aCBmaWxsPSIjNjY2NjY2IiBkPSJNMTAuNSwxNi41Yy0zLjMxMywwLTYsMi42ODctNiw2YzAsMS4wNDMsMC4yNjcsMi4wMjMsMC43MzUsMi44NzhMMC41LDMwLjExM0wyLjg4NywzMi41ICAgICBsNC43MzUtNC43MzVDOC40NzcsMjguMjMyLDkuNDU3LDI4LjUsMTAuNSwyOC41YzMuMzEzLDAsNi0yLjY4Nyw2LTZTMTMuODEzLDE2LjUsMTAuNSwxNi41eiBNMTQuNSwyMy41aC04di0yaDhWMjMuNXoiLz4NCjwvZz4NCjwvc3ZnPg0K);
}

.macro-error-button-add-diagram {
    background-image: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNiAxNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTksNVYwSDJ2MTZoMTJWNUg5eiBNMTIsMTJoLTJ2Mkg5di0ySDd2LTFoMlY5aDF2MmgyVjEyeiIvPjxwb2x5Z29uIGZpbGw9IiM2NjY2NjYiIHBvaW50cz0iMTQsNCAxMCwwIDEwLDQiLz48L2c+PC9zdmc+);
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: center;
}

.macro-error-button-delete-diagram {
    background-image: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMC41IDE2LjUgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMC41IDE2LjUgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIGZpbGw9IiM2NjY2NjYiIHBvaW50cz0iMS41LDE5LjUgMS41LDIwLjUgMTYuNSwyMC41IDE2LjUsMTkuNSAxNi41LDE4LjUgMTIuNSwxOC41IDExLjUsMTYuNSA2LjUsMTYuNSA1LjUsMTguNSAxLjUsMTguNSAgIi8+PHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTMuNSwyMS41djExaDExdi0xMUgzLjV6IE02LjUsMzAuNWgtMXYtN2gxVjMwLjV6IE05LjUsMzAuNWgtMXYtN2gxVjMwLjV6IE0xMi41LDMwLjVoLTF2LTdoMVYzMC41eiIvPjwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: center;
}

.macro-scroll-message {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    vertical-align: middle;
    line-height: 100%;
    font-size: 20px;
    z-index: 100;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, right 1s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
    height: 100%;
}

.macro-scroll-message.show-message {
    opacity: 1;
}

.macro-scroll-message span {
    pointer-events: none;
    vertical-align: middle;
    background-color: #c0fc1a;
    color: black;
    border-radius: 4px;
    padding: 5px 10px;
    margin: 1rem;
    box-shadow: 0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);
}

.macro-error-container {
    height: 400px;
    border-color: lightgrey;
    border-style: solid;
    border-width: 2px;
}

.macro-error-buttons {
    position: absolute;
    top: calc(50% - 30px);
    left: calc(50% - 66px);
}

.macro-error-buttons-single {
    position: absolute;
    top: calc(50% - 30px);
    left: calc(50% - 30px);
}

.macro-error-buttons-single-wide {
    left: calc(50% - 200px);
}

.macro-error-button {
    border-radius: 50%;
    background-color: white;
    background-repeat: no-repeat;
    border-color: lightgrey;
    border-style: solid;
    border-width: 2px;
    width: 60px;
    height: 60px;
    display: inline-block;
}

.button-text {
    position: absolute;
    bottom: -1.5em;
    text-align: center;
    width: 60px;
}

.button-text-wide {
    position: absolute;
    bottom: -1.5em;
    text-align: center;
    width: 400px;
}

.macro-error-button:hover {
    background-color: lightgrey;
    cursor: pointer;
}

.macro-error-toolbar {
    transition: .5s ease;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f7f7f7;
    padding: 5px 0 5px 0;
    text-align: left;
}

.macro-error-toolbar-button {
    width: 25px;
    height: 25px;
    margin: 0 0 0 5px;
    background-repeat: no-repeat;
    background-color: #f7f7f7;
    background-position: center;
    border: none;
}

.macro-error-shadow {
    background-color: #000000;
    opacity: 0.025;
    width: 100%;
    height: 100%;
}

.license-error {
    position: absolute;
    text-align: center;
    margin-top: 45px;
    width: 100%;
}

/*#insert-menu .macro-ydiagram .icon {*/
/*    background: transparent url("icons/plugin-icon-inverted.svg") 0 0 no-repeat !important;*/
/*    margin-top: 0px;*/
/*}*/

.viewer-root {
    position: relative;
    font-size: 14px;
    font-weight: normal;
    font-style: normal;
    color: #172b4d;
    min-width: 140px;
    min-height: 140px;
    box-sizing: border-box;
}

.macro-maximized .viewer-root {
    position: fixed;
    left: 100px;
    right: 100px;
    top: 100px;
    bottom: 100px;
    background-color: #fff;
    z-index: 999999;
    margin: 0 !important;
    width: initial !important;
    height: initial !important;
}

.macro-maximized .macro-container {
    max-width: 100% !important;
    max-height: 100% !important;
    height: 100% !important;
    width: 100% !important;
}

.macro-banner {
    transition: .5s ease;
    opacity: 0;
    background-color: rgba(255, 165, 0, 0.5);
    width: 100%;
    position: absolute;
    text-align: left;
    pointer-events: none;
    box-sizing: border-box;
    left: 0;
    padding: 0 5px;
    animation:macro-banner 8s ease-in-out 1;
    -webkit-animation:macro-banner 8s ease-in-out 1;
    animation-fill-mode: none;
    -webkit-animation-fill-mode: none;
}

.version-mismatch {
    top: 40px;
}

.no-edit {
    bottom: 5px;
}

@keyframes macro-banner{
    0% {opacity :0;}
    10% {opacity :1;}
    90% {opacity :1;}
    100% {opacity :0;}
}

@-webkit-keyframes macro-banner{
    0% {opacity :0;}
    10% {opacity :1;}
    90% {opacity :1;}
    100% {opacity :0;}
}

