Gradient header with triangle

HTML

<div class="content-box">
    <header>
        <h1>Foo bar baz</h1>
    </header>
    <i class="triangle"></i>
    <div class="content">
        <p>Getting the triangle to have the same gradient as the header is a bit tricky.</p>
        <ol>
            <li>Create a vertical gradient in the header</li>
            <li>Create a square element positioned absolutely</li>
            <li>Add the same gradient as the header except diagonally at 45deg to the square element</li>
            <li>Rotate the square element 45 degrees</li>
            <li>For pixel precision, make sure the square element is as tall as the header when rotated</li>
            <li>Put a border on the left and bottom of the square element</li>
            <li>Position the header relative and give it a z-index of 1</li>
            <li>Position the square element absolutely behind the header</li>
        </ol>
    </div>
</div>

CSS

body {
    padding: 20px;
    font-family: helvetica, arial;
    color: #505354;
}

.content-box {
    border: solid 1px #A8ADB3;
    margin-left: 20px;
    background: #fcfeff;
    position: relative;
    -webkit-box-shadow: 0 1px 1px 0px #dee0e3;
    -moz-box-shadow: 0 1px 1px 0px #dee0e3;
    box-shadow: 0 1px 1px 0px #dee0e3;
}

.content-box header {
    position: relative;
    z-index: 1;
    color: #000;
    text-shadow: 0 1px 0 rgba(255,255,255,0.8);
    padding: 10px;
    border-bottom: solid 1px #A8ADB3;
    background-color: #e6f0f9;
    background-image: -moz-linear-gradient(top, #edf4fb, #dceaf7);
    background-image: -ms-linear-gradient(top, #edf4fb, #dceaf7);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#edf4fb), to(#dceaf7));
    background-image: -webkit-linear-gradient(top, #edf4fb, #dceaf7);
    background-image: -o-linear-gradient(top, #edf4fb, #dceaf7);
    background-image: linear-gradient(top, #edf4fb, #dceaf7);
    background-repeat: repeat-x;
}

.triangle {
    display: block;
    height: 25px;
    width: 25px;
    position: absolute;
    top: 6px;
    left: -5px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    background: #d7e7f5;
    border: solid 1px #a8adb3;
    border-right: none;
    border-top: none;
    background-color: #dceaf7;
    background-repeat: repeat-x;
    background-image: -moz-linear-gradient(45deg, #edf4fb, #dceaf7);
    background-image: -ms-linear-gradient(45deg, #edf4fb, #dceaf7);
    background-image: -webkit-linear-gradient(45deg, #edf4fb, #dceaf7);
    background-image: -o-linear-gradient(45deg, #edf4fb, #dceaf7);
    background-image: linear-gradient(45deg, #edf4fb, #dceaf7);
    -webkit-box-shadow: 0 1px 1px 0px #dee0e3;
    -moz-box-shadow: 0 1px 1px 0px #dee0e3;
    box-shadow: 0 1px 1px 0px #dee0e3;
}

.content-box .content {
    padding: 10px;
}

ol {
   ...