@font-face{font-family:'Visby CF';src:url(fonts/VisbyCF-Bold.woff2) format('woff2'),url(fonts/VisbyCF-Bold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Visby CF';src:url(fonts/VisbyCF-RegularOblique.woff2) format('woff2'),url(fonts/VisbyCF-RegularOblique.woff) format('woff');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'Visby CF';src:url(fonts/VisbyCF-Regular.woff2) format('woff2'),url(fonts/VisbyCF-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face { font-family: 'Visby CF'; src: url('fonts/VisbyCF-Medium.woff2') format('woff2'),url('fonts/VisbyCF-Medium.woff') format('woff'); font-weight: 500; font-style: normal; font-display: swap; }



:root {
  --font: "Visby CF", Visby CF, sans-serif;

  --red: #db2139;
  --dark: #141010;
  --light: #f0f0f0;
  --text: #201b1b;
  --textlight: #7f7779;
}

* { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; }
html { font-size: 62.5%; }
body { font-size: 1.7rem; color: var(--text); font-weight: 400; font-family: var(--font); padding-bottom: 0 !important;}
.sr-only, .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
i[class*="icon"], span[class*="icon"] { display: inline-block; -webkit-background-size: contain; background-size: contain; background-repeat: no-repeat; background-position: center; }
.container { max-width: 1450px; margin: 0 auto; }
a, a:hover, a:focus { -webkit-transition: all 0.3s; transition: all 0.3s; color: unset; text-decoration: none; }

.icon-facebook { background-image: url(i/icon-social-1.svg); }
.icon-pinterest { background-image: url(i/icon-social-2.svg); }
.icon-instagram { background-image: url(i/icon-social-3.svg); }
.icon-menu { background-image: url(i/icon-menu.svg); width: 30px; height: 30px; }



.navigation ul li a i {
  background-image: url(i/icon-generic.svg);
}

.navigation ul li a i.icon-nav-blog {
  background-image: url(i/icon-nav-blog.svg);
}

.navigation ul li a i[data-cat-name*="Word Search"] {
  background-image: url(i/icon-nav-1.svg);
}

.navigation ul li a i[data-cat-name*="Christmas"] {
  background-image: url(i/icon-nav-7.svg);
}

.navigation ul li a i[data-cat-name*="Distance"] {
  background-image: url(i/icon-nav-2.svg);
}

.navigation ul li a i[data-cat-name*="French"] {
  background-image: url(i/icon-nav-3.svg);
}

.navigation ul li a i[data-cat-name*="Google"] {
  background-image: url(i/icon-nav-4.svg);
}

.navigation ul li a i[data-cat-name*="Hallowe'en"],
.navigation ul li a i[data-cat-name*="Halloween"] {
  background-image: url(i/icon-nav-5.svg);
}

.navigation ul li a i[data-cat-name*="History"] {
  background-image: url(i/icon-nav-6.svg);
}

.navigation ul li a i[data-cat-name*="Language"] {
  background-image: url(i/icon-nav-8.svg);
}

.navigation ul li a i[data-cat-name*="Math"] {
  background-image: url(i/icon-nav-9.svg);
}

.navigation ul li a i[data-cat-name*="Periodic Table"] {
  background-image: url(i/icon-nav-10.svg);
}

.navigation ul li a i[data-cat-name*="Boggle"] {
  background-image: url(i/icon-nav-11.svg);
}

.navigation ul li a i[data-cat-name*="Science"] {
  background-image: url(i/icon-nav-12.svg);
}

.navigation ul li a i[data-cat-name*="Puzzle Types"] {
  background-image: url(i/icon-nav-13.svg);
}

.navigation ul li a i[data-cat-name*="Thanksgiving"] {
  background-image: url(i/icon-thanksgiving.svg);
}




.header {
    background-color: #fff;
    border-top: 15px solid var(--red);
}

.header .container,
.footer .container,
.copyright .container {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.header .brand {
    margin: -10px 0 2px;
}

.header .brand a {
  display: inline-block;
  filter: grayscale(0);
}

.header .brand a:hover,
.header .brand a:focus {
  filter: grayscale(1);
}

.navigation {
  background-color: var(--dark);
}

.navigation ul {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: stretch;
  align-items: stretch;
  justify-content: space-between;
  -webkit-flex: nowrap;
  -ms-flex: nowrap;
  flex: nowrap;
}

.navigation ul li {
}

.navigation ul li a {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  font-size: 1.35rem;
  color: #fff;
  text-decoration: none;
  padding: 25px 15px;
  height: 100%;
  background-color: transparent;
}

.navigation ul li .active a,
.navigation ul li a:hover,
.navigation ul li a:focus {
  background-color: var(--red);
}

.navigation ul li a i {
  width: 42px;
  opacity: 0.8;
  height: 42px;
  display: block;
  margin: 0 auto 15px;
}

.footer {
  background-color: #231f20;
  padding: 45px 0;
  margin: 0;
}


.footer ul.menu li {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  border: none;
  position: relative;
}

.footer ul.menu li:after {
  content: '';
  position: absolute;
  top: 5px;
  bottom: 5px;
  right: -16px;
  margin: auto;
  width: 1px;
  background-color: #443f40;
  display: block;
}

.footer ul.menu li:last-child:after {
  display: none;
}

.footer ul.menu li a {
  color: #fff;
  font-size: 1.55rem;

}

.footer ul.menu li a:hover,
.footer ul.menu li a:focus {
  text-decoration: underline;
}

.footer ul.menu {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: stretch;
    align-items: stretch;
    justify-content: flex-end;
    margin: 0;
}

.footer section {
    text-align: right;
}

.footer section p {
    color: #fff;
    font-size: 2.292rem;
    font-weight: 500;
    margin: 0 0 7px;
}

.footer .brand a { filter: grayscale(0); opacity: 1; }
.footer .brand a:hover, .footer .brand a:focus { filter: grayscale(1); opacity: 0.75; }

.copyright p, .copyright ul {
    margin: 0;
    font-size: 1.5rem;
}

.copyright {
    background-color: #111;
    color: #fff;
    border-top: 1px solid #413b3c;
    padding: 32px 0;
}

.copyright p span { color: #8c8385; }

.copyright p a { color: #ff677a; text-decoration: underline; }
.copyright p a:hover, .copyright p a:focus { color: #fff; }

.icon-facebook, .icon-instagram, .icon-pinterest { width: 30px; height: 30px; }

ul.social {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: flex-end;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
}

.copyright ul.social li i {
    width: 26px;
    height: 26px;
    filter: brightness(10);
    transition: all 0.3s;
}

.copyright ul.social li a:hover, .copyright ul.social li a:focus {
    opacity: 0.5;
}

ul.social li {
    margin-left: 16px;
}

main#page-wrapper {
    width: auto;
    background-color: #fff;

    /*
    background: #ffffff;
    background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 365px, #f0f0f0 365px, #f0f0f0 100%);
    background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 365px,#f0f0f0 365px,#f0f0f0 100%);
    background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 365px,#f0f0f0 365px,#f0f0f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0',GradientType=0 );
    */
}

main#page-wrapper .bg-white { padding: 60px 0;}

main#page-wrapper #top .container.inline {
  width: auto;
  max-width: unset;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

main#page-wrapper #top .social a:hover,
main#page-wrapper #top .social a:focus {
  opacity: 0.8;
  filter: grayscale(1);
}

main#page-wrapper #top form input[name="q"] {
    background-color: #f4f4f4 !important;
    background-image: url(i/icon-search.svg) !important;
    padding: 15px 20px 15px 45px !important;
    text-indent: 0 !important;
    border-radius: 0 !important;
    width: 265px !important;
    font-size: 1.6rem;
    border: 1px solid #f4f4f4 !important;
    background-position: 15px center !important;
    letter-spacing: 0 !important;
    line-height: unset !important;
    transition: all 0.3s !important;
    color: #000!important;
    font-weight: 500 !important;
}

main#page-wrapper #top form input[name="q"]:hover,
main#page-wrapper #top form input[name="q"]:focus,
main#page-wrapper #top form input[name="q"]:active {
  border: 1px solid var(--red) !important;
}

::-webkit-input-placeholder { top: 0px !important; }

main#page-wrapper #top form button {
    background-color: var(--dark);
    text-indent: -9999px;
    display: inline-block;
    width: 52px;
    height: 52px !important;
    margin-left: -3px;
    transition: all 0.3s;
    background-image: url(i/icon-arrow-right.svg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: 20px;
    background-size: 20px;
    cursor: pointer;
}

main#page-wrapper #top form button:hover,
main#page-wrapper #top form button:focus {
  background-color: var(--red);
}

main#page-wrapper #top .container section#puzzle-content {
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  margin: 60px 0 0;
}

main#page-wrapper #top .container {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: flex-start;
    align-items: flex-start;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

main#page-wrapper #top .container .ads {
    max-width: 180px;
    -webkit-flex: 0 0 180px;
    -ms-flex: 0 0 180px;
    flex: 0 0 180px;
}

main#page-wrapper #top .container .container.inline {
    -webkit-flex: 0 0 calc(100% - 550px);
    -ms-flex: 0 0 calc(100% - 550px);
    flex: 0 0 calc(100% - 509px);
    max-width: calc(100% - 509px);
}

#aboutcontent {
    padding: 0;
}

#puzzle-content h1:first-child,
#puzzle-content h2:first-child, #midcolheader h2, #aboutcontent h2, .worksheettextlink {
    font-size: 3.2rem;
    display: block;
    margin: 0 0 30px;
    letter-spacing: 0.25px;
}

/*main#page-wrapper #top .container section#puzzle-content b:first-child {
  margin: 0 0 10px;
}

 */

#aboutcontent p {
    font-size: 1.7rem;
    line-height: 1.5;
    text-align: left;
}

#aboutcontent p a {
    color: var(--red);
    text-decoration: underline;
}

#aboutcontent p a:hover, #aboutcontent p a:focus {
    color: #000;
}

#midcolheader {
    text-align: center;
    margin: 70px 0 40px;
    padding: 70px 0 0;
    border-top: 4px solid #eee;
}

#midcolheader h2 {
  margin: 0 0 30px;
  display: block;
}

#midcolheader h2 + p {
  color: #7f7779;
  line-height: 1.1;
  font-size: 1.9rem;
}

#puzzle-content #grid {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: flex-start;
    align-items: flex-start;
    justify-content: space-evenly;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#puzzle-content #grid #gridcol1,
#puzzle-content #grid #gridcol2 {

  margin: 0 0 35px;
  width: auto;
  max-width: 32%;
  -webkit-flex: 0 0 32%;
  -ms-flex: 0 0 32%;
  flex: 0 0 32%;
    overflow:hidden;
}

#puzzle-content #grid #gridcol2 table, #puzzle-content #grid #gridcol2 table * {
    display: block;
    margin-bottom: 0px;
}

#puzzle-content #grid #gridcol2 img {
    margin: 0 auto;
}

#puzzle-content #grid #gridcol2 table tr:nth-child(2) a {
    display: block;
}

#puzzle-content #grid #gridcol2 {
    position: relative;
    background-color: #fff;
    height: auto;
    border-bottom: 0;
}

#puzzle-content #grid #gridcol2 table tr:nth-child(1) td {
    position: absolute;
    z-index: 99;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
}

#puzzle-content #grid #gridcol2 table tr:nth-child(1) td a {
    background: var(--dark);
    width: 100%;
    display: block;
    color: #fff;
    font-weight: 700;
    font-size: 1.7rem;
    padding: 22px 10px 18px;
}
#puzzle-content #grid #gridcol2 table tr:nth-child(2) td a {
  display: block;
  padding: 15px 0;
  transition: all 0.3s;
  border: 2px solid var(--dark);

}
#puzzle-content #grid #gridcol2 table tr:nth-child(2) td a:hover,#puzzle-content #grid #gridcol2 table tr:nth-child(2) td a:focus {
  border-color: var(--red);
}
#puzzle-content #grid #gridcol2 table tr:nth-child(1) td span {
    display: block;
    width: 100%;
}


#puzzle-content #grid #gridcol2:hover table tr:nth-child(1) td a {
    background: var(--red);
}

#puzzle-content #grid .midcolheader {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin: 30px auto 60px;
}

#aboutcontent p + #grid {
    margin-top: 20px;
}

p {
    font-size: 1.75rem;
    line-height: 1.75;
}

main#page-wrapper #top .container section#puzzle-content h2 + p b {
    font-size: inherit !important;
    font-weight: bold;
    display: inline !important;
}

main#page-wrapper #top .container .ads section {
  margin-bottom: 5px;
}

.nav-open {display: none; -webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;}
.nav-open span { margin-right: 6px; }
.nav-open span:before {content: 'Open ';}
.nav-open.active span:before {content: 'Close ';}
.nav-open.active:after {
  display: block;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 1px;
  font-size: 12px;
  color: #eee;
  margin: 4px 0 0;
  content: 'Swipe up/down to view more puzzle categories!';
}

div#gridcol3,
div#sheet-downloadable {
    -webkit-flex: 0 0 63%;
    -ms-flex: 0 0 63%;
    flex: 0 0 63%;
    max-width: 63%;
    text-align: center;
}

div#gridcol3 {
  text-align: left;
}

.the-sheet > a {
    display: inline-block;
    border: 2px solid;
    margin: 0 0 20px;
}

.the-sheet > a:hover, .the-sheet > a:focus {
    border-color: var(--red);
}

.wstl a:hover,
.wstl a:focus {
  color: var(--red);
}

.subcatlist li a {
    background: #f9f9f9;
    display: block;
    text-align: left;
    font-size: 2.2rem;
    padding: 15px;
    margin: 0 0 5px;
    line-height: 1.1;
}


.subcatlist li a:hover, .subcatlist li a:focus {
    background: var(--red);
    color: #fff;
}

.subcatheading {
  display: block;
  text-align: left;
    font-size: 22px;
}

.breadcrumb {
    background: #f9f9f9;
    padding: 15px 20px 11px;
    margin: -50px 0 40px;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 500;
}

.breadcrumb a {
    color: var(--red);
    text-decoration: underline;
}

.breadcrumb a:after {content: " > ";color: #999;text-decoration: none;display: inline-block;margin: 0 8px;position: relative;top: -1px;}

.breadcrumb a:last-child:after {
    display: none;
}

.breadcrumb a:last-child {
    color: #000;
    text-decoration: none;
}

.breadcrumb a:hover, .breadcrumb a:focus {
    color: #999;
    text-decoration: underline;
}

#sitemap, #sitemap * {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

#sitemap .SiteMapLevel1 a {
    font-size: 2rem;
    margin: 30px 0 10px;
}

#sitemap .SiteMapLevel2 a {
    background: #f9f9f9;
    padding: 13px 20px 10px;
    border-bottom: 1px solid #eee;
    font-size: 1.7rem;
}

#sitemap .SiteMapLevel1 a:hover, #sitemap .SiteMapLevel1 a:focus {
    color: var(--red);
}

#sitemap .SiteMapLevel2 a:hover, #sitemap .SiteMapLevel2 a:focus,
#sitemap .SiteMapLevel3 a:hover, #sitemap .SiteMapLevel3 a:focus,
#sitemap .SiteMapLevel5 a:hover, #sitemap .SiteMapLevel5 a:focus,
#sitemap .SiteMapLevel4 a:hover, #sitemap .SiteMapLevel4 a:focus {
    background-color: var(--red);
    border-color: rgba(0,0,0,0.2);
    color: #fff;
}

#sitemap .SiteMapLevel3 a {
    background: #eee;
    border-bottom: 1px solid #ddd;
    padding: 11px 40px 9px;
    font-size: 1.5rem;
}

#sitemap .SiteMapLevel5 a,
#sitemap .SiteMapLevel4 a {
    background: #ddd;
    border-bottom: 1px solid #ccc;
    padding: 11px 60px 9px;
    font-size: 1.3rem;
}

#puzzle-content #grid #gridcolfull {
    max-width: 100%;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    text-align: center;
    font-size: 1.1rem;
}

main#page-wrapper #top .container .ads {

}


main#page-wrapper #top .container .ads:after {
  clear: both;
  content: '';
  display: block;
}

main#page-wrapper #top .container section#puzzle-content .simple-content h3 {
    margin: 40px 0 10px;
    font-size: 2.4rem;
}

main#page-wrapper #top .container section#puzzle-content .simple-content p {
    line-height: 1.75;
    margin: 0 0 30px;
}

@media (min-width:1280px) {
    #puzzle-content #grid #gridcolfull {
        margin-left: calc(32% + 10px);
    }
}
.the-sheet {
    margin-bottom: 30px;
}

a.worksheettextlink {
    margin-bottom: 0;
}
