.so-widget-literature .filter { font-size:0; margin-bottom:60px; text-align:center; }

.so-widget-literature .filter ul { list-style-type:none; margin-bottom:0; padding-left:0; }
.so-widget-literature .filter ul li { display:inline-block; font-size:16px; font-weight:500; line-height:48px; position:relative; text-align:left; }
.so-widget-literature .filter ul li.label { font-size:14px; font-weight:700; letter-spacing:0.1em; margin-right:15px; text-transform:uppercase; }
.so-widget-literature .filter ul li a { border:1px solid #ddd; border-radius:24px; color:#333; display:block; padding:0 30px; text-decoration:none; transition:border-color 0.3s; }
.so-widget-literature .filter ul li a::after { color:#0f2d52; content:'\f107'; font-family:'Font Awesome 5 Pro'; font-weight:400; margin-left:60px; }
.so-widget-literature .filter ul li a:hover, .so-widget-literature .filter ul li.active a { border-color:#ffd200; }

.so-widget-literature .filter .categories { background-color:#fff; border:1px solid #ddd; border-radius:3px; box-shadow:2px 2px 9px rgba(0, 0, 0, 0.1); display:none; margin-top:15px; position:absolute; top:100%; left:50%; min-width:100%; transform:translateX(-50%); z-index:1; }
.so-widget-literature .filter .categories::before, .so-widget-literature .filter .categories::after { border-style:solid; content:''; position:absolute; left:50%; width:0; height:0; }
.so-widget-literature .filter .categories::before { border-color:transparent transparent #ddd transparent; border-width:10px; top:-20px; margin-left:-10px; }
.so-widget-literature .filter .categories::after { border-color:transparent transparent #fff transparent; border-width:9px; top:-18px; margin-left:-9px; }
.so-widget-literature .filter .categories li { display:block; font-size:14px; line-height:1; white-space:nowrap; }
.so-widget-literature .filter .categories li a { border-width:0; border-radius:0; padding:15px; transition:background-color 0.3s, color 0.3s; }
.so-widget-literature .filter .categories li.current a, .so-widget-literature .filter .categories li a:hover { background-color:#0f2d52; color:#fff; }
.so-widget-literature .filter .categories li a::after { content:none; } 

.so-widget-literature .category { border-bottom:1px solid #ddd; margin-bottom:60px; padding-bottom:60px; }
.so-widget-literature .category:last-child { border-bottom-width:0; margin-bottom:0; padding-bottom:0; }

.so-widget-literature .name { color:#0f2d52; font-size:27px; font-weight:700; margin-bottom:45px; }

.so-widget-literature .grid { font-size:0; margin:-45px; }

.so-widget-literature .literature { display:inline-block; padding:45px; text-align:center; vertical-align:top; width:20%; }

.so-widget-literature .image { display:inline-block; margin-bottom:12px; position:relative; transition:transform 0.6s, box-shadow 0.6s; }
.so-widget-literature .image:hover { box-shadow:0 0 15px 3px rgba(0, 0, 0, 0.1); transform:scale(1.025); }
.so-widget-literature .image img { display:block; }
.so-widget-literature .image .links { position:absolute; top:50%; left:50%; opacity:0; transform:translate(-50%, -45%); transition:opacity 0.6s, transform 0.6s; }
.so-widget-literature .image:hover .links { transform:translate(-50%, -50%); opacity:1; }
.so-widget-literature .image .link { color:#0f2d52; font-size:12px; font-weight:700; margin:15px 0; text-align:center; text-transform:uppercase; }
.so-widget-literature .image .link a { background-color:#ffd200; border-radius:50%; color:#0f2d52; display:block; font-size:16px; width:48px; height:48px; line-height:48px; margin:0 auto 6px; transition:transform 0.6s; }
.so-widget-literature .image .link a:hover { transform:scale(1.1); }
.so-widget-literature .image .overlay { background-color:rgba(255, 255, 255, 0.75); backdrop-filter:blur(1px); opacity:0; position:absolute; top:0; left:0; width:100%; height:100%; transition:opacity 0.6s; }
.so-widget-literature .image:hover .overlay { opacity:1; }

.so-widget-literature .title { color:#0f2d52; font-size:14px; font-weight:700; }

.so-widget-literature .request-literature-button { border-bottom:1px solid #ddd; margin-bottom:60px; padding-bottom:60px; text-align:center; }

#request-literature { display:none; max-width:100%; width:900px; }
#request-literature form { margin-bottom:0; }

@media (max-width:1199px) {
	.so-widget-literature .literature { width:33.33%; }
}

@media (max-width:991px) {
	.so-widget-literature .literature { width:50%; }
}

@media (max-width:767px) {
	.so-widget-literature .name { text-align:center; }

	.so-widget-literature .literature { width:100%; }
}