:lang(en) a[id|=IPv4menutxt]:after {
	content: 'IPv4';
}
:lang(en) a[id|=IPv6menutxt]:after {
	content: 'IPv6';
}
:lang(en) a[id|=IPv6cmenutxt]:after {
	content: 'IPV6 condensed';
}
:lang(en) a[id|=IPv6amenutxt]:after {
	content: 'IPV6 mixed notation';
}
:lang(en) #maintitle:after {
   content:'IP subnet calculator IPv4 & IPv6';
}
:lang(en) #theoptions:after {
   content:'';
}
:lang(en) #panelcalculationtxt:after {
   content:'calculator';
}
:lang(en) #theme_default:after {
   content:'initial theme';
}
:lang(en) #theme_modern:after {
   content:'modern theme';
}
:lang(en) #theme_classic:after {
   content:'classic theme';
}
:lang(en) #theme_dark:after {
   content:'dark theme';
}
:lang(en) #theme_grey:after {
   content:'grey theme';
}
:lang(en) #theme_paw:after {
   content:'paw theme';
}
:lang(en) #theme_linqgrey:after {
   content:'LinQ grey theme';
}
:lang(en) #theme_linqlight:after {
   content:'Light theme';
}
:lang(en) #theme_linqdark:after {
   content:'Dark theme';
}
:lang(en) #theme_linqauto:after {
   content:'Auto theme';
}
:lang(en) #theme_linqglasslight:after {
   content:'Glass Light Theme (early)';
}
:lang(en) #reinit:after {
content:'re-init ';
}
:lang(en) #reinitialize:after {
content:'Reinitialize Calculator';
}
:lang(en) label[id|=iplabel]:before{
content: 'IP';
}
:lang(en) label[id|=netmasklabel]:before{
content: 'netmask';
}
:lang(en) label[id|=subnetlabel]:before{
content: 'subnet';
}
:lang(en) label[id|=bitslabel]:before{
content: 'bits';
}
:lang(en) label[id|=hostnbrlabel]:before{
content: 'hosts #';
}
:lang(en) label[id|=ipnbrlabel]:before{
content: 'IP #';
}
:lang(en) label[id|=broadcastlabel]:before{
content: 'broadcast';
}
:lang(en) label[id|=binarybroadcastlabel]:before{
content: 'broadcast';
}
:lang(en) label[id|=hostfromlabel]:before{
content: 'Host from';
}
:lang(en) label[id|=hosttolabel]:before{
content: 'Host to';
}
:lang(en) label[id|=binaryhostfromlabel]:before{
content: 'Host from';
}
:lang(en) label[id|=binaryhosttolabel]:before{
content: 'Host to';
}
:lang(en) label[id|=binaryiplabel]:before{
content: 'IP';
}
:lang(en) label[id|=binarynetmasklabel]:before{
content: 'netmask';
}
:lang(en) label[id|=binarysubnetlabel]:before{
content: 'subnet';
}
:lang(en) label[id|=binarybitslabel]:before{
content: 'bits';
}
:lang(en) label[id|=historylabel]:before{
content: 'history';
}
:lang(en) span[id|=paneltext]:after{
content: 'Text format';
}
:lang(en) span[id|=panelbinary]:after{
content: 'Binary Information';
}
:lang(en) span[id|=panelinfo]:after{
content: 'Information';
}

:lang(en) span[id|=panelexample]:after{
content: 'Example';
}
:lang(en) label[id|=binaryreversenetmasklabel]:before{
content: 'wildcardmask';
}
:lang(en) label[id|=reversenetmasklabel]:before{
content: 'wildcardmask';
}
:lang(en) #textipbtn:after {
content:'import text';
}
:lang(en) #infobinnatbtn.hidetxt:after {
content:'more info about binary super- and subnetting';
}
:lang(en) #infobinnatbtn.showtxt:after {
content:'hide info about binary super- and subnetting';
}
:lang(en) #infoIPv6btn.hidetxt:after {
content:'more info about IPv6';
}
:lang(en) #infoIPv6btn.showtxt:after {
content:'hide info about IPv6';
}
:lang(en) label[id|=ipv4example_1]:after{
content: 'Class A';
}
:lang(en) label[id|=ipv4example_2]:after{
content: 'Class B';
}
:lang(en) label[id|=ipv4example_3]:after{
content: 'Class C';
}
:lang(en) label[id|=ipv4example_4]:after{
content: 'Multicast';
}
:lang(en) label[id|=ipv4example_5]:after{
content: 'loopback';
}
:lang(en) label[id|=ipv4example_6]:after{
content: 'private range A';
}
:lang(en) label[id|=ipv4example_7]:after{
content: 'private range B';
}
:lang(en) label[id|=ipv4example_8]:after{
content: 'private range C';
}
:lang(en) label[id|=ipv4example_9]:after{
content: 'APIPA / Link-Local';
}
:lang(en) label[id|=ipv4example_10]:after{
content: 'Carrier-grade NAT';
}
:lang(en) label[id|=ipv6example2_1]:after{
content: 'Loopback Address';
}
:lang(en) label[id|=ipv6example2_2]:after{
content: 'Unspecified Address';
}
:lang(en) label[id|=ipv6example2_3]:after{
content: 'IPv4-mapped Address';
}
:lang(en) label[id|=ipv6example2_4]:after{
content: 'IPv4-IPv6 Translation 1';
}
:lang(en) label[id|=ipv6example2_5]:after{
content: 'IPv4-IPv6 Translation 2';
}
:lang(en) label[id|=ipv6example_1]:after{
content: 'reserved';
}
:lang(en) label[id|=ipv6example_2]:after{
content: 'loopback';
}
:lang(en) label[id|=ipv6example_3]:after{
content: 'internet first addresses';
}
:lang(en) label[id|=ipv6example_4]:after{
content: 'internet new official';
}
:lang(en) label[id|=ipv6example_5]:after{
content: 'internet routing IPv6 to IPV4';
}
:lang(en) label[id|=ipv6example_6]:after{
content: 'multicast mDNSv6';
}
:lang(en) label[id|=ipv6example_7]:after{
content: 'multicast';
}
:lang(en) label[id|=ipv6example_8]:after{
content: 'Link-local unicast';
}
:lang(en) label[id|=ipv6example_9]:after{
content: 'Site-local unicast';
}
:lang(en) label[id|=ipv6example_10]:after{
content: 'local IPv4 to IPv6';
}
:lang(en) label[id|=ipv6example_11]:after{
content: '6bone (for backbone research)';
}
:lang(en) label[id|=ipv6example_12]:after{
content: 'multicast subnet';
}
:lang(en) label[id|=ipv6example_13]:after{
content: 'multicast routers';
}
:lang(en) label[id|=ipv6example_14]:after{
content: 'undefined IP';
}
:lang(en) label[id|=ipv6example_15]:after{
content: 'IPv6 condensed';
}
:lang(en) label[id|=ipv6example_16]:after{
content: 'IPv6 alternative';
}
:lang(en) label[id|=ipv6example_17]:after{
content: 'IPv6 condensed per company';
}
:lang(en) label[id|=ipv6example_18]:after{
content: 'IPv6 not condensed';
}
:lang(en) span[class~=infoIP4_00]:before{
content: 'IP version 4  aaa.bbb.ccc.ddd where aaa, bbb, ccc, ddd are numbers between 0 and 255.';
}
:lang(en) span[class~=infoIP4_01]:before{
content: 'private class A 10.x.x.x';
}
:lang(en) span[class~=infoIP4_02]:before{
content: 'private class B 172.16.x.x 172.31.x.x';
}
:lang(en) span[class~=infoIP4_03]:before{
content: 'private class C 192.168.x.x';
}
:lang(en) span[class~=infoIP4_04]:before{
content: 'class A from 1.x.x.x 127.x.x.x';
}
:lang(en) span[class~=infoIP4_05]:before{
content: 'class B from 128.x.x.x 191.x.x.x';
}
:lang(en) span[class~=infoIP4_06]:before{
content: 'class C from 192.x.x.x 223.x.x.x';
}
:lang(en) span[class~=infoIP4_07]:before{
content: 'multicast 224.x.x.x 239.x.x.x';
}
:lang(en) span[class~=infoIP4_08]:before{
content: 'other     240.x.x.x 255.x.x.x';
}
:lang(en) span[class~=infoIP4_09]:before{
content: 'localhost 127.x.x.x';
}
:lang(en) span[class~=infoIP4_10]:before{
content: 'Shared Address reserved for Carrier-grade NAT 100.64.x.x 100.127.x.x RFC 6598';
}
:lang(en) span[class~=infoIP4_11]:before{
content: 'Link Local / APIPA 169.254.x.x RFC 5735';
}
:lang(en) span[class~=infoIP6_00]:before{
content: 'reserved & Loopback=::1 & any=::';
}
:lang(en) span[class~=infoIP6_01]:before{
content: 'Unassigned.';
}
:lang(en) span[class~=infoIP6_02]:before{
content: 'Reserved for NSAP Allocation, Prefix(binary)=0000 001 .';
}
:lang(en) span[class~=infoIP6_03]:before{
content: 'Reserved for IPX Allocation, Prefix(binary)=0000 010 .';
}
:lang(en) span[class~=infoIP6_04]:before{
content: "'2000::/3' actually allocated IPv6 address for internet. '2000::/16' before the official begin 2001. '2001::/16' after 2001. '2002::/16' for routing IPv6 to IPv4 on the internet.";
}
:lang(en) span[class~=infoIP6_05]:before{
content: 'Multicast. FF00::/8 (FF00:: to FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF).';
}
:lang(en) span[class~=infoIP6_06]:before{
content: 'Unique Local Unicast subnet. Unique Local Addresses (ULA) are intern IPs. FC00::/7. For example for tunnel connection.';
}
:lang(en) span[class~=infoIP6_07]:before{
content: 'Link-Local-Adressen. FE80::/10. Between network devices.';
}
:lang(en) span[class~=infoIP6_08]:before{
content: '6bone "3ffe::/16" for research in IPv6 backbone.';
}
:lang(en) span[class~=infoIP6_09]:before{
content: 'IP reserved for future usage.';
}
:lang(en) span[class~=infoIP6_10]:before{
content: 'FF01::1, FF02::1 IPv6 broadcast. All devices should answer. FF01::/8 are Node-Local Scope Multicast Addresses. FF02::/8 Link-Local Scope Multicast Addresses.';
}
:lang(en) span[class~=infoIP6_11]:before{
content: 'FF01::2, FF02::2, FF05::1  all routers IPs should answer. FF01::/8 are Node-Local Scope Multicast Addresses. FF02::/8 Link-Local Scope Multicast Addresses.';
}
:lang(en) span[class~=infoIP6_12]:before{
content: '::/128 is the undefined IPv6. Used when IPv6 does not exist or showing an issue.';
}
:lang(en) span[class~=info2IP6_00]:before{
content: 'localhost ::1 RFC 4291';
}
:lang(en) span[class~=info2IP6_01]:before{
content: 'ipv6 range (unspecified) :: RFC 4291';
}
:lang(en) span[class~=info2IP6_02]:before{
content: 'ipv6 mixed notation range yz::FFFF:x:x RFC 4291';
}
:lang(en) span[class~=info2IP6_03]:before{
content: 'ipv4-to-ipv6 translation (traffic) range 64:ff9b::/96 RFC 6052';
}
:lang(en) span[class~=info2IP6_04]:before{
content: 'ipv4-to-ipv6 translation (traffic) range 64:ff9b:1::/48 RFC 8215';
}
:lang(en) span[class~=info2IP6_05]:before{
content: 'discard-only address block 100::/64 RFC 6666';
}
:lang(en) span[class~=info2IP6_06]:before{
content: 'IETF Protocol Assignments 2001::/23 RFC 2928';
}
:lang(en) span[class~=info2IP6_07]:before{
content: 'TEREDO 2001::/32 RFC 4380, 8190';
}
:lang(en) span[class~=info2IP6_08]:before{
content: 'Port Control Protocol Anycast 2001:1::1/128 RFC 7723';
}
:lang(en) span[class~=info2IP6_09]:before{
content: 'Traversal Using Relays around NAT Anycast 2001:1::2/128 RFC 8155';
}
:lang(en) span[class|=fillinfotxtresultsubnet]:before{
content: 'subnet';
}