<!DOCTYPE html>
<html>
<head>
<style>
body {
    padding: 0;
    margin: 0;
    text-align: justify;
    font-family: Palatino, Georgia, serif;
    font-size: 10px;
    -webkit-hyphens: auto;
    text-align: justify;
    line-height: 1.2em;
    width: 400px;
}

.regionColumns {
    float: left;
    overflow: hidden;
}

.columnLeftBorder {
    border-left: 1px solid lightgray;
    padding-left: 3%;
    margin-left: 3%;
}

#region1 { width: 100%; }

.shape {
    width: 100px;
    height: 100px;
}

#circleShape {
    float: left;
    -webkit-shape-outside: circle(closest-side at center);
    -webkit-shape-margin: 2px;
    -webkit-clip-path: circle(closest-side at center);
    background-color: green;
}

#imageShape {
    float: left;
    /* Relative to RegionsShapesNoRegions.html */
    background-image: url("./resources/shape.gif");
    -webkit-shape-outside: url("./resources/shape.gif");
    -webkit-shape-margin: 2px;
    width: 200px;
    height: 200px;
}

#insetShape {
    float: right;
    -webkit-shape-outside: inset(5px);
    -webkit-clip-path: inset(5px);
    -webkit-shape-margin: 4px;
    background-color: red;
    border: 1px solid black;
}

#roundedInsetShape {
    float: right;
    -webkit-shape-outside: inset(5px round 64px 32px 16px 36px);
    -webkit-clip-path: inset(5px round 64px 32px 16px 36px);
    -webkit-shape-margin: 4px;
    background-color: lightblue;
    opacity: 0.4;
    border: 1px solid black;
}

#triangleLeft {
    float: left;
    -webkit-shape-outside: polygon(0 0, 100% 50%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
    -webkit-shape-margin: 4px;
    background-color: yellow;
    opacity: 0.4;
}

#triangleRight {
    float: right;
    -webkit-shape-outside: polygon(100% 0, 0 50%, 100% 100%);
    -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
    -webkit-shape-margin: 4px;
    background-color: orange;
}

#selfIntersectingStar {
    float: left;
    -webkit-shape-outside: polygon(50% 0, 100% 100%, 0 34%, 100% 34%, 0 100%);
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 34%, 100% 34%, 0 100%);
    -webkit-shape-margin: 4px;
    background-color: blue;
    width: 100px;
    height: 200px;
}
</style>
</head>

<body>
<div id="region1" class="regionColumns">
    <p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>

    <p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>

    <p>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tin

    cidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>

    <p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis

    rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per
    conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>

    <p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>

    <p><div id="circleShape" class="shape"></div>Donec sodales

    commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Cur
    abitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
    Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
    Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
    <div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>

    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>

    <p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique

    mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>

    <p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
    </article>

    <article>
    <p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>

    <p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>

    <p>>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tincidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>

    <p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>

    <p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>

    <p><div id="circleShape" class="shape"></div>Donec sodales commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Curabitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
    Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
    Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
    <div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>

    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>

    <p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique mauris magna eu enim. Praesent vel nisl sodales, fringilla mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>

    <p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
    </article>

    <article>
    <p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>

    <p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>

    <p>>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tincidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>

    <p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>

    <p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>

    <p><div id="circleShape" class="shape"></div>Donec sodales commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Curabitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
    Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
    Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
    <div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>

    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>

    <p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique mauris magna eu enim. Praesent vel nisl sodales, fringilla mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>

    <p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
</div>
</body>
</html>
