:root {
	--brand:#5688f9;
	--emphasis:#759af7;
}

body {
	font-family:'Segoe UI',sans-serif;
	font-size:1rem;
	background-color:#f1f5fe;
	color:#6c757d;
	cursor:default;
}

a {
	cursor:pointer;
	color:var(--brand);
}
a:hover {
	color:var(--emphasis);
}

.container {
	margin:0 1rem;
}

.m {
	margin-right:0.5em;
}

@media (min-width: 1200px) {
	.container {
		width: 1140px;
		margin:0 auto;
	}
}


/* card */

.column>.card:last-child {
	margin-bottom:0;
}

.card {
	box-shadow: 1px 2px 2px rgba(0,0,0, 0.06);
	margin:1rem 0;
	background-color:#fff;
	transition:box-shadow 0.2s ease;
}

.card.transparent {
	box-shadow:none;
	background-color: transparent;
}

.card:hover {
	background-color:#fff;
	box-shadow: 1px 6px 12px rgba(0,0,0, 0.12);
}

.card-body {
	padding:1.5rem;
}

.card-title {
	display:block;
	font-size:1.5rem;
	padding:1.5rem 1.5rem 0 1.5rem;
	color:#95a6c7;
	font-weight:500;
	margin:0;
}

.card-title a {
	color:inherit;
	text-decoration: none;
	display:block;
}

.card-body p {
	line-height:1.5;
	margin:0;
}
.card-body p:not(:last-child) {
	margin-bottom:1.25rem;
}


/* ip */

.ip {
	background: linear-gradient(-135deg,var(--emphasis),var(--brand));
	color: #fff;
	position: relative;
}

.ip .card-title {
	color:rgba(255, 255, 255, 0.75);
}

#ip-body {
	position: relative;
	z-index: 3;
}

#ip-image {
	position:absolute;
	z-index: 2;
	top:1rem;
	right:1rem;
	width:100px;
	height:100px;
}

#ip-image svg {
	fill:#9eaff6;
	transition:all 0.2s ease;
	width:100%;
	position:relative;
	z-index:1;
}

#ip-image:hover svg {
	fill:#dfe5fc;
}

.ip-address {
	font-size:2.5rem;
	font-weight:600;
	margin:-1rem 0 0 0;
	position: relative;
	z-index:2;
}
@media (min-width: 768px) {
	.ip-address {
		font-size:3rem;
	}
}


.ip h4 {
	font-size:1rem;
	font-weight:500;
	margin:0;
}


/* read-all */

.read-all {
	max-height:25rem;
	overflow:hidden;
	position:relative;
	z-index:1;
}

.read-all:after {
	content: ' ';
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:10rem;
	background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 80%);
	z-index:2;
}

.read-all-action {
	position:absolute;
	bottom:1rem;
	z-index:3;
	left:0;
	right:0;
	text-align:center;
	font-weight:500;
}


/* form */

.form-group label {
	font-weight:500;
	display:block;
	margin-bottom:0.25rem;
}

.form-group input {
	display:block;
	outline:0;
	width:100%;
	padding:0.75em 1em;
	background-color:#fff;
	border:1px solid #c9ccd7;
	box-sizing: border-box;
	transition:border-color 0.2s ease;
}

.form-group input::placeholder {
	opacity:0.5;
}

.form-group input:focus {
	border:1px solid var(--brand);
}

.form-group input.is-invalid {
	border-color: #f00 !important;
	box-shadow: 0 0 5px rgb(255 0 0 / 50%);
}

.form-group {
	margin-bottom:1.5em;
}

.card-body .form-group:last-child {
	margin-bottom: 0.5rem;
}

button {
	border-radius:0;
	border:2px solid #95a6c7;
	height:auto;
	padding:0.75em 1.25em;
	color:#95a6c7;
	text-transform:uppercase;
	background-color:transparent;
	font-weight:500;
	transition:border-color, background-color, padding 0.2s ease;
	position:relative;
	white-space: nowrap;
}

button:hover {
	border-color:var(--brand);
	background-color:var(--brand);
	color:#fff;
	padding-right:2.25rem;
}

button:after {
	position:absolute;
	content:'\2192';
	opacity:0;
	right:1rem;
	transition:opacity 0.1s ease;
}
button:hover:after {
	opacity:1;
}

.button-center {
	text-align:center;
	margin:2rem 0;
}


/* calc */

.calc {
	margin:2.5rem 4rem;
}

.calc .card {
	position:relative;
}

.calc .columns:first-child .card {
	margin-top:0;
}


.calc .card-icon {
	width:40px;
	position:absolute;
	display:block;
	left:1.5rem;
	top:calc(1.5rem + 4px);
}

.calc .card-title, .calc .card-body {
	padding-left:calc(1.5rem + 40px + 1.5rem);
}

.calc .card-body {
	padding-top:1rem;
}

@media (max-width: 1000px) {
	.calc {
		margin-left:0;
		margin-right:0;
	}

	.calc .card-icon {
		position:static;
		margin-left:auto;
		margin-right:auto;
		left:auto;
		top:auto;
		padding-top:calc(1.5rem + 4px);
	}

	.calc .card-title, .calc .card-body {
		padding-left:0.5rem;
		padding-right:0.5rem;
		text-align:center;
	}

}


/* header */

header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:54px;
	background-color:#1b233a;
	z-index:9998;
	box-shadow:0 6px 20px rgba(0,0,0, 0.12);
}

label[for=hamburger] input[type=checkbox] {
	display:none;
}

label[for=hamburger] {
	position: relative;
	margin-left: 8px;
	padding: 6px 8px 8px 8px;
	display: block;
	width: 25px;
	cursor: pointer;
}

label[for=hamburger] u {
	border:0;
	display: block;
    height: 3px;
    background-color: white;
    width: 100%;
    margin-top: 8px;
}

.menu {
	position:fixed;
	display:block;
	top:0;
	left:-100%;
	bottom:0;
	width:100%;
	transition:all 0.2s ease;
	cursor:default;
	opacity:0.0;
}

label[for=hamburger] input:checked + .menu {
	left:0;
	opacity:1;
}

label[for=hamburger] input:checked + .menu ul {
	background-color:green import !important;
}

.menu ul {
	list-style-type:none;
	padding:0;
	width:300px;
	background:#1b233a;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:0;
	box-shadow: 1px 6px 20px rgba(0,0,0, 0.2);
}

.menu a {
	color:rgba(255,255,255, 0.9);
	text-decoration:none;
	display:block;
	padding:1rem 1.5rem;
	line-height:1.5rem;
}

.menu a:hover {
	background-color:rgba(255,255,255, 0.1);
	color:#fff;
}

.menu .dismiss {
	position:relative;
	height:3.5rem;
}
.menu .dismiss span {
	display:block;
	height:1.5rem;
	position:absolute;
	top:1rem;
	right:1.5rem;
	width:1.5rem;
	cursor:pointer;
}

.menu .dismiss span:after {
	content: '';
	display:block;
	position:absolute;
	transform: rotate(45deg);
	width:2px;
	height:100%;
	background-color: rgba(255,255,255, 0.8);
	left:0.75rem;
}
.menu .dismiss span:before {
	content: '';
	display:block;
	position:absolute;
	transform: rotate(-45deg);
	width:2px;
	height:100%;
	background-color: rgba(255,255,255, 0.8);
	left:0.75rem;
}

.menu .dismiss:hover span:after,
.menu .dismiss:hover span:before {
	background-color:#fff;
}

/* main */

main {
	padding:calc(54px + 1.5rem) 0 2rem 0;
	box-shadow: 1px 6px 20px rgba(0,0,0, 0.06);
}

/* footer */

footer {
	padding:2rem 0;
	color:#959a9f;
	font-size:0.83333rem;
	text-align:center;
}

footer a {
	color:#959a9f;
	transition:color 0.2s ease;
}

footer a:hover {
	color:#080c0f;
}


/* columns */

.columns {
	display:flex;
	flex-wrap: wrap;
}

.column {
	box-sizing: border-box;
}

/*@media (min-width: 820px) {*/
.columns {
	margin-left:-0.5rem;
	margin-right:-0.5rem;
}
.column {
	padding:0 0.5rem;
}

.two.columns .column {
	max-width:50%;
	flex: 1 0 50%;
}
.two.columns .large.column {
	max-width:75%;
	flex: 1 0 75%;
}
.two.columns .short.column {
	max-width:25%;
	flex: 1 0 25%;
}

.three.columns .column {
	max-width:33.33333%;
	flex: 1 0 33.33333%;
}



@media (max-width: 768px) {
	.responsive.columns .column {
		width:50%;
		max-width:50%;
		flex:none;
	}
}

@media (max-width: 534px) {
	.responsive.columns .column {
		width:100%;
		max-width:100%;
		flex:none;
	}
}

/* table */

table {
	width:100%;
	margin-top:-0.5rem;
}

table th {
	font-weight:500;
}

table th, table td {
	text-align:center;
	border-bottom:1px solid rgba(201, 204, 215, 0.5);
	padding:0.75rem .5rem;
}


/* calc */

.cc {
	border-radius:0.2rem;
	padding:0 0.2rem;
}

.cc-address {
	color:#313a46;
	background-color:#eef2f7;
	border:1px solid #eaebed;
}

.cc-binary {
	background-color:#e3e5fd;
	color:#444a93;
	border:1px solid #d5d8fc;
}

.cc-result {
	color:#067c5b;
	background-color:#cef5ea;
	border:1px solid #b6f1e0;
}

.cc-mask {
	color: #997100;
	background-color: #fff2cc;
	border:1px solid #ffebb3;
}

.cc-wc {
	color: #96374a;
	background-color: #fedee5;
	border:1px solid #feced8;
}


/* cookies */

.cookies {
	z-index:9999;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(128,128,128,0.5);
	display:flex;
	align-items:center;
}

.cookies .card {
	text-align:center;
	max-width:500px;
	margin:0 auto;
}

@media (max-width: 540px) {
	.cookies .card {
		margin:0 20px;
		width:100%;
	}
}

.cookies p {
	margin-top:0;
	margin-bottom:1.5rem;
}