<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
    <title>Ryan Garns</title>
    <meta charset="utf-8" />
    <meta name="description" content="Ryan Garns, and so forth...">
    <meta name="keywords"
        content="writing, writer, comedy, humor, satire, sketch comedy, Contraption, thriller, ebook, paperback, hardcover, novel, fiction">
    <meta name="author" content="Ryan Garns">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <!-- Bootstrap -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz"
        crossorigin="anonymous"></script>
    <!-- jQuery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
    <!-- Fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Patua+One&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Voltaire&display=swap" rel="stylesheet">
    <link
        href="https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
        rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Bowlby+One+SC&display=swap" rel="stylesheet">
    <link
        href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@100;200;300;400;500;600;700;800;900&display=swap"
        rel="stylesheet">
    <!-- Test Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Fascinate&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Poller+One&display=swap" rel="stylesheet">
    <style>
        @media (min-width: 1800px) {
            .bookimg {
                /* border: 1px solid lightgrey; */
                /* border: 4px solid blue; */
                max-height: 620px;
            }

            .announce {
                font-size: 1.8rem;
            }
        }

        @media (max-width: 1600px) {
            .bookimg {
                /* border: 1px solid lightgrey; */
                /* border: 4px solid blue; */
                max-height: 550px;
            }

            .announce {
                font-size: 1.8rem;
            }
        }

        @media (max-width: 1200px) {
            .bookimg {
                /* border: 1px solid lightgrey; */
                /* border: 4px solid red; */
                max-height: 550px;
            }

            .announce {
                font-size: 1.5rem;
            }
        }

        @media (max-width: 1000px) {
            .bookimg {
                /* border: 1px solid lightgrey; */
                max-height: 350px;
            }

            .announce {
                font-size: 1.2rem;
            }
        }

        .bullet {
            margin: 0 18px 0 18px;
        }

        .btn-secondary,
        .btn-secondary:active,
        .btn-secondary:visited {
            color: whitesmoke;
            background-color: steelblue !important;
        }

        .btn-secondary:hover {
            color: whitesmoke;
            background-color: silver !important;
        }

        /* .btn-warning, .btn-warning:active, .btn-warning:visited {
            color: whitesmoke;
            background-color: steelblue !important;
        } */
        .btn-warning:hover {
            color: whitesmoke;
            background-color: silver !important;
        }

        body {
            font-family: 'Crimson Pro';
            font-size: 1.6rem;
            /* color: black; */
            color: #353535;
            /* background-color: whitesmoke; */
            background-color: #EFECE7;
            /* background: url('paper3.jpg'); */
            /* background: url('paper.png'); */
            background: url('assets/paper02.png');
            /* background: url('paper.jpg'); */
            /* background: url('paper2.jpg'); */
            background-size: auto;
            /* background-size: 100%; */
        }

        /* p {
            quotes: "“" "”" "‘" "’";
        } */

        h1 {
            /* font-family: 'Voltaire'; */
            font-family: 'Bowlby One SC';
        }

        h1.booktitle {
            /* font-family: 'Poller One', cursive; */
            font-family: 'Bowlby One SC';
            margin-top: 20px;
            text-transform: uppercase;
            color: orangered;
            /* font-weight: bold; */
        }

        h1.comingsoon {
            /* color: #353535; */
            /* color: black; */
            font-weight: bold;
        }

        h2 {
            line-height: 1.5em;
        }

        h2.author {
            /* font-family: 'Voltaire'; */
            font-family: 'Bowlby One SC';
            text-transform: uppercase;
            color: orangered;
            /* font-weight: bold; */
        }

        h3 {
            margin-top: 30px;
            font-style: italic;
        }

        a {
            text-decoration: none;
        }

        .sitetitle {
            font-family: 'Voltaire';
            color: gray;
            font-size: 1.5rem;
            text-transform: uppercase;
        }

        .quote {
            font-size: 1.7rem;
        }

        .tagline {
            /* font-family: 'Slackey'; */
            /* font-family: 'Londrina Solid'; */
            /* font-family: 'Bowlby One SC'; */
            /* font-family: 'Big Shoulders Display'; */
            font-weight: 500;
            /* font-size: larger; */
            /* text-transform: uppercase; */
            /* font-variant-caps: all-small-caps; */
            line-height: 1.3em;
            /* color: steelblue; */
        }

        .announce {
            /* font-family: 'Bowlby One SC'; */
            /* font-family: 'Slackey'; */
            /* font-family: 'Crimson Pro'; */
            /* text-transform: uppercase; */
            /* font-size: 1.8rem; */
            color: steelblue;
        }

        .boxshadow {
            box-shadow: -8px 5px 10px 2px rgba(0, 0, 0, 0.4);
        }

        .txtshadow {
            /* text-shadow: 2px 2px black; */
            text-shadow: 2px 2px #353535;
        }

        .btnlbl {
            font-family: 'Bowlby One SC';
            font-size: x-large;
            /* text-transform: uppercase; */
        }

        .pstart {
            font-variant-caps: all-small-caps;
            font-weight: bold;
        }

        /* The Modal (background) */
        .modal {
            display: none;
            /* Hidden by default */
            position: fixed;
            /* Stay in place */
            z-index: 1 !important;
            /* Sit on top */
            left: 0;
            top: 0;
            width: 100%;
            /* Full width */
            height: 100%;
            /* Full height */
            overflow: auto;
            /* Enable scroll if needed */
            background-color: rgb(0, 0, 0);
            /* Fallback color */
            background-color: rgba(0, 0, 0, 0.4);
            /* Black w/ opacity */
        }

        /* Modal Content/Box */
        .modal-content {
            background-color: whitesmoke;
            margin: 20% auto;
            /* 15% from the top and centered */
            padding: 3px 20px 20px 20px;
            border: 1px solid #888;
            width: 60%;
            /* Could be more or less, depending on screen size */
        }

        /* The Close Button */
        .close {
            color: #aaa;
            /* float: right; */
            text-align: right;
            font-size: 20px;
            font-weight: bold;
        }

        .close:hover,
        .close:focus {
            color: gray;
            text-decoration: none;
            cursor: pointer;
        }

        #cover {
            position: fixed;
            height: 100%;
            width: 100%;
            top: 0;
            left: 0;
            background: #EFECE7;
            z-index: 9999;
        }
    </style>
</head>

<body>
    <div id="cover">
        <div class="d-flex justify-content-center">
            <div class="spinner-border text-secondary" role="status" style="margin-top: 200px;">
                <span class="visually-hidden">Loading...</span>
            </div>
        </div>
    </div>
    <!-- NAVIGATION -->
    <nav class="navbar sticky-top navbar-expand-lg border-bottom border-dark-subtle"
        style="background: url('assets/paper02.png'); background-size: auto;">
        <!-- <nav class="navbar sticky-top navbar-expand-lg bg-dark border-bottom border-bottom-dark" data-bs-theme="dark"> -->
        <div class="container-fluid">
            <a class="navbar-brand sitetitle" href="index.html">Ryan Garns</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup"
                aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse justify-content-end" id="navbarNavAltMarkup">
                <div class="navbar-nav">
                    <a class="nav-link sitetitle" aria-current="page" href="index.html">Home</a>
                    <a class="nav-link sitetitle" href="#" id="myBtn">About</a>
                </div>
            </div>
        </div>
    </nav>

    <!-- CONTENT -->
    <div class="container-sm">
        <div class="row">
                    </div>
        <div class="row">
            &nbsp;
        </div>
        <div class="row">
            <div class="col-lg-5 text-center">
                <div class="row">
                    <div class="col-lg-12 d-flex align-items-center">
                        <img class="img-fluid mx-auto d-block bookimg boxshadow" src="assets/contraption-web-cover.png"
                            alt="Contraption book cover" />
                    </div>
                </div>
                <!-- <div class="row">
                    <div class="col-lg-12">
                        <div id="carouselExampleIndicators" class="carousel slide">
                            <div class="carousel-indicators">
                              <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
                              <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
                              <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
                            </div>
                            <div class="carousel-inner">
                              <div class="carousel-item active">
                                <img src="foo04.jpg" class="d-block bookimg" alt="...">
                              </div>
                              <div class="carousel-item">
                                <img src="foo16.jpg" class="d-block bookimg" alt="...">
                              </div>
                              <div class="carousel-item">
                                <img src="foo18.jpg" class="d-block bookimg" alt="...">
                              </div>
                            </div>
                            <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
                              <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                              <span class="visually-hidden">Previous</span>
                            </button>
                            <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
                              <span class="carousel-control-next-icon" aria-hidden="true"></span>
                              <span class="visually-hidden">Next</span>
                            </button>
                          </div>
                    </div>
                </div> -->
            </div>
            <div class="col-lg-7">
                <div class="row text-center" style="margin-top: 20px;">
                    <h1 class="display-6 comingsoon"><em>Available Now!</em></h1>
                    <h1 class="display-5 announce">Hardcover <span class="bullet">&#x26AC;</span> Paperback <span
                            class="bullet">&#x26AC;</span> E-Book</h1>
                </div>
                <div class="row text-center">
                    <h1 class="display-1 txtshadow booktitle">Contraption</h1>
                    <p class="text-center tagline">
                    </p>
                    <h2>A Comic Thriller</h2>
                    <h4>by</h4>
                    <h2 class="display-4 txtshadow author">Ryan Garns</h2>
                </div>
                <div class="row" style="margin-top: 20px;">
                    <p class="text-center tagline">
                    </p>
                </div>
                <div class="row">
                    <div class="d-grid gap-2 d-md-flex justify-content-center">
                        <a href="https://www.amazon.com/dp/B0CN157STY" target="_blank" role="button"
                            class="btn btn-lg btn-warning btnlbl">Buy on Amazon</a>
                        <a href="assets/ContraptionSample.pdf" target="_blank" role="button"
                            class="btn btn-lg btn-secondary btnlbl">Read First Chapter</a>
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            &nbsp;
        </div>
        <div class="row" style="margin-top: 20px;">
            <p class="quote text-center" style="font-weight: bold; font-style: italic;">
                A fast and funny debut novel with a MacGuffin that messes with your mind.
            </p>
        </div>
        <div class="row">
            <div class="col-lg-12" style="text-align: justify;">
                <p>
                    <span class="pstart">Shawn Riley is a</span> stand-up comedian in stagnation. He’s divorced, he’s
                    middle-aged, and his career has all the momentum of a millennial working a stick shift. It turns out
                    he’s also the perfect decoy for anyone looking to throw a bunch of bad guys off their trail. So
                    before you can say “tin foil hat,” Shawn finds himself knee-deep in spies, hitmen, and cultists
                    seeking a mysterious weapon that tampers with the human brain. Shawn is accustomed to life on the
                    road but not on the lam, so he’ll have to survive on only rapid-fire one-liners and his rocky
                    relationship with an attractive reporter.
                </p>
                <p>
                    So what’s this book like? It’s like Alfred Hitchcock meets Albert Brooks. Or <em>Killing Floor</em>
                    meets <em>Right Ho, Jeeves</em>. Or maybe it’s <em>Naked Lunch</em> meets <em>Little Women</em>, I
                    don’t know. Look, you’ve read this far, so admit you’re interested and pick up a copy of
                    <em>Contraption</em>.
                </p>
                <!-- <span class="quote"><em>&ldquo;Purchase-enticing quote goes here!&rdquo;</em> &mdash;Ryan Garns</span> -->
            </div>
        </div>
        <div class="row">
            &nbsp;
        </div>
        <div class="row">
            <div class="col-lg-3"></div>
            <div class="col-lg-6">
                <h1>Contact Ryan</h1>
                <form action="index.php" method="post">
                    <input type="hidden" name="sendmsg" value="true"/>
                    <div class="mb-3">
                        <label for="inputEmail" class="form-label">Your Email Address:</label>
                        <input type="email" class="form-control" value="" id="inputEmail" aria-describedby="emailHelp" name="email" maxlength="100">
                    </div>
                    <!-- <div class="mb-3">
                        <label>I Am A (Choose One):</label>

                        <input type="radio" class="btn-check" name="options-base" id="option1" autocomplete="off" value="">
                        <label class="btn" for="option1"></label>

                        <input type="radio" class="btn-check" name="options-base" id="option2" autocomplete="off" value="">
                        <label class="btn" for="option2"></label>

                        <input type="radio" class="btn-check" name="options-base" id="option3" autocomplete="off" value="">
                        <label class="btn" for="option3"></label>
                    </div> -->
                    <div class="mb-3">
                        <label for="inputTextArea" class="form-label">Message (Max 1,200 characters):</label>
                        <textarea class="form-control" id="inputTextArea" rows="4" name="message" maxlength="1200"></textarea>
                    </div>
                    <button type="submit" class="btn btn-secondary btnlbl">Submit</button>
                </form>
            </div>
            <div class="col-lg-3"></div>
        </div>
        <div class="row">
            &nbsp;
        </div>
        <div class="row">
            <div class="col-xs-12 text-center" style="margin: 20px;">
                Copyright &copy; 2026 by Ryan Garns
            </div>
        </div>
    </div>

    <!-- The Modal -->
    <div id="myModal" class="modal">

        <!-- Modal content -->
        <div class="modal-content">
            <span class="close">&times</span>
            <h2>About Ryan Garns</h2>
            <p>
                Ryan Garns has spent much of his life lurking among polite society, never daring to reveal his twisted
                ambitions as a comedy writer. Nevertheless, he has been known to write, produce, and direct sketch
                comedy shows for the stage in Los Angeles. He has also cut his teeth performing stand-up material and
                writing humor columns, stage plays, and screenplays. <em>Contraption</em> is his debut novel, and he is
                already writing his next called <em>Untitled 80,000-Word Hole To Fill</em>.
            </p>
            <p>
            </p>
            <p>
                <a href="https://twitter.com/ryangarns" target="_blank">
                    <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor"
                        class="bi bi-twitter-x" viewBox="0 0 16 16">
                        <path
                            d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z" />
                    </svg>
                </a>
                &nbsp;
                <a href="https://www.facebook.com/ryan.garns/" target="_blank">
                    <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor"
                        class="bi bi-facebook" viewBox="0 0 16 16">
                        <path
                            d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z" />
                    </svg>
                </a>
                <!-- &nbsp;
                <a href="">
                    <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor"
                        class="bi bi-envelope" viewBox="0 0 16 16">
                        <path
                            d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z" />
                    </svg>
                </a> -->
            </p>
        </div>

    </div>

    <!-- MODAL LOGIC -->
    <script>
        // Get the modal
        var modal = document.getElementById("myModal");

        // Get the button that opens the modal
        var btn = document.getElementById("myBtn");

        // Get the <span> element that closes the modal
        var span = document.getElementsByClassName("close")[0];

        // When the user clicks the button, open the modal 
        btn.onclick = function () {
            modal.style.display = "block";
        }

        // When the user clicks on <span> (x), close the modal
        span.onclick = function () {
            modal.style.display = "none";
        }

        // When the user clicks anywhere outside of the modal, close it
        window.onclick = function (event) {
            if (event.target == modal) {
                modal.style.display = "none";
            }
        }

        $(window).on('load', function () {
            $("#cover").hide();
        });
    </script>

</body>

</html>