/*
 * eay: 8x8
 * med: 10x10
 * dif: 12x12
 */

.wordsearch-holder {
    float: left;
    width: 50%;
}

.wordsearch-holder.complete-message-shown {
    opacity: 0.3;
}

.wordsearch-grid {
    float: left;
    width: 100%;
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    display: none;
}

.wordsearch-grid.is-shown {
    display: block;
}

.wordsearch-grid .wordsearch-letter {
    float: left;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #F00;
    box-sizing: border-box;
    position: relative;
}

.wordsearch-grid .wordsearch-letter:after {
    content: "";
    clear: both;
}

.wordsearch-grid .wordsearch-letter:before {
    content: "";
    display: block;
    float: left;
    width: 0;
    height: 0;
    padding-bottom: 100%;
}

.wordsearch-grid.easy .wordsearch-letter {
    width: 12.5%;
}

.wordsearch-grid.easy .wordsearch-letter:nth-child(8n+1) {
    clear: left;
}

.wordsearch-grid.medium .wordsearch-letter {
    width: 10%;
}

.wordsearch-grid.medium .wordsearch-letter:nth-child(10n+1) {
    clear: left;
}

.wordsearch-grid.difficult .wordsearch-letter {
    width: 8.333%;
}

.wordsearch-grid.difficult .wordsearch-letter:nth-child(12n+1) {
    clear: left;
}

.wordsearch-grid .wordsearch-letter .letter-holder {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: flex;
    background-color: #FFF;
    align-items: center;
}

.wordsearch-grid .wordsearch-letter .letter-holder.word-found {
    background-color: #8DC63F;
}

.wordsearch-grid .wordsearch-letter .letter-holder.letter-selected {
    background-color: #CBE3A6;
}

.wordsearch-grid .wordsearch-letter .letter-holder p {
    margin: 0;
    text-align: center;
    width: 100%;
    font-size: 30px;
    text-transform: uppercase;
    color: #000;
}


/* wordsearch words */
.wordsearch-words {
    float: left;
    width: 50%;
    padding-right: 20px;
    box-sizing: border-box;
}

.wordsearch-words.complete-message-shown {
    opacity: 0.3;
}

.wordsearch-words p {
    color: #000;
}

.wordsearch-words ul {
    list-style: none;
    width: 100%;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.wordsearch-words ul li {
    width: 50%;
    float: left;
    padding: 8px;
    font-size: 32px;
    text-transform: uppercase;
    box-sizing: border-box;
    position: relative;
    padding-left: 38px;
    color: #000;
}

.wordsearch-words ul li:first-of-type {
    display: none;
}

.wordsearch-words ul li.is-found {
    background-color: #8DC63F;
}

.wordsearch-words ul li img {
    position: absolute;
    top: 50%;
    left: 4px;
    margin-top: -13px;
    width: 26px;
    height: auto !important;
    display: none;
}

.wordsearch-words ul li.is-found img {
    display: block;
}

.wordsearch-words ul li:nth-of-type(2n+2) {
    clear: left;
}

.wordsearch-words .chickens-image {
    max-width: 88%;
    margin-top: 30px;
}

/* difficulty choose */
.wordsearch-difficulty {
    float: right;
    clear: left;
    padding-top: 20px;
}

.wordsearch-difficulty p {
    font-style: italic;
    font-size: 22px;
    color: #000;
}

.wordsearch-difficulty p a {
    display: inline-block;
    padding: 6px 15px;
    text-decoration: none;
}

.wordsearch-difficulty p a.is-selected {
    background-color: #F16423;
    color: #FFF;
}

.wordsearch-complete {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 30;
    align-items: center;
    padding: 0 5%;
    background-color: rgba(60, 60, 60, 0.2);
}

.wordsearch-complete-holder {
    position: relative;
}

.wordsearch-complete.is-shown {
    display: flex;
}

.wordsearch-complete img {
    max-width: 50%;
    max-height: 50%;
    float: left;
}

.wordsearch-complete .speech-bubble {
	position: relative;
	background: #FFF;
    box-sizing: border-box;
    padding: 12px;
	border-radius: .4em;
    max-width: 45%;
    margin-left: 5%;
}

.wordsearch-complete .speech-bubble h4 {
    font-size: 2em;
}

.wordsearch-complete .speech-bubble:after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-right-color: #FFF;
	border-left: 0;
	border-top: 0;
	margin-top: -10px;
	margin-left: -20px;
}

/**
 * medium-small break point
 */
@media screen and (max-width: 42em) {
    .wordsearch-holder {
        width: 100%;
    }
    
    .wordsearch-words {
        width: 100%;
    }
    
    .wordsearch-words .chickens-image {
        display: none;
    }
}

/**
 * small break point
 */
@media screen and (max-width: 31.250em) { /** 500px **/
    .wordsearch-complete img {
        max-width: 85%;
    }
    
    .wordsearch-complete .speech-bubble {
        max-width: 95%;
        margin-top: 20px;
    }
}